You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cmda.apache.org by xi...@apache.org on 2015/09/09 00:43:36 UTC

[01/49] incubator-cmda git commit: remove all

Repository: incubator-cmda
Updated Branches:
  refs/heads/master 48259f3a1 -> a8965336a


http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/jstree/style.min.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/jstree/style.min.css b/public/stylesheets/jstree/style.min.css
deleted file mode 100644
index 4440528..0000000
--- a/public/stylesheets/jstree/style.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-h
 idden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;-moz-box-shadow:5px 5px 4px -4px #666;-webkit-box-shadow:2px 2px 2px #999;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-r
 ight ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none;display:inline}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;-moz-text-shadow:1px 1px 0 #fff;-webkit-text-shadow:1px 1px 0 #fff;text-shadow:1px 1px 0 #fff;-moz-border-radius:1px;-webkit-border-radius:1px;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;-moz-box-shadow:0 0 2px #0a6aa1;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;-moz-box-shadow:0 0 2px #0a6aa1;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2p
 x #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;-moz-text-shadow:0 0 0 transparent;-webkit-text-shadow:0 0 0 transparent;text-shadow:0 0 0 transparent;-moz-box-shadow:0 0 0 transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;widt
 h:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid tr
 ansparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:0 0;color:#666}.jstree-default .jstree-disabled.jstree-hovered{ba
 ckground:0 0;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-click
 ed.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-moz-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#beebff),color-stop(100%,#a8e4ff));background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-o-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-ms-linear-gradient(top,#beebff 0
 ,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url(32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-defau
 lt>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:0 0}.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196
 px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-defau
 lt.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -6
 8px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url(32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>
 .jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:0 0}.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-cli
 cked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small
 .jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{ma
 rgin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{
 width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url(32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.j
 stree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:0 0}.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large>.jstree-striped{
 background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0
  -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-la
 rge.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-responsive .j
 stree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.j
 stree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{backgrou
 nd:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:r
 epeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/jstree/throbber.gif
----------------------------------------------------------------------
diff --git a/public/stylesheets/jstree/throbber.gif b/public/stylesheets/jstree/throbber.gif
deleted file mode 100644
index 1b5b2fd..0000000
Binary files a/public/stylesheets/jstree/throbber.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/livefitler.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/livefitler.css b/public/stylesheets/livefitler.css
deleted file mode 100644
index 3dc4ced..0000000
--- a/public/stylesheets/livefitler.css
+++ /dev/null
@@ -1,58 +0,0 @@
-#liveFilter {
-    width: 800px;
-    border-radius: 5px;
-    -moz-border-radius: 5px;
-    background: #fff;
-    font: normal 10px Verdana, Arial, Helvetica, sans-serif;
-}
-#liveFilter .liveFilterContainer {
-    border: solid 1px #ccc;
-    padding: 6px;
-    background: #f5f5f5;
-}
-#liveFilter .liveFilterContainer .liveFilterInput {
-    border: solid 1px #ccc;
-    padding: 4px 30px 4px 4px;
-    font-size: 16px;
-    color: #666;
-}
-#liveFilter .liveFilterContainer .liveFilterInput.default {
-    color: #ccc;
-    font-style: italic;
-}
-#liveFilter .liveFilterContainer .clearField {
-    background: #80bce8;
-    width: 20px;
-    padding: 0 6px 3px 6px;
-    color: #fff;
-    text-decoration: none;
-    line-height: 0;
-    font-weight: bold;
-}
-#liveFilter .liveFilterList {
-    width: 600px;
-    border: solid 1px #ccc;
-    border-top: 0;
-}
-#liveFilter .liveFilterList tr th:first-child, #liveFilter .liveFilterList tr td:first-child {
-    padding-left: 5px;
-}
-#liveFilter .liveFilterList tr th {
-    text-align: left;
-    padding: 3px 0;
-}
-#liveFilter .liveFilterList tr td {
-    border-top: solid 1px #eee;
-    padding: 3px 0;
-    color: #333;
-}
-#liveFilter .clearField {
-    display: none;
-}
-#liveFilter .noResults {
-    display: none;
-    padding: 10px;
-    color: #fff;
-    background: #982929;
-    margin: 2px;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/main.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/main.css b/public/stylesheets/main.css
deleted file mode 100644
index 13040a1..0000000
--- a/public/stylesheets/main.css
+++ /dev/null
@@ -1,8 +0,0 @@
-table
-{
-border-collapse:collapse;
-}
-table,th, td
-{
-border: 1px solid black;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/navbar-fixed-top.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/navbar-fixed-top.css b/public/stylesheets/navbar-fixed-top.css
deleted file mode 100644
index bffb51d..0000000
--- a/public/stylesheets/navbar-fixed-top.css
+++ /dev/null
@@ -1,4 +0,0 @@
-body {
-  min-height: 500px;
-  padding-top: 90px;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/style.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css
deleted file mode 100644
index eb41f70..0000000
--- a/public/stylesheets/style.css
+++ /dev/null
@@ -1,39 +0,0 @@
-/* tables */
-table.tablesorter {
-	font-family:arial;
-	background-color: #CDCDCD;
-	margin:10px 0pt 15px;
-	font-size: 8pt;
-	width: 100%;
-	text-align: left;
-}
-table.tablesorter thead tr th, table.tablesorter tfoot tr th {
-	background-color: #e6EEEE;
-	border: 1px solid #FFF;
-	font-size: 8pt;
-	padding: 4px;
-}
-table.tablesorter thead tr .header {
-	background-image: url(bg.gif);
-	background-repeat: no-repeat;
-	background-position: center right;
-	cursor: pointer;
-}
-table.tablesorter tbody td {
-	color: #3D3D3D;
-	padding: 4px;
-	background-color: #FFF;
-	vertical-align: top;
-}
-table.tablesorter tbody tr.odd td {
-	background-color:#F0F0F6;
-}
-table.tablesorter thead tr .headerSortUp {
-	background-image: url(asc.gif);
-}
-table.tablesorter thead tr .headerSortDown {
-	background-image: url(desc.gif);
-}
-table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp {
-background-color: #8dbdd8;
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/visualsearch-datauri.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/visualsearch-datauri.css b/public/stylesheets/visualsearch-datauri.css
deleted file mode 100644
index 51f2a32..0000000
--- a/public/stylesheets/visualsearch-datauri.css
+++ /dev/null
@@ -1 +0,0 @@
-.VS-search .VS-icon{background-repeat:no-repeat;background-position:center center;vertical-align:middle;width:16px;height:16px}.VS-search .VS-icon-cancel{width:11px;height:11px;background-position:center 0;background-image:url("data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAWCAYAAAAW5GZjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAb9JREFUeNqUUr1qAkEQ3j0khQp6kihaeGgEEa18gTQR0iRY+BaBSMDGwidIEUKqFL6BopgqBAJ5AMFGjUU0d4WHEvwJarvZ77gRIzGYgb1hZr+Z75vZ40IIzqTNZrPj8Xicn0wmmcViEXS73aaqqq+BQODG6/W+A8MBNk3zfDAY3C6Xy0O2ZS6X6zMSiVwHg8FHLjtq7Xb7RQKj7BeTzVCgJ5PJU2U0GhUk7REuMpkMi8fjFggeMeecrVYrFRId0CgTAgDDMFg4HLbA8IjJgHNgGEr0er0fQIphUmZAwdSUADUB4RFDsz3oSMF6CLzZkQqgGebz+Z75dDqNdTqdp13bgDmdTj2VSp0oWHg0Gr2UNH2Z/9o+yMv7K4/HY/C/XhDUfr//jl7QQVT9fp/V63VWqVRYt9tliUSCZbPZg1wux9Lp9PqFeK1Wu9A0DdXz7YM87i0FrVZLs4Fi1wmFQh/NZjOmVKvVgq7rR/QflMtlixGedjwcDlUpMQ9tbzalkAAB2/R297mNW+sT2wUbUnA//V/nYrH4QOBNABUQuFQq3TNMuc82sDVrz41G42yvPeODAwZQ0QzwiJEnzLcAAwBJ6WXlwoBgZAAAAABJRU5ErkJggg==");cursor
 :pointer}.VS-search .VS-icon-cancel:hover{background-position:center -11px}.VS-search .VS-icon-search{width:12px;height:12px;background-image:url("data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUZJREFUeNpUUM2qgmAQzS8NiUgLzTIXLZQW1QuI9AY9QPSW9gQ9QiriwpJQEBVrVWT2d7p2L9xZzDdzZs7M+YYqy/J8Ptu2vd/v4zgeDAaqqk4mE47jar9GnU6nzWbjOA5FUa/Xq0Jns9l8Pud5vkpp58cwAOzhcBhFkeu6GNztdg3D+Db5vo9nOp2iiWGYTqdDCMFe4LquI0aVpGmKR9M0lmUbjQY8YiBJklTb4YkoilBzOBzq9TogeMQIJEmqmlAlo9EIyXa7tSyrKAp4xEBkWUb5q2k8Hh+PR8/zwjCEgufz+aESstvtoKnVan2GgY31kBkEAfT1ej1FUZDiNIIgrFYr9H1ug3teLpfH43G/3/FBUJGu1+s8z8FZLpc0mmiabrfbf5fEumazuVgsTNO8Xq+3242qRNT+G0CMz7IMzH6//xZgAA60tj6rqzxpAAAAAElFTkSuQmCC")}.VS-search div,.VS-search span,.VS-search a,.VS-search img,.VS-search ul,.VS-search li,.VS-search form,.VS-search label,.VS-interface ul,.VS-interface li,.VS-interface{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-s
 ize:100%;font-family:inherit;vertical-align:baseline}.VS-search :focus{outline:0}.VS-search{line-height:1;color:black}.VS-search ol,.VS-search ul{list-style:none}.VS-search{font-family:Arial,sans-serif;color:#373737;font-size:12px}.VS-search input{display:block;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:none;margin:0;padding:4px;background:transparent;font-size:16px;line-height:20px;width:100%}.VS-interface,.VS-search .dialog,.VS-search input{font-family:"Lucida Grande","Lucida Sans Unicode",Helvetica,Arial,sans-serif!important;line-height:1.1em}.VS-search .VS-search-box{cursor:text;position:relative;background:transparent;border:2px solid #ccc;border-radius:16px;-webkit-border-radius:16px;-moz-border-radius:16px;background-color:#fafafa;-webkit-box-shadow:inset 0 0 3px #ccc;-moz-box-shadow:inset 0 0 3px #ccc;box-shadow:inset 0 0 3px #ccc;min-height:28px;height:auto}.VS-search.VS-readonly .VS-search-box{cursor:default}.VS-search .VS-search-box.V
 S-focus{border-color:#acf;-webkit-box-shadow:inset 0 0 3px #acf;-moz-box-shadow:inset 0 0 3px #acf;box-shadow:inset 0 0 3px #acf}.VS-search .VS-placeholder{position:absolute;top:7px;left:4px;margin:0 20px 0 22px;color:#808080;font-size:14px}.VS-search .VS-search-box.VS-focus .VS-placeholder,.VS-search .VS-search-box .VS-placeholder.VS-hidden{display:none}.VS-search .VS-search-inner{position:relative;margin:0 20px 0 22px;overflow:hidden}.VS-search input{width:100px}.VS-search input,.VS-search .VS-input-width-tester{padding:6px 0;float:left;color:#808080;font:13px/17px Helvetica,Arial}.VS-search.VS-focus input{color:#606060}.VS-search .VS-icon-search{position:absolute;left:9px;top:8px}.VS-search .VS-icon-cancel{position:absolute;right:9px;top:8px}.VS-search.VS-readonly .VS-icon-cancel{display:none}.VS-search .search_facet{float:left;margin:0;padding:0 0 0 14px;position:relative;border:1px solid transparent;height:20px;margin:3px -3px 3px 0}.VS-search.VS-readonly .search_facet{padding-
 left:0}.VS-search .search_facet.is_selected{margin-left:-3px;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;background-color:#d2e6fd;background-image:-moz-linear-gradient(top,#d2e6fd,#b0d1f9);background-image:-webkit-gradient(linear,left top,left bottom,from(#d2e6fd),to(#b0d1f9));background-image:linear-gradient(top,#d2e6fd,#b0d1f9);border:1px solid #6eadf5}.VS-search .search_facet .category{float:left;text-transform:uppercase;font-weight:bold;font-size:10px;color:#808080;padding:8px 0 5px;line-height:13px;cursor:pointer;padding:4px 0 0}.VS-search.VS-readonly .search_facet .category{cursor:default}.VS-search .search_facet.is_selected .category{margin-left:3px}.VS-search .search_facet .search_facet_input_container{float:left}.VS-search .search_facet input{margin:0;padding:0;color:#000;font-size:13px;line-height:16px;padding:5px 0 5px 4px;height:16px;width:auto;z-index:100;position:relative;padding-top:1px;padding-bottom:2px;padding-right:3px}.VS-search .search_
 facet.is_editing input,.VS-search .search_facet.is_selected input{color:#000}.VS-search.VS-readonly .search_facet .search_facet_remove{display:none}.VS-search .search_facet .search_facet_remove{position:absolute;left:0;top:4px}.VS-search .search_facet.is_selected .search_facet_remove{opacity:.4;left:3px;filter:alpha(opacity=40);background-position:center -11px}.VS-search .search_facet .search_facet_remove:hover{opacity:1}.VS-search .search_facet.is_editing .category,.VS-search .search_facet.is_selected .category{color:#000}.VS-search .search_facet.search_facet_maybe_delete .category,.VS-search .search_facet.search_facet_maybe_delete input{color:darkred}.VS-search .search_input{height:28px;float:left;margin-left:-1px}.VS-search .search_input input{padding:6px 3px 6px 2px;line-height:10px;height:22px;margin-top:-4px;width:10px;z-index:100;min-width:4px;position:relative}.VS-search .search_input.is_editing input{color:#202020}.ui-helper-hidden-accessible{display:none}.VS-interface.ui-a
 utocomplete{position:absolute;border:1px solid #C0C0C0;border-top:1px solid #D9D9D9;background-color:#F6F6F6;cursor:pointer;z-index:10000;padding:0;margin:0;width:auto;min-width:80px;max-width:220px;max-height:240px;overflow-y:auto;overflow-x:hidden;font-size:13px;top:5px;opacity:.97;box-shadow:3px 4px 5px -2px rgba(0,0,0,0.5);-webkit-box-shadow:3px 4px 5px -2px rgba(0,0,0,0.5);-moz-box-shadow:3px 4px 5px -2px rgba(0,0,0,0.5)}.VS-interface.ui-autocomplete .ui-autocomplete-category{text-transform:capitalize;font-size:11px;padding:4px 4px 4px;border-top:1px solid #A2A2A2;border-bottom:1px solid #A2A2A2;background-color:#B7B7B7;text-shadow:0 -1px 0 #999;font-weight:bold;color:white;cursor:default}.VS-interface.ui-autocomplete .ui-menu-item{float:none}.VS-interface.ui-autocomplete .ui-menu-item a{color:#000;outline:none;display:block;padding:3px 4px 5px;border-radius:none;line-height:1;background-color:#F8F8F8;background-image:-moz-linear-gradient(top,#F8F8F8,#F3F3F3);background-image:-
 webkit-gradient(linear,left top,left bottom,from(#F8F8F8),to(#F3F3F3));background-image:linear-gradient(top,#F8F8F8,#F3F3F3);border-top:1px solid #FAFAFA;border-bottom:1px solid #f0f0f0}.VS-interface.ui-autocomplete .ui-menu-item a:active{outline:none}.VS-interface.ui-autocomplete .ui-menu-item .ui-state-hover,.VS-interface.ui-autocomplete .ui-menu-item .ui-state-focus{background-color:#6483F7;background-image:-moz-linear-gradient(top,#648bF5,#2465f3);background-image:-webkit-gradient(linear,left top,left bottom,from(#648bF5),to(#2465f3));background-image:linear-gradient(top,#648bF5,#2465f3);border-top:1px solid #5b83ec;border-bottom:1px solid #1459e9;border-left:none;border-right:none;color:white;margin:0}.VS-interface.ui-autocomplete .ui-corner-all{border-radius:0}.VS-interface.ui-autocomplete li{list-style:none;width:auto}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/visualsearch.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/visualsearch.css b/public/stylesheets/visualsearch.css
deleted file mode 100644
index fb6449b..0000000
--- a/public/stylesheets/visualsearch.css
+++ /dev/null
@@ -1 +0,0 @@
-.VS-search .VS-icon{background-repeat:no-repeat;background-position:center center;vertical-align:middle;width:16px;height:16px}.VS-search .VS-icon-cancel{width:11px;height:11px;background-position:center 0;background-image:url(../images/embed/icons/cancel_search.png?1311104738);cursor:pointer}.VS-search .VS-icon-cancel:hover{background-position:center -11px}.VS-search .VS-icon-search{width:12px;height:12px;background-image:url(../images/embed/icons/search_glyph.png?1311104738)}.VS-search div,.VS-search span,.VS-search a,.VS-search img,.VS-search ul,.VS-search li,.VS-search form,.VS-search label,.VS-interface ul,.VS-interface li,.VS-interface{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}.VS-search :focus{outline:0}.VS-search{line-height:1;color:black}.VS-search ol,.VS-search ul{list-style:none}.VS-search{font-family:Arial,sans-serif;color:#373737;font-size:12px}.VS-search input{display:block;bo
 rder:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:none;margin:0;padding:4px;background:transparent;font-size:16px;line-height:20px;width:100%}.VS-interface,.VS-search .dialog,.VS-search input{font-family:"Lucida Grande","Lucida Sans Unicode",Helvetica,Arial,sans-serif!important;line-height:1.1em}.VS-search .VS-search-box{cursor:text;position:relative;background:transparent;border:2px solid #ccc;border-radius:16px;-webkit-border-radius:16px;-moz-border-radius:16px;background-color:#fafafa;-webkit-box-shadow:inset 0 0 3px #ccc;-moz-box-shadow:inset 0 0 3px #ccc;box-shadow:inset 0 0 3px #ccc;min-height:28px;height:auto}.VS-search.VS-readonly .VS-search-box{cursor:default}.VS-search .VS-search-box.VS-focus{border-color:#acf;-webkit-box-shadow:inset 0 0 3px #acf;-moz-box-shadow:inset 0 0 3px #acf;box-shadow:inset 0 0 3px #acf}.VS-search .VS-placeholder{position:absolute;top:7px;left:4px;margin:0 20px 0 22px;color:#808080;font-size:14px}.VS-search .VS-search-b
 ox.VS-focus .VS-placeholder,.VS-search .VS-search-box .VS-placeholder.VS-hidden{display:none}.VS-search .VS-search-inner{position:relative;margin:0 20px 0 22px;overflow:hidden}.VS-search input{width:100px}.VS-search input,.VS-search .VS-input-width-tester{padding:6px 0;float:left;color:#808080;font:13px/17px Helvetica,Arial}.VS-search.VS-focus input{color:#606060}.VS-search .VS-icon-search{position:absolute;left:9px;top:8px}.VS-search .VS-icon-cancel{position:absolute;right:9px;top:8px}.VS-search.VS-readonly .VS-icon-cancel{display:none}.VS-search .search_facet{float:left;margin:0;padding:0 0 0 14px;position:relative;border:1px solid transparent;height:20px;margin:3px -3px 3px 0}.VS-search.VS-readonly .search_facet{padding-left:0}.VS-search .search_facet.is_selected{margin-left:-3px;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;background-color:#d2e6fd;background-image:-moz-linear-gradient(top,#d2e6fd,#b0d1f9);background-image:-webkit-gradient(linear,left top
 ,left bottom,from(#d2e6fd),to(#b0d1f9));background-image:linear-gradient(top,#d2e6fd,#b0d1f9);border:1px solid #6eadf5}.VS-search .search_facet .category{float:left;text-transform:uppercase;font-weight:bold;font-size:10px;color:#808080;padding:8px 0 5px;line-height:13px;cursor:pointer;padding:4px 0 0}.VS-search.VS-readonly .search_facet .category{cursor:default}.VS-search .search_facet.is_selected .category{margin-left:3px}.VS-search .search_facet .search_facet_input_container{float:left}.VS-search .search_facet input{margin:0;padding:0;color:#000;font-size:13px;line-height:16px;padding:5px 0 5px 4px;height:16px;width:auto;z-index:100;position:relative;padding-top:1px;padding-bottom:2px;padding-right:3px}.VS-search .search_facet.is_editing input,.VS-search .search_facet.is_selected input{color:#000}.VS-search.VS-readonly .search_facet .search_facet_remove{display:none}.VS-search .search_facet .search_facet_remove{position:absolute;left:0;top:4px}.VS-search .search_facet.is_selected 
 .search_facet_remove{opacity:.4;left:3px;filter:alpha(opacity=40);background-position:center -11px}.VS-search .search_facet .search_facet_remove:hover{opacity:1}.VS-search .search_facet.is_editing .category,.VS-search .search_facet.is_selected .category{color:#000}.VS-search .search_facet.search_facet_maybe_delete .category,.VS-search .search_facet.search_facet_maybe_delete input{color:darkred}.VS-search .search_input{height:28px;float:left;margin-left:-1px}.VS-search .search_input input{padding:6px 3px 6px 2px;line-height:10px;height:22px;margin-top:-4px;width:10px;z-index:100;min-width:4px;position:relative}.VS-search .search_input.is_editing input{color:#202020}.ui-helper-hidden-accessible{display:none}.VS-interface.ui-autocomplete{position:absolute;border:1px solid #C0C0C0;border-top:1px solid #D9D9D9;background-color:#F6F6F6;cursor:pointer;z-index:10000;padding:0;margin:0;width:auto;min-width:80px;max-width:220px;max-height:240px;overflow-y:auto;overflow-x:hidden;font-size:13px
 ;top:5px;opacity:.97;box-shadow:3px 4px 5px -2px rgba(0,0,0,0.5);-webkit-box-shadow:3px 4px 5px -2px rgba(0,0,0,0.5);-moz-box-shadow:3px 4px 5px -2px rgba(0,0,0,0.5)}.VS-interface.ui-autocomplete .ui-autocomplete-category{text-transform:capitalize;font-size:11px;padding:4px 4px 4px;border-top:1px solid #A2A2A2;border-bottom:1px solid #A2A2A2;background-color:#B7B7B7;text-shadow:0 -1px 0 #999;font-weight:bold;color:white;cursor:default}.VS-interface.ui-autocomplete .ui-menu-item{float:none}.VS-interface.ui-autocomplete .ui-menu-item a{color:#000;outline:none;display:block;padding:3px 4px 5px;border-radius:none;line-height:1;background-color:#F8F8F8;background-image:-moz-linear-gradient(top,#F8F8F8,#F3F3F3);background-image:-webkit-gradient(linear,left top,left bottom,from(#F8F8F8),to(#F3F3F3));background-image:linear-gradient(top,#F8F8F8,#F3F3F3);border-top:1px solid #FAFAFA;border-bottom:1px solid #f0f0f0}.VS-interface.ui-autocomplete .ui-menu-item a:active{outline:none}.VS-interfac
 e.ui-autocomplete .ui-menu-item .ui-state-hover,.VS-interface.ui-autocomplete .ui-menu-item .ui-state-focus{background-color:#6483F7;background-image:-moz-linear-gradient(top,#648bF5,#2465f3);background-image:-webkit-gradient(linear,left top,left bottom,from(#648bF5),to(#2465f3));background-image:linear-gradient(top,#648bF5,#2465f3);border-top:1px solid #5b83ec;border-bottom:1px solid #1459e9;border-left:none;border-right:none;color:white;margin:0}.VS-interface.ui-autocomplete .ui-corner-all{border-radius:0}.VS-interface.ui-autocomplete li{list-style:none;width:auto}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/sbt.deb
----------------------------------------------------------------------
diff --git a/sbt.deb b/sbt.deb
deleted file mode 100644
index 6622715..0000000
Binary files a/sbt.deb and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/test/ApplicationTest.java
----------------------------------------------------------------------
diff --git a/test/ApplicationTest.java b/test/ApplicationTest.java
deleted file mode 100644
index 31918cb..0000000
--- a/test/ApplicationTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import org.junit.*;
-
-import play.mvc.*;
-import play.test.*;
-import play.data.DynamicForm;
-import play.data.validation.ValidationError;
-import play.data.validation.Constraints.RequiredValidator;
-import play.i18n.Lang;
-import play.libs.F;
-import play.libs.F.*;
-
-import static play.test.Helpers.*;
-import static org.fest.assertions.Assertions.*;
-
-
-/**
-*
-* Simple (JUnit) tests that can call all parts of a play app.
-* If you are interested in mocking a whole application, see the wiki for more details.
-*
-*/
-public class ApplicationTest {
-
-    @Test
-    public void simpleCheck() {
-        int a = 1 + 1;
-        assertThat(a).isEqualTo(2);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/test/IntegrationTest.java
----------------------------------------------------------------------
diff --git a/test/IntegrationTest.java b/test/IntegrationTest.java
deleted file mode 100644
index 3837186..0000000
--- a/test/IntegrationTest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-import org.junit.*;
-
-import play.mvc.*;
-import play.test.*;
-import play.libs.F.*;
-
-import static play.test.Helpers.*;
-import static org.fest.assertions.Assertions.*;
-
-import static org.fluentlenium.core.filter.FilterConstructor.*;
-
-public class IntegrationTest {
-
-    /**
-     * add your integration test here
-     * in this example we just check if the welcome page is being shown
-     */
-    @Test
-    public void test() {
-        running(testServer(3333, fakeApplication(inMemoryDatabase())), HTMLUNIT, new Callback<TestBrowser>() {
-            public void invoke(TestBrowser browser) {
-                browser.goTo("http://localhost:3333");
-                assertThat(browser.pageSource()).contains("Sensor Data Platform");
-            }
-        });
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/tmpfiles/.gitkeep
----------------------------------------------------------------------
diff --git a/tmpfiles/.gitkeep b/tmpfiles/.gitkeep
deleted file mode 100644
index e69de29..0000000



[03/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/bootstrap.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/bootstrap.css b/public/stylesheets/bootstrap.css
deleted file mode 100644
index 849e2aa..0000000
--- a/public/stylesheets/bootstrap.css
+++ /dev/null
@@ -1,5777 +0,0 @@
-/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
-.ex2 {
-    table-layout: fixed;
-}
-html {
-  font-family: sans-serif;
-  -ms-text-size-adjust: 100%;
-  -webkit-text-size-adjust: 100%;
-}
-body {
-  margin: 0;
-}
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-main,
-nav,
-section,
-summary {
-  display: block;
-}
-audio,
-canvas,
-progress,
-video {
-  display: inline-block;
-  vertical-align: baseline;
-}
-audio:not([controls]) {
-  display: none;
-  height: 0;
-}
-[hidden],
-template {
-  display: none;
-}
-a {
-  background: transparent;
-}
-a:active,
-a:hover {
-  outline: 0;
-}
-abbr[title] {
-  border-bottom: 1px dotted;
-}
-b,
-strong {
-  font-weight: bold;
-}
-dfn {
-  font-style: italic;
-}
-h1 {
-  font-size: 2em;
-  margin: 0.67em 0;
-}
-mark {
-  background: #ff0;
-  color: #000;
-}
-small {
-  font-size: 80%;
-}
-sub,
-sup {
-  font-size: 75%;
-  line-height: 0;
-  position: relative;
-  vertical-align: baseline;
-}
-sup {
-  top: -0.5em;
-}
-sub {
-  bottom: -0.25em;
-}
-img {
-  border: 0;
-}
-svg:not(:root) {
-  overflow: hidden;
-}
-figure {
-  margin: 1em 40px;
-}
-hr {
-  -moz-box-sizing: content-box;
-  box-sizing: content-box;
-  height: 0;
-}
-pre {
-  overflow: auto;
-}
-code,
-kbd,
-pre,
-samp {
-  font-family: monospace, monospace;
-  font-size: 1em;
-}
-button,
-input,
-optgroup,
-select,
-textarea {
-  color: inherit;
-  font: inherit;
-  margin: 0;
-}
-button {
-  overflow: visible;
-}
-button,
-select {
-  text-transform: none;
-}
-button,
-html input[type="button"],
-input[type="reset"],
-input[type="submit"] {
-  -webkit-appearance: button;
-  cursor: pointer;
-}
-button[disabled],
-html input[disabled] {
-  cursor: default;
-}
-button::-moz-focus-inner,
-input::-moz-focus-inner {
-  border: 0;
-  padding: 0;
-}
-input {
-  line-height: normal;
-}
-input[type="checkbox"],
-input[type="radio"] {
-  box-sizing: border-box;
-  padding: 0;
-}
-input[type="number"]::-webkit-inner-spin-button,
-input[type="number"]::-webkit-outer-spin-button {
-  height: auto;
-}
-input[type="search"] {
-  -webkit-appearance: textfield;
-  -moz-box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-  box-sizing: content-box;
-}
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-decoration {
-  -webkit-appearance: none;
-}
-fieldset {
-  border: 1px solid #c0c0c0;
-  margin: 0 2px;
-  padding: 0.35em 0.625em 0.75em;
-}
-legend {
-  border: 0;
-  padding: 0;
-}
-textarea {
-  overflow: auto;
-}
-optgroup {
-  font-weight: bold;
-}
-table {
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-td,
-th {
-  padding: 0;
-}
-@media print {
-  * {
-    text-shadow: none !important;
-    color: #000 !important;
-    background: transparent !important;
-    box-shadow: none !important;
-  }
-  a,
-  a:visited {
-    text-decoration: underline;
-  }
-  a[href]:after {
-    content: " (" attr(href) ")";
-  }
-  abbr[title]:after {
-    content: " (" attr(title) ")";
-  }
-  a[href^="javascript:"]:after,
-  a[href^="#"]:after {
-    content: "";
-  }
-  pre,
-  blockquote {
-    border: 1px solid #999;
-    page-break-inside: avoid;
-  }
-  thead {
-    display: table-header-group;
-  }
-  tr,
-  img {
-    page-break-inside: avoid;
-  }
-  img {
-    max-width: 100% !important;
-  }
-  p,
-  h2,
-  h3 {
-    orphans: 3;
-    widows: 3;
-  }
-  h2,
-  h3 {
-    page-break-after: avoid;
-  }
-  select {
-    background: #fff !important;
-  }
-  .navbar {
-    display: none;
-  }
-  .table td,
-  .table th {
-    background-color: #fff !important;
-  }
-  .btn > .caret,
-  .dropup > .btn > .caret {
-    border-top-color: #000 !important;
-  }
-  .label {
-    border: 1px solid #000;
-  }
-  .table {
-    border-collapse: collapse !important;
-  }
-  .table-bordered th,
-  .table-bordered td {
-    border: 1px solid #ddd !important;
-  }
-}
-* {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
-*:before,
-*:after {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
-html {
-  font-size: 62.5%;
-  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-body {
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 14px;
-  line-height: 1.42857143;
-  color: #333333;
-  background-color: #ffffff;
-}
-input,
-button,
-select,
-textarea {
-  font-family: inherit;
-  font-size: inherit;
-  line-height: inherit;
-}
-a {
-  color: #428bca;
-  text-decoration: none;
-}
-a:hover,
-a:focus {
-  color: #2a6496;
-  text-decoration: underline;
-}
-a:focus {
-  outline: thin dotted;
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-figure {
-  margin: 0;
-}
-img {
-  vertical-align: middle;
-}
-.img-responsive,
-.thumbnail > img,
-.thumbnail a > img,
-.carousel-inner > .item > img,
-.carousel-inner > .item > a > img {
-  display: block;
-  max-width: 100%;
-  height: auto;
-}
-.img-rounded {
-  border-radius: 6px;
-}
-.img-thumbnail {
-  padding: 4px;
-  line-height: 1.42857143;
-  background-color: #ffffff;
-  border: 1px solid #dddddd;
-  border-radius: 4px;
-  -webkit-transition: all 0.2s ease-in-out;
-  transition: all 0.2s ease-in-out;
-  display: inline-block;
-  max-width: 100%;
-  height: auto;
-}
-.img-circle {
-  border-radius: 50%;
-}
-hr {
-  margin-top: 20px;
-  margin-bottom: 20px;
-  border: 0;
-  border-top: 1px solid #eeeeee;
-}
-.sr-only {
-  position: absolute;
-  width: 1px;
-  height: 1px;
-  margin: -1px;
-  padding: 0;
-  overflow: hidden;
-  clip: rect(0, 0, 0, 0);
-  border: 0;
-}
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-.h1,
-.h2,
-.h3,
-.h4,
-.h5,
-.h6 {
-  font-family: inherit;
-  font-weight: 500;
-  line-height: 1.1;
-  color: inherit;
-}
-h1 small,
-h2 small,
-h3 small,
-h4 small,
-h5 small,
-h6 small,
-.h1 small,
-.h2 small,
-.h3 small,
-.h4 small,
-.h5 small,
-.h6 small,
-h1 .small,
-h2 .small,
-h3 .small,
-h4 .small,
-h5 .small,
-h6 .small,
-.h1 .small,
-.h2 .small,
-.h3 .small,
-.h4 .small,
-.h5 .small,
-.h6 .small {
-  font-weight: normal;
-  line-height: 1;
-  color: #999999;
-}
-h1,
-.h1,
-h2,
-.h2,
-h3,
-.h3 {
-  margin-top: 20px;
-  margin-bottom: 10px;
-}
-h1 small,
-.h1 small,
-h2 small,
-.h2 small,
-h3 small,
-.h3 small,
-h1 .small,
-.h1 .small,
-h2 .small,
-.h2 .small,
-h3 .small,
-.h3 .small {
-  font-size: 65%;
-}
-h4,
-.h4,
-h5,
-.h5,
-h6,
-.h6 {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-h4 small,
-.h4 small,
-h5 small,
-.h5 small,
-h6 small,
-.h6 small,
-h4 .small,
-.h4 .small,
-h5 .small,
-.h5 .small,
-h6 .small,
-.h6 .small {
-  font-size: 75%;
-}
-h1,
-.h1 {
-  font-size: 36px;
-}
-h2,
-.h2 {
-  font-size: 30px;
-}
-h3,
-.h3 {
-  font-size: 24px;
-}
-h4,
-.h4 {
-  font-size: 18px;
-}
-h5,
-.h5 {
-  font-size: 14px;
-}
-h6,
-.h6 {
-  font-size: 12px;
-}
-p {
-  margin: 0 0 10px;
-}
-.lead {
-  margin-bottom: 20px;
-  font-size: 16px;
-  font-weight: 200;
-  line-height: 1.4;
-}
-@media (min-width: 768px) {
-  .lead {
-    font-size: 21px;
-  }
-}
-small,
-.small {
-  font-size: 85%;
-}
-cite {
-  font-style: normal;
-}
-.text-left {
-  text-align: left;
-}
-.text-right {
-  text-align: right;
-}
-.text-center {
-  text-align: center;
-}
-.text-justify {
-  text-align: justify;
-}
-.text-muted {
-  color: #999999;
-}
-.text-primary {
-  color: #428bca;
-}
-a.text-primary:hover {
-  color: #3071a9;
-}
-.text-success {
-  color: #3c763d;
-}
-a.text-success:hover {
-  color: #2b542c;
-}
-.text-info {
-  color: #31708f;
-}
-a.text-info:hover {
-  color: #245269;
-}
-.text-warning {
-  color: #8a6d3b;
-}
-a.text-warning:hover {
-  color: #66512c;
-}
-.text-danger {
-  color: #a94442;
-}
-a.text-danger:hover {
-  color: #843534;
-}
-.bg-primary {
-  color: #fff;
-  background-color: #428bca;
-}
-a.bg-primary:hover {
-  background-color: #3071a9;
-}
-.bg-success {
-  background-color: #dff0d8;
-}
-a.bg-success:hover {
-  background-color: #c1e2b3;
-}
-.bg-info {
-  background-color: #d9edf7;
-}
-a.bg-info:hover {
-  background-color: #afd9ee;
-}
-.bg-warning {
-  background-color: #fcf8e3;
-}
-a.bg-warning:hover {
-  background-color: #f7ecb5;
-}
-.bg-danger {
-  background-color: #f2dede;
-}
-a.bg-danger:hover {
-  background-color: #e4b9b9;
-}
-.page-header {
-  padding-bottom: 9px;
-  margin: 40px 0 20px;
-  border-bottom: 1px solid #eeeeee;
-}
-ul,
-ol {
-  margin-top: 0;
-  margin-bottom: 10px;
-}
-ul ul,
-ol ul,
-ul ol,
-ol ol {
-  margin-bottom: 0;
-}
-.list-unstyled {
-  padding-left: 0;
-  list-style: none;
-}
-.list-inline {
-  padding-left: 0;
-  list-style: none;
-  margin-left: -5px;
-}
-.list-inline > li {
-  display: inline-block;
-  padding-left: 5px;
-  padding-right: 5px;
-}
-dl {
-  margin-top: 0;
-  margin-bottom: 20px;
-}
-dt,
-dd {
-  line-height: 1.42857143;
-}
-dt {
-  font-weight: bold;
-}
-dd {
-  margin-left: 0;
-}
-@media (min-width: 768px) {
-  .dl-horizontal dt {
-    float: left;
-    width: 160px;
-    clear: left;
-    text-align: right;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-  }
-  .dl-horizontal dd {
-    margin-left: 180px;
-  }
-}
-abbr[title],
-abbr[data-original-title] {
-  cursor: help;
-  border-bottom: 1px dotted #999999;
-}
-.initialism {
-  font-size: 90%;
-  text-transform: uppercase;
-}
-blockquote {
-  padding: 10px 20px;
-  margin: 0 0 20px;
-  font-size: 17.5px;
-  border-left: 5px solid #eeeeee;
-}
-blockquote p:last-child,
-blockquote ul:last-child,
-blockquote ol:last-child {
-  margin-bottom: 0;
-}
-blockquote footer,
-blockquote small,
-blockquote .small {
-  display: block;
-  font-size: 80%;
-  line-height: 1.42857143;
-  color: #999999;
-}
-blockquote footer:before,
-blockquote small:before,
-blockquote .small:before {
-  content: '\2014 \00A0';
-}
-.blockquote-reverse,
-blockquote.pull-right {
-  padding-right: 15px;
-  padding-left: 0;
-  border-right: 5px solid #eeeeee;
-  border-left: 0;
-  text-align: right;
-}
-.blockquote-reverse footer:before,
-blockquote.pull-right footer:before,
-.blockquote-reverse small:before,
-blockquote.pull-right small:before,
-.blockquote-reverse .small:before,
-blockquote.pull-right .small:before {
-  content: '';
-}
-.blockquote-reverse footer:after,
-blockquote.pull-right footer:after,
-.blockquote-reverse small:after,
-blockquote.pull-right small:after,
-.blockquote-reverse .small:after,
-blockquote.pull-right .small:after {
-  content: '\00A0 \2014';
-}
-blockquote:before,
-blockquote:after {
-  content: "";
-}
-address {
-  margin-bottom: 20px;
-  font-style: normal;
-  line-height: 1.42857143;
-}
-code,
-kbd,
-pre,
-samp {
-  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
-}
-code {
-  padding: 2px 4px;
-  font-size: 90%;
-  color: #c7254e;
-  background-color: #f9f2f4;
-  white-space: nowrap;
-  border-radius: 4px;
-}
-kbd {
-  padding: 2px 4px;
-  font-size: 90%;
-  color: #ffffff;
-  background-color: #333333;
-  border-radius: 3px;
-  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-pre {
-  display: block;
-  padding: 9.5px;
-  margin: 0 0 10px;
-  font-size: 13px;
-  line-height: 1.42857143;
-  word-break: break-all;
-  word-wrap: break-word;
-  color: #333333;
-  background-color: #f5f5f5;
-  border: 1px solid #cccccc;
-  border-radius: 4px;
-}
-pre code {
-  padding: 0;
-  font-size: inherit;
-  color: inherit;
-  white-space: pre-wrap;
-  background-color: transparent;
-  border-radius: 0;
-}
-.pre-scrollable {
-  max-height: 340px;
-  overflow-y: scroll;
-}
-.container {
-  margin-right: auto;
-  margin-left: auto;
-  padding-left: 15px;
-  padding-right: 15px;
-}
-@media (min-width: 768px) {
-  .container {
-    width: 750px;
-  }
-}
-@media (min-width: 992px) {
-  .container {
-    width: 970px;
-  }
-}
-@media (min-width: 1200px) {
-  .container {
-    width: 1170px;
-  }
-}
-.container-fluid {
-  margin-right: auto;
-  margin-left: auto;
-  padding-left: 15px;
-  padding-right: 15px;
-}
-.row {
-  margin-left: -15px;
-  margin-right: -15px;
-}
-.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
-  position: relative;
-  min-height: 1px;
-  padding-left: 15px;
-  padding-right: 15px;
-}
-.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
-  float: left;
-}
-.col-xs-12 {
-  width: 100%;
-}
-.col-xs-11 {
-  width: 91.66666667%;
-}
-.col-xs-10 {
-  width: 83.33333333%;
-}
-.col-xs-9 {
-  width: 75%;
-}
-.col-xs-8 {
-  width: 66.66666667%;
-}
-.col-xs-7 {
-  width: 58.33333333%;
-}
-.col-xs-6 {
-  width: 50%;
-}
-.col-xs-5 {
-  width: 41.66666667%;
-}
-.col-xs-4 {
-  width: 33.33333333%;
-}
-.col-xs-3 {
-  width: 25%;
-}
-.col-xs-2 {
-  width: 16.66666667%;
-}
-.col-xs-1 {
-  width: 8.33333333%;
-}
-.col-xs-pull-12 {
-  right: 100%;
-}
-.col-xs-pull-11 {
-  right: 91.66666667%;
-}
-.col-xs-pull-10 {
-  right: 83.33333333%;
-}
-.col-xs-pull-9 {
-  right: 75%;
-}
-.col-xs-pull-8 {
-  right: 66.66666667%;
-}
-.col-xs-pull-7 {
-  right: 58.33333333%;
-}
-.col-xs-pull-6 {
-  right: 50%;
-}
-.col-xs-pull-5 {
-  right: 41.66666667%;
-}
-.col-xs-pull-4 {
-  right: 33.33333333%;
-}
-.col-xs-pull-3 {
-  right: 25%;
-}
-.col-xs-pull-2 {
-  right: 16.66666667%;
-}
-.col-xs-pull-1 {
-  right: 8.33333333%;
-}
-.col-xs-pull-0 {
-  right: 0%;
-}
-.col-xs-push-12 {
-  left: 100%;
-}
-.col-xs-push-11 {
-  left: 91.66666667%;
-}
-.col-xs-push-10 {
-  left: 83.33333333%;
-}
-.col-xs-push-9 {
-  left: 75%;
-}
-.col-xs-push-8 {
-  left: 66.66666667%;
-}
-.col-xs-push-7 {
-  left: 58.33333333%;
-}
-.col-xs-push-6 {
-  left: 50%;
-}
-.col-xs-push-5 {
-  left: 41.66666667%;
-}
-.col-xs-push-4 {
-  left: 33.33333333%;
-}
-.col-xs-push-3 {
-  left: 25%;
-}
-.col-xs-push-2 {
-  left: 16.66666667%;
-}
-.col-xs-push-1 {
-  left: 8.33333333%;
-}
-.col-xs-push-0 {
-  left: 0%;
-}
-.col-xs-offset-12 {
-  margin-left: 100%;
-}
-.col-xs-offset-11 {
-  margin-left: 91.66666667%;
-}
-.col-xs-offset-10 {
-  margin-left: 83.33333333%;
-}
-.col-xs-offset-9 {
-  margin-left: 75%;
-}
-.col-xs-offset-8 {
-  margin-left: 66.66666667%;
-}
-.col-xs-offset-7 {
-  margin-left: 58.33333333%;
-}
-.col-xs-offset-6 {
-  margin-left: 50%;
-}
-.col-xs-offset-5 {
-  margin-left: 41.66666667%;
-}
-.col-xs-offset-4 {
-  margin-left: 33.33333333%;
-}
-.col-xs-offset-3 {
-  margin-left: 25%;
-}
-.col-xs-offset-2 {
-  margin-left: 16.66666667%;
-}
-.col-xs-offset-1 {
-  margin-left: 8.33333333%;
-}
-.col-xs-offset-0 {
-  margin-left: 0%;
-}
-@media (min-width: 768px) {
-  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
-    float: left;
-  }
-  .col-sm-12 {
-    width: 100%;
-  }
-  .col-sm-11 {
-    width: 91.66666667%;
-  }
-  .col-sm-10 {
-    width: 83.33333333%;
-  }
-  .col-sm-9 {
-    width: 75%;
-  }
-  .col-sm-8 {
-    width: 66.66666667%;
-  }
-  .col-sm-7 {
-    width: 58.33333333%;
-  }
-  .col-sm-6 {
-    width: 50%;
-  }
-  .col-sm-5 {
-    width: 41.66666667%;
-  }
-  .col-sm-4 {
-    width: 33.33333333%;
-  }
-  .col-sm-3 {
-    width: 25%;
-  }
-  .col-sm-2 {
-    width: 16.66666667%;
-  }
-  .col-sm-1 {
-    width: 8.33333333%;
-  }
-  .col-sm-pull-12 {
-    right: 100%;
-  }
-  .col-sm-pull-11 {
-    right: 91.66666667%;
-  }
-  .col-sm-pull-10 {
-    right: 83.33333333%;
-  }
-  .col-sm-pull-9 {
-    right: 75%;
-  }
-  .col-sm-pull-8 {
-    right: 66.66666667%;
-  }
-  .col-sm-pull-7 {
-    right: 58.33333333%;
-  }
-  .col-sm-pull-6 {
-    right: 50%;
-  }
-  .col-sm-pull-5 {
-    right: 41.66666667%;
-  }
-  .col-sm-pull-4 {
-    right: 33.33333333%;
-  }
-  .col-sm-pull-3 {
-    right: 25%;
-  }
-  .col-sm-pull-2 {
-    right: 16.66666667%;
-  }
-  .col-sm-pull-1 {
-    right: 8.33333333%;
-  }
-  .col-sm-pull-0 {
-    right: 0%;
-  }
-  .col-sm-push-12 {
-    left: 100%;
-  }
-  .col-sm-push-11 {
-    left: 91.66666667%;
-  }
-  .col-sm-push-10 {
-    left: 83.33333333%;
-  }
-  .col-sm-push-9 {
-    left: 75%;
-  }
-  .col-sm-push-8 {
-    left: 66.66666667%;
-  }
-  .col-sm-push-7 {
-    left: 58.33333333%;
-  }
-  .col-sm-push-6 {
-    left: 50%;
-  }
-  .col-sm-push-5 {
-    left: 41.66666667%;
-  }
-  .col-sm-push-4 {
-    left: 33.33333333%;
-  }
-  .col-sm-push-3 {
-    left: 25%;
-  }
-  .col-sm-push-2 {
-    left: 16.66666667%;
-  }
-  .col-sm-push-1 {
-    left: 8.33333333%;
-  }
-  .col-sm-push-0 {
-    left: 0%;
-  }
-  .col-sm-offset-12 {
-    margin-left: 100%;
-  }
-  .col-sm-offset-11 {
-    margin-left: 91.66666667%;
-  }
-  .col-sm-offset-10 {
-    margin-left: 83.33333333%;
-  }
-  .col-sm-offset-9 {
-    margin-left: 75%;
-  }
-  .col-sm-offset-8 {
-    margin-left: 66.66666667%;
-  }
-  .col-sm-offset-7 {
-    margin-left: 58.33333333%;
-  }
-  .col-sm-offset-6 {
-    margin-left: 50%;
-  }
-  .col-sm-offset-5 {
-    margin-left: 41.66666667%;
-  }
-  .col-sm-offset-4 {
-    margin-left: 33.33333333%;
-  }
-  .col-sm-offset-3 {
-    margin-left: 25%;
-  }
-  .col-sm-offset-2 {
-    margin-left: 16.66666667%;
-  }
-  .col-sm-offset-1 {
-    margin-left: 8.33333333%;
-  }
-  .col-sm-offset-0 {
-    margin-left: 0%;
-  }
-}
-@media (min-width: 992px) {
-  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
-    float: left;
-  }
-  .col-md-12 {
-    width: 100%;
-  }
-  .col-md-11 {
-    width: 91.66666667%;
-  }
-  .col-md-10 {
-    width: 83.33333333%;
-  }
-  .col-md-9 {
-    width: 75%;
-  }
-  .col-md-8 {
-    width: 66.66666667%;
-  }
-  .col-md-7 {
-    width: 58.33333333%;
-  }
-  .col-md-6 {
-    width: 50%;
-  }
-  .col-md-5 {
-    width: 41.66666667%;
-  }
-  .col-md-4 {
-    width: 33.33333333%;
-  }
-  .col-md-3 {
-    width: 25%;
-  }
-  .col-md-2 {
-    width: 16.66666667%;
-  }
-  .col-md-1 {
-    width: 8.33333333%;
-  }
-  .col-md-pull-12 {
-    right: 100%;
-  }
-  .col-md-pull-11 {
-    right: 91.66666667%;
-  }
-  .col-md-pull-10 {
-    right: 83.33333333%;
-  }
-  .col-md-pull-9 {
-    right: 75%;
-  }
-  .col-md-pull-8 {
-    right: 66.66666667%;
-  }
-  .col-md-pull-7 {
-    right: 58.33333333%;
-  }
-  .col-md-pull-6 {
-    right: 50%;
-  }
-  .col-md-pull-5 {
-    right: 41.66666667%;
-  }
-  .col-md-pull-4 {
-    right: 33.33333333%;
-  }
-  .col-md-pull-3 {
-    right: 25%;
-  }
-  .col-md-pull-2 {
-    right: 16.66666667%;
-  }
-  .col-md-pull-1 {
-    right: 8.33333333%;
-  }
-  .col-md-pull-0 {
-    right: 0%;
-  }
-  .col-md-push-12 {
-    left: 100%;
-  }
-  .col-md-push-11 {
-    left: 91.66666667%;
-  }
-  .col-md-push-10 {
-    left: 83.33333333%;
-  }
-  .col-md-push-9 {
-    left: 75%;
-  }
-  .col-md-push-8 {
-    left: 66.66666667%;
-  }
-  .col-md-push-7 {
-    left: 58.33333333%;
-  }
-  .col-md-push-6 {
-    left: 50%;
-  }
-  .col-md-push-5 {
-    left: 41.66666667%;
-  }
-  .col-md-push-4 {
-    left: 33.33333333%;
-  }
-  .col-md-push-3 {
-    left: 25%;
-  }
-  .col-md-push-2 {
-    left: 16.66666667%;
-  }
-  .col-md-push-1 {
-    left: 8.33333333%;
-  }
-  .col-md-push-0 {
-    left: 0%;
-  }
-  .col-md-offset-12 {
-    margin-left: 100%;
-  }
-  .col-md-offset-11 {
-    margin-left: 91.66666667%;
-  }
-  .col-md-offset-10 {
-    margin-left: 83.33333333%;
-  }
-  .col-md-offset-9 {
-    margin-left: 75%;
-  }
-  .col-md-offset-8 {
-    margin-left: 66.66666667%;
-  }
-  .col-md-offset-7 {
-    margin-left: 58.33333333%;
-  }
-  .col-md-offset-6 {
-    margin-left: 50%;
-  }
-  .col-md-offset-5 {
-    margin-left: 41.66666667%;
-  }
-  .col-md-offset-4 {
-    margin-left: 33.33333333%;
-  }
-  .col-md-offset-3 {
-    margin-left: 25%;
-  }
-  .col-md-offset-2 {
-    margin-left: 16.66666667%;
-  }
-  .col-md-offset-1 {
-    margin-left: 8.33333333%;
-  }
-  .col-md-offset-0 {
-    margin-left: 0%;
-  }
-}
-@media (min-width: 1200px) {
-  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
-    float: left;
-  }
-  .col-lg-12 {
-    width: 100%;
-  }
-  .col-lg-11 {
-    width: 91.66666667%;
-  }
-  .col-lg-10 {
-    width: 83.33333333%;
-  }
-  .col-lg-9 {
-    width: 75%;
-  }
-  .col-lg-8 {
-    width: 66.66666667%;
-  }
-  .col-lg-7 {
-    width: 58.33333333%;
-  }
-  .col-lg-6 {
-    width: 50%;
-  }
-  .col-lg-5 {
-    width: 41.66666667%;
-  }
-  .col-lg-4 {
-    width: 33.33333333%;
-  }
-  .col-lg-3 {
-    width: 25%;
-  }
-  .col-lg-2 {
-    width: 16.66666667%;
-  }
-  .col-lg-1 {
-    width: 8.33333333%;
-  }
-  .col-lg-pull-12 {
-    right: 100%;
-  }
-  .col-lg-pull-11 {
-    right: 91.66666667%;
-  }
-  .col-lg-pull-10 {
-    right: 83.33333333%;
-  }
-  .col-lg-pull-9 {
-    right: 75%;
-  }
-  .col-lg-pull-8 {
-    right: 66.66666667%;
-  }
-  .col-lg-pull-7 {
-    right: 58.33333333%;
-  }
-  .col-lg-pull-6 {
-    right: 50%;
-  }
-  .col-lg-pull-5 {
-    right: 41.66666667%;
-  }
-  .col-lg-pull-4 {
-    right: 33.33333333%;
-  }
-  .col-lg-pull-3 {
-    right: 25%;
-  }
-  .col-lg-pull-2 {
-    right: 16.66666667%;
-  }
-  .col-lg-pull-1 {
-    right: 8.33333333%;
-  }
-  .col-lg-pull-0 {
-    right: 0%;
-  }
-  .col-lg-push-12 {
-    left: 100%;
-  }
-  .col-lg-push-11 {
-    left: 91.66666667%;
-  }
-  .col-lg-push-10 {
-    left: 83.33333333%;
-  }
-  .col-lg-push-9 {
-    left: 75%;
-  }
-  .col-lg-push-8 {
-    left: 66.66666667%;
-  }
-  .col-lg-push-7 {
-    left: 58.33333333%;
-  }
-  .col-lg-push-6 {
-    left: 50%;
-  }
-  .col-lg-push-5 {
-    left: 41.66666667%;
-  }
-  .col-lg-push-4 {
-    left: 33.33333333%;
-  }
-  .col-lg-push-3 {
-    left: 25%;
-  }
-  .col-lg-push-2 {
-    left: 16.66666667%;
-  }
-  .col-lg-push-1 {
-    left: 8.33333333%;
-  }
-  .col-lg-push-0 {
-    left: 0%;
-  }
-  .col-lg-offset-12 {
-    margin-left: 100%;
-  }
-  .col-lg-offset-11 {
-    margin-left: 91.66666667%;
-  }
-  .col-lg-offset-10 {
-    margin-left: 83.33333333%;
-  }
-  .col-lg-offset-9 {
-    margin-left: 75%;
-  }
-  .col-lg-offset-8 {
-    margin-left: 66.66666667%;
-  }
-  .col-lg-offset-7 {
-    margin-left: 58.33333333%;
-  }
-  .col-lg-offset-6 {
-    margin-left: 50%;
-  }
-  .col-lg-offset-5 {
-    margin-left: 41.66666667%;
-  }
-  .col-lg-offset-4 {
-    margin-left: 33.33333333%;
-  }
-  .col-lg-offset-3 {
-    margin-left: 25%;
-  }
-  .col-lg-offset-2 {
-    margin-left: 16.66666667%;
-  }
-  .col-lg-offset-1 {
-    margin-left: 8.33333333%;
-  }
-  .col-lg-offset-0 {
-    margin-left: 0%;
-  }
-}
-table {
-  max-width: 100%;
-  background-color: transparent;
-}
-th {
-  text-align: left;
-}
-.table {
-  width: 100%;
-  margin-bottom: 20px;
-}
-.table > thead > tr > th,
-.table > tbody > tr > th,
-.table > tfoot > tr > th,
-.table > thead > tr > td,
-.table > tbody > tr > td,
-.table > tfoot > tr > td {
-  padding: 8px;
-  line-height: 1.42857143;
-  vertical-align: top;
-  border-top: 1px solid #dddddd;
-}
-.table > thead > tr > th {
-  vertical-align: bottom;
-  border-bottom: 2px solid #dddddd;
-}
-.table > caption + thead > tr:first-child > th,
-.table > colgroup + thead > tr:first-child > th,
-.table > thead:first-child > tr:first-child > th,
-.table > caption + thead > tr:first-child > td,
-.table > colgroup + thead > tr:first-child > td,
-.table > thead:first-child > tr:first-child > td {
-  border-top: 0;
-}
-.table > tbody + tbody {
-  border-top: 2px solid #dddddd;
-}
-.table .table {
-  background-color: #ffffff;
-}
-.table-condensed > thead > tr > th,
-.table-condensed > tbody > tr > th,
-.table-condensed > tfoot > tr > th,
-.table-condensed > thead > tr > td,
-.table-condensed > tbody > tr > td,
-.table-condensed > tfoot > tr > td {
-  padding: 5px;
-}
-.table-bordered {
-  border: 1px solid #dddddd;
-}
-.table-bordered > thead > tr > th,
-.table-bordered > tbody > tr > th,
-.table-bordered > tfoot > tr > th,
-.table-bordered > thead > tr > td,
-.table-bordered > tbody > tr > td,
-.table-bordered > tfoot > tr > td {
-  border: 1px solid #dddddd;
-}
-.table-bordered > thead > tr > th,
-.table-bordered > thead > tr > td {
-  border-bottom-width: 2px;
-}
-.table-striped > tbody > tr:nth-child(odd) > td,
-.table-striped > tbody > tr:nth-child(odd) > th {
-  background-color: #f9f9f9;
-}
-.table-hover > tbody > tr:hover > td,
-.table-hover > tbody > tr:hover > th {
-  background-color: #f5f5f5;
-}
-table col[class*="col-"] {
-  position: static;
-  float: none;
-  display: table-column;
-}
-table td[class*="col-"],
-table th[class*="col-"] {
-  position: static;
-  float: none;
-  display: table-cell;
-}
-.table > thead > tr > td.active,
-.table > tbody > tr > td.active,
-.table > tfoot > tr > td.active,
-.table > thead > tr > th.active,
-.table > tbody > tr > th.active,
-.table > tfoot > tr > th.active,
-.table > thead > tr.active > td,
-.table > tbody > tr.active > td,
-.table > tfoot > tr.active > td,
-.table > thead > tr.active > th,
-.table > tbody > tr.active > th,
-.table > tfoot > tr.active > th {
-  background-color: #f5f5f5;
-}
-.table-hover > tbody > tr > td.active:hover,
-.table-hover > tbody > tr > th.active:hover,
-.table-hover > tbody > tr.active:hover > td,
-.table-hover > tbody > tr.active:hover > th {
-  background-color: #e8e8e8;
-}
-.table > thead > tr > td.success,
-.table > tbody > tr > td.success,
-.table > tfoot > tr > td.success,
-.table > thead > tr > th.success,
-.table > tbody > tr > th.success,
-.table > tfoot > tr > th.success,
-.table > thead > tr.success > td,
-.table > tbody > tr.success > td,
-.table > tfoot > tr.success > td,
-.table > thead > tr.success > th,
-.table > tbody > tr.success > th,
-.table > tfoot > tr.success > th {
-  background-color: #dff0d8;
-}
-.table-hover > tbody > tr > td.success:hover,
-.table-hover > tbody > tr > th.success:hover,
-.table-hover > tbody > tr.success:hover > td,
-.table-hover > tbody > tr.success:hover > th {
-  background-color: #d0e9c6;
-}
-.table > thead > tr > td.info,
-.table > tbody > tr > td.info,
-.table > tfoot > tr > td.info,
-.table > thead > tr > th.info,
-.table > tbody > tr > th.info,
-.table > tfoot > tr > th.info,
-.table > thead > tr.info > td,
-.table > tbody > tr.info > td,
-.table > tfoot > tr.info > td,
-.table > thead > tr.info > th,
-.table > tbody > tr.info > th,
-.table > tfoot > tr.info > th {
-  background-color: #d9edf7;
-}
-.table-hover > tbody > tr > td.info:hover,
-.table-hover > tbody > tr > th.info:hover,
-.table-hover > tbody > tr.info:hover > td,
-.table-hover > tbody > tr.info:hover > th {
-  background-color: #c4e3f3;
-}
-.table > thead > tr > td.warning,
-.table > tbody > tr > td.warning,
-.table > tfoot > tr > td.warning,
-.table > thead > tr > th.warning,
-.table > tbody > tr > th.warning,
-.table > tfoot > tr > th.warning,
-.table > thead > tr.warning > td,
-.table > tbody > tr.warning > td,
-.table > tfoot > tr.warning > td,
-.table > thead > tr.warning > th,
-.table > tbody > tr.warning > th,
-.table > tfoot > tr.warning > th {
-  background-color: #fcf8e3;
-}
-.table-hover > tbody > tr > td.warning:hover,
-.table-hover > tbody > tr > th.warning:hover,
-.table-hover > tbody > tr.warning:hover > td,
-.table-hover > tbody > tr.warning:hover > th {
-  background-color: #faf2cc;
-}
-.table > thead > tr > td.danger,
-.table > tbody > tr > td.danger,
-.table > tfoot > tr > td.danger,
-.table > thead > tr > th.danger,
-.table > tbody > tr > th.danger,
-.table > tfoot > tr > th.danger,
-.table > thead > tr.danger > td,
-.table > tbody > tr.danger > td,
-.table > tfoot > tr.danger > td,
-.table > thead > tr.danger > th,
-.table > tbody > tr.danger > th,
-.table > tfoot > tr.danger > th {
-  background-color: #f2dede;
-}
-.table-hover > tbody > tr > td.danger:hover,
-.table-hover > tbody > tr > th.danger:hover,
-.table-hover > tbody > tr.danger:hover > td,
-.table-hover > tbody > tr.danger:hover > th {
-  background-color: #ebcccc;
-}
-@media (max-width: 767px) {
-  .table-responsive {
-    width: 100%;
-    margin-bottom: 15px;
-    overflow-y: hidden;
-    overflow-x: scroll;
-    -ms-overflow-style: -ms-autohiding-scrollbar;
-    border: 1px solid #dddddd;
-    -webkit-overflow-scrolling: touch;
-  }
-  .table-responsive > .table {
-    margin-bottom: 0;
-  }
-  .table-responsive > .table > thead > tr > th,
-  .table-responsive > .table > tbody > tr > th,
-  .table-responsive > .table > tfoot > tr > th,
-  .table-responsive > .table > thead > tr > td,
-  .table-responsive > .table > tbody > tr > td,
-  .table-responsive > .table > tfoot > tr > td {
-    white-space: nowrap;
-  }
-  .table-responsive > .table-bordered {
-    border: 0;
-  }
-  .table-responsive > .table-bordered > thead > tr > th:first-child,
-  .table-responsive > .table-bordered > tbody > tr > th:first-child,
-  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
-  .table-responsive > .table-bordered > thead > tr > td:first-child,
-  .table-responsive > .table-bordered > tbody > tr > td:first-child,
-  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
-    border-left: 0;
-  }
-  .table-responsive > .table-bordered > thead > tr > th:last-child,
-  .table-responsive > .table-bordered > tbody > tr > th:last-child,
-  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
-  .table-responsive > .table-bordered > thead > tr > td:last-child,
-  .table-responsive > .table-bordered > tbody > tr > td:last-child,
-  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
-    border-right: 0;
-  }
-  .table-responsive > .table-bordered > tbody > tr:last-child > th,
-  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
-  .table-responsive > .table-bordered > tbody > tr:last-child > td,
-  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
-    border-bottom: 0;
-  }
-}
-fieldset {
-  padding: 0;
-  margin: 0;
-  border: 0;
-  min-width: 0;
-}
-legend {
-  display: block;
-  width: 100%;
-  padding: 0;
-  margin-bottom: 20px;
-  font-size: 21px;
-  line-height: inherit;
-  color: #333333;
-  border: 0;
-  border-bottom: 1px solid #e5e5e5;
-}
-label {
-  display: inline-block;
-  margin-bottom: 5px;
-  font-weight: bold;
-}
-input[type="search"] {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
-input[type="radio"],
-input[type="checkbox"] {
-  margin: 4px 0 0;
-  margin-top: 1px \9;
-  /* IE8-9 */
-  line-height: normal;
-}
-input[type="file"] {
-  display: block;
-}
-input[type="range"] {
-  display: block;
-  width: 100%;
-}
-select[multiple],
-select[size] {
-  height: auto;
-}
-input[type="file"]:focus,
-input[type="radio"]:focus,
-input[type="checkbox"]:focus {
-  outline: thin dotted;
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-output {
-  display: block;
-  padding-top: 7px;
-  font-size: 14px;
-  line-height: 1.42857143;
-  color: #555555;
-}
-.form-control {
-  display: block;
-  width: 100%;
-  height: 34px;
-  padding: 6px 12px;
-  font-size: 14px;
-  line-height: 1.42857143;
-  color: #555555;
-  background-color: #ffffff;
-  background-image: none;
-  border: 1px solid #cccccc;
-  border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-}
-.form-control:focus {
-  border-color: #66afe9;
-  outline: 0;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
-  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
-}
-.form-control::-moz-placeholder {
-  color: #999999;
-  opacity: 1;
-}
-.form-control:-ms-input-placeholder {
-  color: #999999;
-}
-.form-control::-webkit-input-placeholder {
-  color: #999999;
-}
-.form-control[disabled],
-.form-control[readonly],
-fieldset[disabled] .form-control {
-  cursor: not-allowed;
-  background-color: #eeeeee;
-  opacity: 1;
-}
-textarea.form-control {
-  height: auto;
-}
-input[type="search"] {
-  -webkit-appearance: none;
-}
-input[type="date"] {
-  line-height: 34px;
-}
-.form-group {
-  margin-bottom: 15px;
-}
-.radio,
-.checkbox {
-  display: block;
-  min-height: 20px;
-  margin-top: 10px;
-  margin-bottom: 10px;
-  padding-left: 20px;
-}
-.radio label,
-.checkbox label {
-  display: inline;
-  font-weight: normal;
-  cursor: pointer;
-}
-.radio input[type="radio"],
-.radio-inline input[type="radio"],
-.checkbox input[type="checkbox"],
-.checkbox-inline input[type="checkbox"] {
-  float: left;
-  margin-left: -20px;
-}
-.radio + .radio,
-.checkbox + .checkbox {
-  margin-top: -5px;
-}
-.radio-inline,
-.checkbox-inline {
-  display: inline-block;
-  padding-left: 20px;
-  margin-bottom: 0;
-  vertical-align: middle;
-  font-weight: normal;
-  cursor: pointer;
-}
-.radio-inline + .radio-inline,
-.checkbox-inline + .checkbox-inline {
-  margin-top: 0;
-  margin-left: 10px;
-}
-input[type="radio"][disabled],
-input[type="checkbox"][disabled],
-.radio[disabled],
-.radio-inline[disabled],
-.checkbox[disabled],
-.checkbox-inline[disabled],
-fieldset[disabled] input[type="radio"],
-fieldset[disabled] input[type="checkbox"],
-fieldset[disabled] .radio,
-fieldset[disabled] .radio-inline,
-fieldset[disabled] .checkbox,
-fieldset[disabled] .checkbox-inline {
-  cursor: not-allowed;
-}
-.input-sm {
-  height: 30px;
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-select.input-sm {
-  height: 30px;
-  line-height: 30px;
-}
-textarea.input-sm,
-select[multiple].input-sm {
-  height: auto;
-}
-.input-lg {
-  height: 46px;
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.33;
-  border-radius: 6px;
-}
-select.input-lg {
-  height: 46px;
-  line-height: 46px;
-}
-textarea.input-lg,
-select[multiple].input-lg {
-  height: auto;
-}
-.has-feedback {
-  position: relative;
-}
-.has-feedback .form-control {
-  padding-right: 42.5px;
-}
-.has-feedback .form-control-feedback {
-  position: absolute;
-  top: 25px;
-  right: 0;
-  display: block;
-  width: 34px;
-  height: 34px;
-  line-height: 34px;
-  text-align: center;
-}
-.has-success .help-block,
-.has-success .control-label,
-.has-success .radio,
-.has-success .checkbox,
-.has-success .radio-inline,
-.has-success .checkbox-inline {
-  color: #3c763d;
-}
-.has-success .form-control {
-  border-color: #3c763d;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-.has-success .form-control:focus {
-  border-color: #2b542c;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
-}
-.has-success .input-group-addon {
-  color: #3c763d;
-  border-color: #3c763d;
-  background-color: #dff0d8;
-}
-.has-success .form-control-feedback {
-  color: #3c763d;
-}
-.has-warning .help-block,
-.has-warning .control-label,
-.has-warning .radio,
-.has-warning .checkbox,
-.has-warning .radio-inline,
-.has-warning .checkbox-inline {
-  color: #8a6d3b;
-}
-.has-warning .form-control {
-  border-color: #8a6d3b;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-.has-warning .form-control:focus {
-  border-color: #66512c;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
-}
-.has-warning .input-group-addon {
-  color: #8a6d3b;
-  border-color: #8a6d3b;
-  background-color: #fcf8e3;
-}
-.has-warning .form-control-feedback {
-  color: #8a6d3b;
-}
-.has-error .help-block,
-.has-error .control-label,
-.has-error .radio,
-.has-error .checkbox,
-.has-error .radio-inline,
-.has-error .checkbox-inline {
-  color: #a94442;
-}
-.has-error .form-control {
-  border-color: #a94442;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-.has-error .form-control:focus {
-  border-color: #843534;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
-}
-.has-error .input-group-addon {
-  color: #a94442;
-  border-color: #a94442;
-  background-color: #f2dede;
-}
-.has-error .form-control-feedback {
-  color: #a94442;
-}
-.form-control-static {
-  margin-bottom: 0;
-}
-.help-block {
-  display: block;
-  margin-top: 5px;
-  margin-bottom: 10px;
-  color: #737373;
-}
-@media (min-width: 768px) {
-  .form-inline .form-group {
-    display: inline-block;
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .form-inline .form-control {
-    display: inline-block;
-    width: auto;
-    vertical-align: middle;
-  }
-  .form-inline .input-group > .form-control {
-    width: 100%;
-  }
-  .form-inline .control-label {
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .form-inline .radio,
-  .form-inline .checkbox {
-    display: inline-block;
-    margin-top: 0;
-    margin-bottom: 0;
-    padding-left: 0;
-    vertical-align: middle;
-  }
-  .form-inline .radio input[type="radio"],
-  .form-inline .checkbox input[type="checkbox"] {
-    float: none;
-    margin-left: 0;
-  }
-  .form-inline .has-feedback .form-control-feedback {
-    top: 0;
-  }
-}
-.form-horizontal .control-label,
-.form-horizontal .radio,
-.form-horizontal .checkbox,
-.form-horizontal .radio-inline,
-.form-horizontal .checkbox-inline {
-  margin-top: 0;
-  margin-bottom: 0;
-  padding-top: 7px;
-}
-.form-horizontal .radio,
-.form-horizontal .checkbox {
-  min-height: 27px;
-}
-.form-horizontal .form-group {
-  margin-left: -15px;
-  margin-right: -15px;
-}
-.form-horizontal .form-control-static {
-  padding-top: 7px;
-}
-@media (min-width: 768px) {
-  .form-horizontal .control-label {
-    text-align: right;
-  }
-}
-.form-horizontal .has-feedback .form-control-feedback {
-  top: 0;
-  right: 15px;
-}
-.btn {
-  display: inline-block;
-  margin-bottom: 0;
-  font-weight: normal;
-  text-align: center;
-  vertical-align: middle;
-  cursor: pointer;
-  background-image: none;
-  border: 1px solid transparent;
-  white-space: nowrap;
-  padding: 6px 12px;
-  font-size: 14px;
-  line-height: 1.42857143;
-  border-radius: 4px;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-.btn:focus,
-.btn:active:focus,
-.btn.active:focus {
-  outline: thin dotted;
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-.btn:hover,
-.btn:focus {
-  color: #333333;
-  text-decoration: none;
-}
-.btn:active,
-.btn.active {
-  outline: 0;
-  background-image: none;
-  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-}
-.btn.disabled,
-.btn[disabled],
-fieldset[disabled] .btn {
-  cursor: not-allowed;
-  pointer-events: none;
-  opacity: 0.65;
-  filter: alpha(opacity=65);
-  -webkit-box-shadow: none;
-  box-shadow: none;
-}
-.btn-default {
-  color: #333333;
-  background-color: #ffffff;
-  border-color: #cccccc;
-}
-.btn-default:hover,
-.btn-default:focus,
-.btn-default:active,
-.btn-default.active,
-.open .dropdown-toggle.btn-default {
-  color: #333333;
-  background-color: #ebebeb;
-  border-color: #adadad;
-}
-.btn-default:active,
-.btn-default.active,
-.open .dropdown-toggle.btn-default {
-  background-image: none;
-}
-.btn-default.disabled,
-.btn-default[disabled],
-fieldset[disabled] .btn-default,
-.btn-default.disabled:hover,
-.btn-default[disabled]:hover,
-fieldset[disabled] .btn-default:hover,
-.btn-default.disabled:focus,
-.btn-default[disabled]:focus,
-fieldset[disabled] .btn-default:focus,
-.btn-default.disabled:active,
-.btn-default[disabled]:active,
-fieldset[disabled] .btn-default:active,
-.btn-default.disabled.active,
-.btn-default[disabled].active,
-fieldset[disabled] .btn-default.active {
-  background-color: #ffffff;
-  border-color: #cccccc;
-}
-.btn-default .badge {
-  color: #ffffff;
-  background-color: #333333;
-}
-.btn-primary {
-  color: #ffffff;
-  background-color: #428bca;
-  border-color: #357ebd;
-}
-.btn-primary:hover,
-.btn-primary:focus,
-.btn-primary:active,
-.btn-primary.active,
-.open .dropdown-toggle.btn-primary {
-  color: #ffffff;
-  background-color: #3276b1;
-  border-color: #285e8e;
-}
-.btn-primary:active,
-.btn-primary.active,
-.open .dropdown-toggle.btn-primary {
-  background-image: none;
-}
-.btn-primary.disabled,
-.btn-primary[disabled],
-fieldset[disabled] .btn-primary,
-.btn-primary.disabled:hover,
-.btn-primary[disabled]:hover,
-fieldset[disabled] .btn-primary:hover,
-.btn-primary.disabled:focus,
-.btn-primary[disabled]:focus,
-fieldset[disabled] .btn-primary:focus,
-.btn-primary.disabled:active,
-.btn-primary[disabled]:active,
-fieldset[disabled] .btn-primary:active,
-.btn-primary.disabled.active,
-.btn-primary[disabled].active,
-fieldset[disabled] .btn-primary.active {
-  background-color: #428bca;
-  border-color: #357ebd;
-}
-.btn-primary .badge {
-  color: #428bca;
-  background-color: #ffffff;
-}
-.btn-success {
-  color: #ffffff;
-  background-color: #5cb85c;
-  border-color: #4cae4c;
-}
-.btn-success:hover,
-.btn-success:focus,
-.btn-success:active,
-.btn-success.active,
-.open .dropdown-toggle.btn-success {
-  color: #ffffff;
-  background-color: #47a447;
-  border-color: #398439;
-}
-.btn-success:active,
-.btn-success.active,
-.open .dropdown-toggle.btn-success {
-  background-image: none;
-}
-.btn-success.disabled,
-.btn-success[disabled],
-fieldset[disabled] .btn-success,
-.btn-success.disabled:hover,
-.btn-success[disabled]:hover,
-fieldset[disabled] .btn-success:hover,
-.btn-success.disabled:focus,
-.btn-success[disabled]:focus,
-fieldset[disabled] .btn-success:focus,
-.btn-success.disabled:active,
-.btn-success[disabled]:active,
-fieldset[disabled] .btn-success:active,
-.btn-success.disabled.active,
-.btn-success[disabled].active,
-fieldset[disabled] .btn-success.active {
-  background-color: #5cb85c;
-  border-color: #4cae4c;
-}
-.btn-success .badge {
-  color: #5cb85c;
-  background-color: #ffffff;
-}
-.btn-info {
-  color: #ffffff;
-  background-color: #5bc0de;
-  border-color: #46b8da;
-}
-.btn-info:hover,
-.btn-info:focus,
-.btn-info:active,
-.btn-info.active,
-.open .dropdown-toggle.btn-info {
-  color: #ffffff;
-  background-color: #39b3d7;
-  border-color: #269abc;
-}
-.btn-info:active,
-.btn-info.active,
-.open .dropdown-toggle.btn-info {
-  background-image: none;
-}
-.btn-info.disabled,
-.btn-info[disabled],
-fieldset[disabled] .btn-info,
-.btn-info.disabled:hover,
-.btn-info[disabled]:hover,
-fieldset[disabled] .btn-info:hover,
-.btn-info.disabled:focus,
-.btn-info[disabled]:focus,
-fieldset[disabled] .btn-info:focus,
-.btn-info.disabled:active,
-.btn-info[disabled]:active,
-fieldset[disabled] .btn-info:active,
-.btn-info.disabled.active,
-.btn-info[disabled].active,
-fieldset[disabled] .btn-info.active {
-  background-color: #5bc0de;
-  border-color: #46b8da;
-}
-.btn-info .badge {
-  color: #5bc0de;
-  background-color: #ffffff;
-}
-.btn-warning {
-  color: #ffffff;
-  background-color: #f0ad4e;
-  border-color: #eea236;
-}
-.btn-warning:hover,
-.btn-warning:focus,
-.btn-warning:active,
-.btn-warning.active,
-.open .dropdown-toggle.btn-warning {
-  color: #ffffff;
-  background-color: #ed9c28;
-  border-color: #d58512;
-}
-.btn-warning:active,
-.btn-warning.active,
-.open .dropdown-toggle.btn-warning {
-  background-image: none;
-}
-.btn-warning.disabled,
-.btn-warning[disabled],
-fieldset[disabled] .btn-warning,
-.btn-warning.disabled:hover,
-.btn-warning[disabled]:hover,
-fieldset[disabled] .btn-warning:hover,
-.btn-warning.disabled:focus,
-.btn-warning[disabled]:focus,
-fieldset[disabled] .btn-warning:focus,
-.btn-warning.disabled:active,
-.btn-warning[disabled]:active,
-fieldset[disabled] .btn-warning:active,
-.btn-warning.disabled.active,
-.btn-warning[disabled].active,
-fieldset[disabled] .btn-warning.active {
-  background-color: #f0ad4e;
-  border-color: #eea236;
-}
-.btn-warning .badge {
-  color: #f0ad4e;
-  background-color: #ffffff;
-}
-.btn-danger {
-  color: #ffffff;
-  background-color: #d9534f;
-  border-color: #d43f3a;
-}
-.btn-danger:hover,
-.btn-danger:focus,
-.btn-danger:active,
-.btn-danger.active,
-.open .dropdown-toggle.btn-danger {
-  color: #ffffff;
-  background-color: #d2322d;
-  border-color: #ac2925;
-}
-.btn-danger:active,
-.btn-danger.active,
-.open .dropdown-toggle.btn-danger {
-  background-image: none;
-}
-.btn-danger.disabled,
-.btn-danger[disabled],
-fieldset[disabled] .btn-danger,
-.btn-danger.disabled:hover,
-.btn-danger[disabled]:hover,
-fieldset[disabled] .btn-danger:hover,
-.btn-danger.disabled:focus,
-.btn-danger[disabled]:focus,
-fieldset[disabled] .btn-danger:focus,
-.btn-danger.disabled:active,
-.btn-danger[disabled]:active,
-fieldset[disabled] .btn-danger:active,
-.btn-danger.disabled.active,
-.btn-danger[disabled].active,
-fieldset[disabled] .btn-danger.active {
-  background-color: #d9534f;
-  border-color: #d43f3a;
-}
-.btn-danger .badge {
-  color: #d9534f;
-  background-color: #ffffff;
-}
-.btn-link {
-  color: #428bca;
-  font-weight: normal;
-  cursor: pointer;
-  border-radius: 0;
-}
-.btn-link,
-.btn-link:active,
-.btn-link[disabled],
-fieldset[disabled] .btn-link {
-  background-color: transparent;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-}
-.btn-link,
-.btn-link:hover,
-.btn-link:focus,
-.btn-link:active {
-  border-color: transparent;
-}
-.btn-link:hover,
-.btn-link:focus {
-  color: #2a6496;
-  text-decoration: underline;
-  background-color: transparent;
-}
-.btn-link[disabled]:hover,
-fieldset[disabled] .btn-link:hover,
-.btn-link[disabled]:focus,
-fieldset[disabled] .btn-link:focus {
-  color: #999999;
-  text-decoration: none;
-}
-.btn-lg,
-.btn-group-lg > .btn {
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.33;
-  border-radius: 6px;
-}
-.btn-sm,
-.btn-group-sm > .btn {
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-.btn-xs,
-.btn-group-xs > .btn {
-  padding: 1px 5px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-.btn-block {
-  display: block;
-  width: 100%;
-  padding-left: 0;
-  padding-right: 0;
-}
-.btn-block + .btn-block {
-  margin-top: 5px;
-}
-input[type="submit"].btn-block,
-input[type="reset"].btn-block,
-input[type="button"].btn-block {
-  width: 100%;
-}
-.fade {
-  opacity: 0;
-  -webkit-transition: opacity 0.15s linear;
-  transition: opacity 0.15s linear;
-}
-.fade.in {
-  opacity: 1;
-}
-.collapse {
-  display: none;
-}
-.collapse.in {
-  display: block;
-}
-.collapsing {
-  position: relative;
-  height: 0;
-  overflow: hidden;
-  -webkit-transition: height 0.35s ease;
-  transition: height 0.35s ease;
-}
-@font-face {
-  font-family: 'Glyphicons Halflings';
-  src: url('../fonts/glyphicons-halflings-regular.eot');
-  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
-}
-.glyphicon {
-  position: relative;
-  top: 1px;
-  display: inline-block;
-  font-family: 'Glyphicons Halflings';
-  font-style: normal;
-  font-weight: normal;
-  line-height: 1;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-.glyphicon-asterisk:before {
-  content: "\2a";
-}
-.glyphicon-plus:before {
-  content: "\2b";
-}
-.glyphicon-euro:before {
-  content: "\20ac";
-}
-.glyphicon-minus:before {
-  content: "\2212";
-}
-.glyphicon-cloud:before {
-  content: "\2601";
-}
-.glyphicon-envelope:before {
-  content: "\2709";
-}
-.glyphicon-pencil:before {
-  content: "\270f";
-}
-.glyphicon-glass:before {
-  content: "\e001";
-}
-.glyphicon-music:before {
-  content: "\e002";
-}
-.glyphicon-search:before {
-  content: "\e003";
-}
-.glyphicon-heart:before {
-  content: "\e005";
-}
-.glyphicon-star:before {
-  content: "\e006";
-}
-.glyphicon-star-empty:before {
-  content: "\e007";
-}
-.glyphicon-user:before {
-  content: "\e008";
-}
-.glyphicon-film:before {
-  content: "\e009";
-}
-.glyphicon-th-large:before {
-  content: "\e010";
-}
-.glyphicon-th:before {
-  content: "\e011";
-}
-.glyphicon-th-list:before {
-  content: "\e012";
-}
-.glyphicon-ok:before {
-  content: "\e013";
-}
-.glyphicon-remove:before {
-  content: "\e014";
-}
-.glyphicon-zoom-in:before {
-  content: "\e015";
-}
-.glyphicon-zoom-out:before {
-  content: "\e016";
-}
-.glyphicon-off:before {
-  content: "\e017";
-}
-.glyphicon-signal:before {
-  content: "\e018";
-}
-.glyphicon-cog:before {
-  content: "\e019";
-}
-.glyphicon-trash:before {
-  content: "\e020";
-}
-.glyphicon-home:before {
-  content: "\e021";
-}
-.glyphicon-file:before {
-  content: "\e022";
-}
-.glyphicon-time:before {
-  content: "\e023";
-}
-.glyphicon-road:before {
-  content: "\e024";
-}
-.glyphicon-download-alt:before {
-  content: "\e025";
-}
-.glyphicon-download:before {
-  content: "\e026";
-}
-.glyphicon-upload:before {
-  content: "\e027";
-}
-.glyphicon-inbox:before {
-  content: "\e028";
-}
-.glyphicon-play-circle:before {
-  content: "\e029";
-}
-.glyphicon-repeat:before {
-  content: "\e030";
-}
-.glyphicon-refresh:before {
-  content: "\e031";
-}
-.glyphicon-list-alt:before {
-  content: "\e032";
-}
-.glyphicon-lock:before {
-  content: "\e033";
-}
-.glyphicon-flag:before {
-  content: "\e034";
-}
-.glyphicon-headphones:before {
-  content: "\e035";
-}
-.glyphicon-volume-off:before {
-  content: "\e036";
-}
-.glyphicon-volume-down:before {
-  content: "\e037";
-}
-.glyphicon-volume-up:before {
-  content: "\e038";
-}
-.glyphicon-qrcode:before {
-  content: "\e039";
-}
-.glyphicon-barcode:before {
-  content: "\e040";
-}
-.glyphicon-tag:before {
-  content: "\e041";
-}
-.glyphicon-tags:before {
-  content: "\e042";
-}
-.glyphicon-book:before {
-  content: "\e043";
-}
-.glyphicon-bookmark:before {
-  content: "\e044";
-}
-.glyphicon-print:before {
-  content: "\e045";
-}
-.glyphicon-camera:before {
-  content: "\e046";
-}
-.glyphicon-font:before {
-  content: "\e047";
-}
-.glyphicon-bold:before {
-  content: "\e048";
-}
-.glyphicon-italic:before {
-  content: "\e049";
-}
-.glyphicon-text-height:before {
-  content: "\e050";
-}
-.glyphicon-text-width:before {
-  content: "\e051";
-}
-.glyphicon-align-left:before {
-  content: "\e052";
-}
-.glyphicon-align-center:before {
-  content: "\e053";
-}
-.glyphicon-align-right:before {
-  content: "\e054";
-}
-.glyphicon-align-justify:before {
-  content: "\e055";
-}
-.glyphicon-list:before {
-  content: "\e056";
-}
-.glyphicon-indent-left:before {
-  content: "\e057";
-}
-.glyphicon-indent-right:before {
-  content: "\e058";
-}
-.glyphicon-facetime-video:before {
-  content: "\e059";
-}
-.glyphicon-picture:before {
-  content: "\e060";
-}
-.glyphicon-map-marker:before {
-  content: "\e062";
-}
-.glyphicon-adjust:before {
-  content: "\e063";
-}
-.glyphicon-tint:before {
-  content: "\e064";
-}
-.glyphicon-edit:before {
-  content: "\e065";
-}
-.glyphicon-share:before {
-  content: "\e066";
-}
-.glyphicon-check:before {
-  content: "\e067";
-}
-.glyphicon-move:before {
-  content: "\e068";
-}
-.glyphicon-step-backward:before {
-  content: "\e069";
-}
-.glyphicon-fast-backward:before {
-  content: "\e070";
-}
-.glyphicon-backward:before {
-  content: "\e071";
-}
-.glyphicon-play:before {
-  content: "\e072";
-}
-.glyphicon-pause:before {
-  content: "\e073";
-}
-.glyphicon-stop:before {
-  content: "\e074";
-}
-.glyphicon-forward:before {
-  content: "\e075";
-}
-.glyphicon-fast-forward:before {
-  content: "\e076";
-}
-.glyphicon-step-forward:before {
-  content: "\e077";
-}
-.glyphicon-eject:before {
-  content: "\e078";
-}
-.glyphicon-chevron-left:before {
-  content: "\e079";
-}
-.glyphicon-chevron-right:before {
-  content: "\e080";
-}
-.glyphicon-plus-sign:before {
-  content: "\e081";
-}
-.glyphicon-minus-sign:before {
-  content: "\e082";
-}
-.glyphicon-remove-sign:before {
-  content: "\e083";
-}
-.glyphicon-ok-sign:before {
-  content: "\e084";
-}
-.glyphicon-question-sign:before {
-  content: "\e085";
-}
-.glyphicon-info-sign:before {
-  content: "\e086";
-}
-.glyphicon-screenshot:before {
-  content: "\e087";
-}
-.glyphicon-remove-circle:before {
-  content: "\e088";
-}
-.glyphicon-ok-circle:before {
-  content: "\e089";
-}
-.glyphicon-ban-circle:before {
-  content: "\e090";
-}
-.glyphicon-arrow-left:before {
-  content: "\e091";
-}
-.glyphicon-arrow-right:before {
-  content: "\e092";
-}
-.glyphicon-arrow-up:before {
-  content: "\e093";
-}
-.glyphicon-arrow-down:before {
-  content: "\e094";
-}
-.glyphicon-share-alt:before {
-  content: "\e095";
-}
-.glyphicon-resize-full:before {
-  content: "\e096";
-}
-.glyphicon-resize-small:before {
-  content: "\e097";
-}
-.glyphicon-exclamation-sign:before {
-  content: "\e101";
-}
-.glyphicon-gift:before {
-  content: "\e102";
-}
-.glyphicon-leaf:before {
-  content: "\e103";
-}
-.glyphicon-fire:before {
-  content: "\e104";
-}
-.glyphicon-eye-open:before {
-  content: "\e105";
-}
-.glyphicon-eye-close:before {
-  content: "\e106";
-}
-.glyphicon-warning-sign:before {
-  content: "\e107";
-}
-.glyphicon-plane:before {
-  content: "\e108";
-}
-.glyphicon-calendar:before {
-  content: "\e109";
-}
-.glyphicon-random:before {
-  content: "\e110";
-}
-.glyphicon-comment:before {
-  content: "\e111";
-}
-.glyphicon-magnet:before {
-  content: "\e112";
-}
-.glyphicon-chevron-up:before {
-  content: "\e113";
-}
-.glyphicon-chevron-down:before {
-  content: "\e114";
-}
-.glyphicon-retweet:before {
-  content: "\e115";
-}
-.glyphicon-shopping-cart:before {
-  content: "\e116";
-}
-.glyphicon-folder-close:before {
-  content: "\e117";
-}
-.glyphicon-folder-open:before {
-  content: "\e118";
-}
-.glyphicon-resize-vertical:before {
-  content: "\e119";
-}
-.glyphicon-resize-horizontal:before {
-  content: "\e120";
-}
-.glyphicon-hdd:before {
-  content: "\e121";
-}
-.glyphicon-bullhorn:before {
-  content: "\e122";
-}
-.glyphicon-bell:before {
-  content: "\e123";
-}
-.glyphicon-certificate:before {
-  content: "\e124";
-}
-.glyphicon-thumbs-up:before {
-  content: "\e125";
-}
-.glyphicon-thumbs-down:before {
-  content: "\e126";
-}
-.glyphicon-hand-right:before {
-  content: "\e127";
-}
-.glyphicon-hand-left:before {
-  content: "\e128";
-}
-.glyphicon-hand-up:before {
-  content: "\e129";
-}
-.glyphicon-hand-down:before {
-  content: "\e130";
-}
-.glyphicon-circle-arrow-right:before {
-  content: "\e131";
-}
-.glyphicon-circle-arrow-left:before {
-  content: "\e132";
-}
-.glyphicon-circle-arrow-up:before {
-  content: "\e133";
-}
-.glyphicon-circle-arrow-down:before {
-  content: "\e134";
-}
-.glyphicon-globe:before {
-  content: "\e135";
-}
-.glyphicon-wrench:before {
-  content: "\e136";
-}
-.glyphicon-tasks:before {
-  content: "\e137";
-}
-.glyphicon-filter:before {
-  content: "\e138";
-}
-.glyphicon-briefcase:before {
-  content: "\e139";
-}
-.glyphicon-fullscreen:before {
-  content: "\e140";
-}
-.glyphicon-dashboard:before {
-  content: "\e141";
-}
-.glyphicon-paperclip:before {
-  content: "\e142";
-}
-.glyphicon-heart-empty:before {
-  content: "\e143";
-}
-.glyphicon-link:before {
-  content: "\e144";
-}
-.glyphicon-phone:before {
-  content: "\e145";
-}
-.glyphicon-pushpin:before {
-  content: "\e146";
-}
-.glyphicon-usd:before {
-  content: "\e148";
-}
-.glyphicon-gbp:before {
-  content: "\e149";
-}
-.glyphicon-sort:before {
-  content: "\e150";
-}
-.glyphicon-sort-by-alphabet:before {
-  content: "\e151";
-}
-.glyphicon-sort-by-alphabet-alt:before {
-  content: "\e152";
-}
-.glyphicon-sort-by-order:before {
-  content: "\e153";
-}
-.glyphicon-sort-by-order-alt:before {
-  content: "\e154";
-}
-.glyphicon-sort-by-attributes:before {
-  content: "\e155";
-}
-.glyphicon-sort-by-attributes-alt:before {
-  content: "\e156";
-}
-.glyphicon-unchecked:before {
-  content: "\e157";
-}
-.glyphicon-expand:before {
-  content: "\e158";
-}
-.glyphicon-collapse-down:before {
-  content: "\e159";
-}
-.glyphicon-collapse-up:before {
-  content: "\e160";
-}
-.glyphicon-log-in:before {
-  content: "\e161";
-}
-.glyphicon-flash:before {
-  content: "\e162";
-}
-.glyphicon-log-out:before {
-  content: "\e163";
-}
-.glyphicon-new-window:before {
-  content: "\e164";
-}
-.glyphicon-record:before {
-  content: "\e165";
-}
-.glyphicon-save:before {
-  content: "\e166";
-}
-.glyphicon-open:before {
-  content: "\e167";
-}
-.glyphicon-saved:before {
-  content: "\e168";
-}
-.glyphicon-import:before {
-  content: "\e169";
-}
-.glyphicon-export:before {
-  content: "\e170";
-}
-.glyphicon-send:before {
-  content: "\e171";
-}
-.glyphicon-floppy-disk:before {
-  content: "\e172";
-}
-.glyphicon-floppy-saved:before {
-  content: "\e173";
-}
-.glyphicon-floppy-remove:before {
-  content: "\e174";
-}
-.glyphicon-floppy-save:before {
-  content: "\e175";
-}
-.glyphicon-floppy-open:before {
-  content: "\e176";
-}
-.glyphicon-credit-card:before {
-  content: "\e177";
-}
-.glyphicon-transfer:before {
-  content: "\e178";
-}
-.glyphicon-cutlery:before {
-  content: "\e179";
-}
-.glyphicon-header:before {
-  content: "\e180";
-}
-.glyphicon-compressed:before {
-  content: "\e181";
-}
-.glyphicon-earphone:before {
-  content: "\e182";
-}
-.glyphicon-phone-alt:before {
-  content: "\e183";
-}
-.glyphicon-tower:before {
-  content: "\e184";
-}
-.glyphicon-stats:before {
-  content: "\e185";
-}
-.glyphicon-sd-video:before {
-  content: "\e186";
-}
-.glyphicon-hd-video:before {
-  content: "\e187";
-}
-.glyphicon-subtitles:before {
-  content: "\e188";
-}
-.glyphicon-sound-stereo:before {
-  content: "\e189";
-}
-.glyphicon-sound-dolby:before {
-  content: "\e190";
-}
-.glyphicon-sound-5-1:before {
-  content: "\e191";
-}
-.glyphicon-sound-6-1:before {
-  content: "\e192";
-}
-.glyphicon-sound-7-1:before {
-  content: "\e193";
-}
-.glyphicon-copyright-mark:before {
-  content: "\e194";
-}
-.glyphicon-registration-mark:before {
-  content: "\e195";
-}
-.glyphicon-cloud-download:before {
-  content: "\e197";
-}
-.glyphicon-cloud-upload:before {
-  content: "\e198";
-}
-.glyphicon-tree-conifer:before {
-  content: "\e199";
-}
-.glyphicon-tree-deciduous:before {
-  content: "\e200";
-}
-.caret {
-  display: inline-block;
-  width: 0;
-  height: 0;
-  margin-left: 2px;
-  vertical-align: middle;
-  border-top: 4px solid;
-  border-right: 4px solid transparent;
-  border-left: 4px solid transparent;
-}
-.dropdown {
-  position: relative;
-}
-.dropdown-toggle:focus {
-  outline: 0;
-}
-.dropdown-menu {
-  position: absolute;
-  top: 100%;
-  left: 0;
-  z-index: 1000;
-  display: none;
-  float: left;
-  min-width: 160px;
-  padding: 5px 0;
-  margin: 2px 0 0;
-  list-style: none;
-  font-size: 14px;
-  background-color: #ffffff;
-  border: 1px solid #cccccc;
-  border: 1px solid rgba(0, 0, 0, 0.15);
-  border-radius: 4px;
-  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
-  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
-  background-clip: padding-box;
-}
-.dropdown-menu.pull-right {
-  right: 0;
-  left: auto;
-}
-.dropdown-menu .divider {
-  height: 1px;
-  margin: 9px 0;
-  overflow: hidden;
-  background-color: #e5e5e5;
-}
-.dropdown-menu > li > a {
-  display: block;
-  padding: 3px 20px;
-  clear: both;
-  font-weight: normal;
-  line-height: 1.42857143;
-  color: #333333;
-  white-space: nowrap;
-}
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus {
-  text-decoration: none;
-  color: #262626;
-  background-color: #f5f5f5;
-}
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
-  color: #ffffff;
-  text-decoration: none;
-  outline: 0;
-  background-color: #428bca;
-}
-.dropdown-menu > .disabled > a,
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
-  color: #999999;
-}
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
-  text-decoration: none;
-  background-color: transparent;
-  background-image: none;
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  cursor: not-allowed;
-}
-.open > .dropdown-menu {
-  display: block;
-}
-.open > a {
-  outline: 0;
-}
-.dropdown-menu-right {
-  left: auto;
-  right: 0;
-}
-.dropdown-menu-left {
-  left: 0;
-  right: auto;
-}
-.dropdown-header {
-  display: block;
-  padding: 3px 20px;
-  font-size: 12px;
-  line-height: 1.42857143;
-  color: #999999;
-}
-.dropdown-backdrop {
-  position: fixed;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  top: 0;
-  z-index: 990;
-}
-.pull-right > .dropdown-menu {
-  right: 0;
-  left: auto;
-}
-.dropup .caret,
-.navbar-fixed-bottom .dropdown .caret {
-  border-top: 0;
-  border-bottom: 4px solid;
-  content: "";
-}
-.dropup .dropdown-menu,
-.navbar-fixed-bottom .dropdown .dropdown-menu {
-  top: auto;
-  bottom: 100%;
-  margin-bottom: 1px;
-}
-@media (min-width: 768px) {
-  .navbar-right .dropdown-menu {
-    left: auto;
-    right: 0;
-  }
-  .navbar-right .dropdown-menu-left {
-    left: 0;
-    right: auto;
-  }
-}
-.btn-group,
-.btn-group-vertical {
-  position: relative;
-  display: inline-block;
-  vertical-align: middle;
-}
-.btn-group > .btn,
-.btn-group-vertical > .btn {
-  position: relative;
-  float: left;
-}
-.btn-group > .btn:hover,
-.btn-group-vertical > .btn:hover,
-.btn-group > .btn:focus,
-.btn-group-vertical > .btn:focus,
-.btn-group > .btn:active,
-.btn-group-vertical > .btn:active,
-.btn-group > .btn.active,
-.btn-group-vertical > .btn.active {
-  z-index: 2;
-}
-.btn-group > .btn:focus,
-.btn-group-vertical > .btn:focus {
-  outline: none;
-}
-.btn-group .btn + .btn,
-.btn-group .btn + .btn-group,
-.btn-group .btn-group + .btn,
-.btn-group .btn-group + .btn-group {
-  margin-left: -1px;
-}
-.btn-toolbar {
-  margin-left: -5px;
-}
-.btn-toolbar .btn-group,
-.btn-toolbar .input-group {
-  float: left;
-}
-.btn-toolbar > .btn,
-.btn-toolbar > .btn-group,
-.btn-toolbar > .input-group {
-  margin-left: 5px;
-}
-.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
-  border-radius: 0;
-}
-.btn-group > .btn:first-child {
-  margin-left: 0;
-}
-.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
-  border-bottom-right-radius: 0;
-  border-top-right-radius: 0;
-}
-.btn-group > .btn:last-child:not(:first-child),
-.btn-group > .dropdown-toggle:not(:first-child) {
-  border-bottom-left-radius: 0;
-  border-top-left-radius: 0;
-}
-.btn-group > .btn-group {
-  float: left;
-}
-.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
-  border-radius: 0;
-}
-.btn-group > .btn-group:first-child > .btn:last-child,
-.btn-group > .btn-group:first-child > .dropdown-toggle {
-  border-bottom-right-radius: 0;
-  border-top-right-radius: 0;
-}
-.btn-group > .btn-group:last-child > .btn:first-child {
-  border-bottom-left-radius: 0;
-  border-top-left-radius: 0;
-}
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
-  outline: 0;
-}
-.btn-group > .btn + .dropdown-toggle {
-  padding-left: 8px;
-  padding-right: 8px;
-}
-.btn-group > .btn-lg + .dropdown-toggle {
-  padding-left: 12px;
-  padding-right: 12px;
-}
-.btn-group.open .dropdown-toggle {
-  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-}
-.btn-group.open .dropdown-toggle.btn-link {
-  -webkit-box-shadow: none;
-  box-shadow: none;
-}
-.btn .caret {
-  margin-left: 0;
-}
-.btn-lg .caret {
-  border-width: 5px 5px 0;
-  border-bottom-width: 0;
-}
-.dropup .btn-lg .caret {
-  border-width: 0 5px 5px;
-}
-.btn-group-vertical > .btn,
-.btn-group-vertical > .btn-group,
-.btn-group-vertical > .btn-group > .btn {
-  display: block;
-  float: none;
-  width: 100%;
-  max-width: 100%;
-}
-.btn-group-vertical > .btn-group > .btn {
-  float: none;
-}
-.btn-group-vertical > .btn + .btn,
-.btn-group-vertical > .btn + .btn-group,
-.btn-group-vertical > .btn-group + .btn,
-.btn-group-vertical > .btn-group + .btn-group {
-  margin-top: -1px;
-  margin-left: 0;
-}
-.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
-  border-radius: 0;
-}
-.btn-group-vertical > .btn:first-child:not(:last-child) {
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.btn-group-vertical > .btn:last-child:not(:first-child) {
-  border-bottom-left-radius: 4px;
-  border-top-right-radius: 0;
-  border-top-left-radius: 0;
-}
-.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
-  border-radius: 0;
-}
-.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
-.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
-  border-top-right-radius: 0;
-  border-top-left-radius: 0;
-}
-.btn-group-justified {
-  display: table;
-  width: 100%;
-  table-layout: fixed;
-  border-collapse: separate;
-}
-.btn-group-justified > .btn,
-.btn-group-justified > .btn-group {
-  float: none;
-  display: table-cell;
-  width: 1%;
-}
-.btn-group-justified > .btn-group .btn {
-  width: 100%;
-}
-[data-toggle="buttons"] > .btn > input[type="radio"],
-[data-toggle="buttons"] > .btn > input[type="checkbox"] {
-  display: none;
-}
-.input-group {
-  position: relative;
-  display: table;
-  border-collapse: separate;
-}
-.input-group[class*="col-"] {
-  float: none;
-  padding-left: 0;
-  padding-right: 0;
-}
-.input-group .form-control {
-  position: relative;
-  z-index: 2;
-  float: left;
-  width: 100%;
-  margin-bottom: 0;
-}
-.input-group-lg > .form-control,
-.input-group-lg > .input-group-addon,
-.input-group-lg > .input-group-btn > .btn {
-  height: 46px;
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.33;
-  border-radius: 6px;
-}
-select.input-group-lg > .form-control,
-select.input-group-lg > .input-group-addon,
-select.input-group-lg > .input-group-btn > .btn {
-  height: 46px;
-  line-height: 46px;
-}
-textarea.input-group-lg > .form-control,
-textarea.input-group-lg > .input-group-addon,
-textarea.input-group-lg > .input-group-btn > .btn,
-select[multiple].input-group-lg > .form-control,
-select[multiple].input-group-lg > .input-group-addon,
-select[multiple].input-group-lg > .input-group-btn > .btn {
-  height: auto;
-}
-.input-group-sm > .form-control,
-.input-group-sm > .input-group-addon,
-.input-group-sm > .input-group-btn > .btn {
-  height: 30px;
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-select.input-group-sm > .form-control,
-select.input-group-sm > .input-group-addon,
-select.input-group-sm > .input-group-btn > .btn {
-  height: 30px;
-  line-height: 30px;
-}
-textarea.input-group-sm > .form-control,
-textarea.input-group-sm > .input-group-addon,
-textarea.input-group-sm > .input-group-btn > .btn,
-select[multiple].input-group-sm > .form-control,
-select[multiple].input-group-sm > .input-group-addon,
-select[multiple].input-group-sm > .input-group-btn > .btn {
-  height: auto;
-}
-.input-group-addon,
-.input-group-btn,
-.input-group .form-control {
-  display: table-cell;
-}
-.input-group-addon:not(:first-child):not(:last-child),
-.input-group-btn:not(:first-child):not(:last-child),
-.input-group .form-control:not(:first-child):not(:last-child) {
-  border-radius: 0;
-}
-.input-group-addon,
-.input-group-btn {
-  width: 1%;
-  white-space: nowrap;
-  vertical-align: middle;
-}
-.input-group-addon {
-  padding: 6px 12px;
-  font-size: 14px;
-  font-weight: normal;
-  line-height: 1;
-  color: #555555;
-  text-align: center;
-  background-color: #eeeeee;
-  border: 1px solid #cccccc;
-  border-radius: 4px;
-}
-.input-group-addon.input-sm {
-  padding: 5px 10px;
-  font-size: 12px;
-  border-radius: 3px;
-}
-.input-group-addon.input-lg {
-  padding: 10px 16px;
-  font-size: 18px;
-  border-radius: 6px;
-}
-.input-group-addon input[type="radio"],
-.input-group-addon input[type="checkbox"] {
-  margin-top: 0;
-}
-.input-group .form-control:first-child,
-.input-group-addon:first-child,
-.input-group-btn:first-child > .btn,
-.input-group-btn:first-child > .btn-group > .btn,
-.input-group-btn:first-child > .dropdown-toggle,
-.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
-.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
-  border-bottom-right-radius: 0;
-  border-top-right-radius: 0;
-}
-.input-group-addon:first-child {
-  border-right: 0;
-}
-.input-group .form-control:last-child,
-.input-group-addon:last-child,
-.input-group-btn:last-child > .btn,
-.input-group-btn:last-child > .btn-group > .btn,
-.input-group-btn:last-child > .dropdown-toggle,
-.input-group-btn:first-child > .btn:not(:first-child),
-.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
-  border-bottom-left-radius: 0;
-  border-top-left-radius: 0;
-}
-.input-group-addon:last-child {
-  border-left: 0;
-}
-.input-group-btn {
-  position: relative;
-  font-size: 0;
-  white-space: nowrap;
-}
-.input-group-btn > .btn {
-  position: relative;
-}
-.input-group-btn > .btn + .btn {
-  margin-left: -1px;
-}
-.input-group-btn > .btn:hover,
-.input-group-btn > .btn:focus,
-.input-group-btn > .btn:active {
-  z-index: 2;
-}
-.input-group-btn:first-child > .btn,
-.input-group-btn:first-child > .btn-group {
-  margin-right: -1px;
-}
-.input-group-btn:last-child > .btn,
-.input-group-btn:last-child > .btn-group {
-  margin-left: -1px;
-}
-.nav {
-  margin-bottom: 0;
-  padding-left: 0;
-  list-style: none;
-}
-.nav > li {
-  position: relative;
-  display: block;
-}
-.nav > li > a {
-  position: relative;
-  display: block;
-  padding: 10px 15px;
-}
-.nav > li > a:hover,
-.nav > li > a:focus {
-  text-decoration: none;
-  background-color: #eeeeee;
-}
-.nav > li.disabled > a {
-  color: #999999;
-}
-.nav > li.disabled > a:hover,
-.nav > li.disabled > a:focus {
-  color: #999999;
-  text-decoration: none;
-  background-color: transparent;
-  cursor: not-allowed;
-}
-.nav .open > a,
-.nav .open > a:hover,
-.nav .open > a:focus {
-  background-color: #eeeeee;
-  border-color: #428bca;
-}
-.nav .nav-divider {
-  height: 1px;
-  margin: 9px 0;
-  overflow: hidden;
-  background-color: #e5e5e5;
-}
-.nav > li > a > img {
-  max-width: none;
-}
-.nav-tabs {
-  border-bottom: 1px solid #dddddd;
-}
-.nav-tabs > li {
-  float: left;
-  margin-bottom: -1px;
-}
-.nav-tabs > li > a {
-  margin-right: 2px;
-  line-height: 1.42857143;
-  border: 1px solid transparent;
-  border-radius: 4px 4px 0 0;
-}
-.nav-tabs > li > a:hover {
-  border-color: #eeeeee #eeeeee #dddddd;
-}
-.nav-tabs > li.active > a,
-.nav-tabs > li.active > a:hover,
-.nav-tabs > li.active > a:focus {
-  color: #555555;
-  background-color: #ffffff;
-  border: 1px solid #dddddd;
-  border-bottom-color: transparent;
-  cursor: default;
-}
-.nav-tabs.nav-justified {
-  width: 100%;
-  border-bottom: 0;
-}
-.nav-tabs.nav-justified > li {
-  float: none;
-}
-.nav-tabs.nav-justified > li > a {
-  text-align: center;
-  margin-bottom: 5px;
-}
-.nav-tabs.nav-justified > .dropdown .dropdown-menu {
-  top: auto;
-  left: auto;
-}
-@media (min-width: 768px) {
-  .nav-tabs.nav-justified > li {
-    display: table-cell;
-    width: 1%;
-  }
-  .nav-tabs.nav-justified > li > a {
-    margin-bottom: 0;
-  }
-}
-.nav-tabs.nav-justified > li > a {
-  margin-right: 0;
-  border-radius: 4px;
-}
-.nav-tabs.nav-justified > .active > a,
-.nav-tabs.nav-justified > .active > a:hover,
-.nav-tabs.nav-justified > .active > a:focus {
-  border: 1px solid #dddddd;
-}
-@media (min-width: 768px) {
-  .nav-tabs.nav-justified > li > a {
-    border-bottom: 1px solid #dddddd;
-    border-radius: 4px 4px 0 0;
-  }
-  .nav-tabs.nav-justified > .active > a,
-  .nav-tabs.nav-justified > .active > a:hover,
-  .nav-tabs.nav-justified > .active > a:focus {
-    border-bottom-color: #ffffff;
-  }
-}
-.nav-pills > li {
-  float: left;
-}
-.nav-pills > li > a {
-  border-radius: 4px;
-}
-.nav-pills > li + li {
-  margin-left: 2px;
-}
-.nav-pills > li.active > a,
-.nav-pills > li.active > a:hover,
-.nav-pills > li.active > a:focus {
-  color: #ffffff;
-  background-color: #428bca;
-}
-.nav-stacked > li {
-  float: none;
-}
-.nav-stacked > li + li {
-  margin-top: 2px;
-  margin-left: 0;
-}
-.nav-justified {
-  width: 100%;
-}
-.nav-justified > li {
-  float: none;
-}
-.nav-justified > li > a {
-  text-align: center;
-  margin-bottom: 5px;
-}
-.nav-justified > .dropdown .dropdown-menu {
-  top: auto;
-  left: auto;
-}
-@media (min-width: 768px) {
-  .nav-justified > li {
-    display: table-cell;
-    width: 1%;
-  }
-  .nav-justified > li > a {
-    margin-bottom: 0;
-  }
-}
-.nav-tabs-justified {
-  border-bottom: 0;
-}
-.nav-tabs-justified > li > a {
-  margin-right: 0;
-  border-radius: 4px;
-}
-.nav-tabs-justified > .active > a,
-.nav-tabs-justified > .active > a:hover,
-.nav-tabs-justified > .active > a:focus {
-  border: 1px solid #dddddd;
-}
-@media (min-width: 768px) {
-  .nav-tabs-justified > li > a {
-    border-bottom: 1px solid #dddddd;
-    border-radius: 4px 4px 0 0;
-  }
-  .nav-tabs-justified > .active > a,
-  .nav-tabs-justified > .active > a:hover,
-  .nav-tabs-justified > .active > a:focus {
-    border-bottom-color: #ffffff;
-  }
-}
-.tab-content > .tab-pane {
-  display: none;
-}
-.tab-content > .active {
-  display: block;
-}
-.nav-tabs .dropdown-menu {
-  margin-top: -1px;
-  border-top-right-radius: 0;
-  border-top-left-radius: 0;
-}
-.navbar {
-  position: relative;
-  min-height: 50px;
-  margin-bottom: 20px;
-  border: 1px solid transparent;
-}
-@media (min-width: 768px) {
-  .navbar {
-    border-radius: 4px;
-  }
-}
-@media (min-width: 768px) {
-  .navbar-header {
-    float: left;
-  }
-}
-.navbar-collapse {
-  max-height: 340px;
-  overflow-x: visible;
-  padding-right: 15px;
-  padding-left: 15px;
-  border-top: 1px solid transparent;
-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
-  -webkit-overflow-scrolling: touch;
-}
-.navbar-collapse.in {
-  overflow-y: auto;
-}
-@media (min-width: 768px) {
-  .navbar-collapse {
-    width: auto;
-    border-top: 0;
-    box-shadow: none;
-  }
-  .navbar-collapse.collapse {
-    display: block !important;
-    height: auto !important;
-    padding-bottom: 0;
-    overflow: visible !important;
-  }
-  .navbar-collapse.in {
-    overflow-y: visible;
-  }
-  .navbar-fixed-top .navbar-collapse,
-  .navbar-static-top .navbar-collapse,
-  .navbar-fixed-bottom .navbar-collapse {
-    padding-left: 0;
-    padding-right: 0;
-  }
-}
-.container > .navbar-header,
-.container-fluid > .navbar-header,
-.container > .navbar-collapse,
-.container-fluid > .navbar-collapse {
-  margin-right: -15px;
-  margin-left: -15px;
-}
-@media (min-width: 768px) {
-  .container > .navbar-header,
-  .container-fluid > .navbar-header,
-  .container > .navbar-collapse,
-  .container-fluid > .navbar-collapse {
-    margin-right: 0;
-    margin-left: 0;
-  }
-}
-.navbar-static-top {
-  z-index: 1000;
-  border-width: 0 0 1px;
-}
-@media (min-width: 768px) {
-  .navbar-static-top {
-    border-radius: 0;
-  }
-}
-.navbar-fixed-top,
-.navbar-fixed-bottom {
-  position: fixed;
-  right: 0;
-  left: 0;
-  z-index: 1030;
-}
-@media (min-width: 768px) {
-  .navbar-fixed-top,
-  .navbar-fixed-bottom {
-    border-radius: 0;
-  }
-}
-.navbar-fixed-top {
-  top: 0;
-  border-width: 0 0 1px;
-}
-.navbar-fixed-bottom {
-  bottom: 0;
-  margin-bottom: 0;
-  border-width: 1px 0 0;
-}
-.navbar-brand {
-  float: left;
-  padding: 15px 15px;
-  font-size: 18px;
-  line-height: 20px;
-  height: 50px;
-}
-.navbar-brand:hover,
-.navbar-brand:focus {
-  text-decoration: none;
-}
-@media (min-width: 768px) {
-  .navbar > .container .navbar-brand,
-  .navbar > .container-fluid .navbar-brand {
-    margin-left: -15px;
-  }
-}
-.navbar-toggle {
-  position: relative;
-  float: right;
-  margin-right: 15px;
-  padding: 9px 10px;
-  margin-top: 8px;
-  margin-bottom: 8px;
-  background-color: transparent;
-  background-image: none;
-  border: 1px solid transparent;
-  border-radius: 4px;
-}
-.navbar-toggle:focus {
-  outline: none;
-}
-.navbar-toggle .icon-bar {
-  display: block;
-  width: 22px;
-  height: 2px;
-  border-radius: 1px;
-}
-.navbar-toggle .icon-bar + .icon-bar {
-  margin-top: 4px;
-}
-@media (min-width: 768px) {
-  .navbar-toggle {
-    display: none;
-  }
-}
-.navbar-nav {
-  margin: 7.5px -15px;
-}
-.navbar-nav > li > a {
-  padding-top: 10px;
-  padding-bottom: 10px;
-  line-height: 20px;
-}
-@media (max-width: 767px) {
-  .navbar-nav .open .dropdown-menu {
-    position: static;
-    float: none;
-    width: auto;
-    margin-top: 0;
-    background-color: transparent;
-    border: 0;
-    box-shadow: none;
-  }
-  .navbar-nav .open .dropdown-menu > li > a,
-  .navbar-nav .open .dropdown-menu .dropdown-header {
-    padding: 5px 15px 5px 25px;
-  }
-  .navbar-nav .open .dropdown-menu > li > a {
-    line-height: 20px;
-  }
-  .navbar-nav .open .dropdown-menu > li > a:hover,
-  .navbar-nav .open .dropdown-menu > li > a:focus {
-    background-image: none;
-  }
-}
-@media (min-width: 768px) {
-  .navbar-nav {
-    float: left;
-    margin: 0;
-  }
-  .navbar-nav > li {
-    float: left;
-  }
-  .navbar-nav > li > a {
-    padding-top: 15px;
-    padding-bottom: 15px;
-  }
-  .navbar-nav.navbar-right:last-child {
-    margin-right: -15px;
-  }
-}
-@media (min-width: 768px) {
-  .navbar-left {
-    float: left !important;
-  }
-  .navbar-right {
-    float: right !important;
-  }
-}
-.navbar-form {
-  margin-left: -15px;
-  margin-right: -15px;
-  padding: 10px 15px;
-  border-top: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-  margin-top: 8px;
-  margin-bottom: 8px;
-}
-@media (min-width: 768px) {
-  .navbar-form .form-group {
-    display: inline-block;
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .navbar-form .form-control {
-    display: inline-block;
-    width: auto;
-    vertical-align: middle;
-  }
-  .navbar-form .input-group > .form-control {
-    width: 100%;
-  }
-  .navbar-form .control-label {
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .navbar-form .radio,
-  .navbar-form .checkbox {
-    display: inline-block;
-    margin-top: 0;
-    margin-bottom: 0;
-    padding-left: 0;
-    vertical-align: middle;
-  }
-  .navbar-form .radio input[type="radio"],
-  .navbar-form .checkbox input[type="checkbox"] {
-    float: none;
-    margin-left: 0;
-  }
-  .navbar-form .has-feedback .form-control-feedback {
-    top: 0;
-  }
-}
-@media (max-width: 767px) {
-  .navbar-form .form-group {
-    margin-bottom: 5px;
-  }
-}
-@media (min-width: 768px) {
-  .navbar-form {
-    width: auto;
-    border: 0;
-    margin-left: 0;
-    margin-right: 0;
-    padding-top: 0;
-    padding-bottom: 0;
-    -webkit-box-shadow: none;
-    box-shadow: none;
-  }
-  .navbar-form.navbar-right:last-child {
-    margin-right: -15px;
-  }
-}
-.navbar-nav > li > .dropdown-menu {
-  margin-top: 0;
-  border-top-right-radius: 0;
-  border-top-left-radius: 0;
-}
-.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.navbar-btn {
-  margin-top: 8px;
-  margin-bottom: 8px;
-}
-.navbar-btn.btn-sm {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-.navbar-btn.btn-xs {
-  margin-top: 14px;
-  margin-bottom: 14px;
-}
-.navbar-text {
-  margin-top: 15px;
-  margin-bottom: 15px;
-}
-@media (min-width: 768px) {
-  .navbar-text {
-    float: left;
-    margin-left: 15px;
-    margin-right: 15px;
-  }
-  .navbar-text.navbar-right:last-child {
-    margin-right: 0;
-  }
-}
-.navbar-default {
-  background-color: #f8f8f8;
-  border-color: #e7e7e7;
-}
-.navbar-default .navbar-brand {
-  color: #777777;
-}
-.navbar-default .navbar-brand:hover,
-.navbar-default .navbar-brand:focus {
-  color: #5e5e5e;
-  background-color: transparent;
-}
-.navbar-default .navbar-text {
-  color: #777777;
-}
-.navbar-default .navbar-nav > li > a {
-  color: #777777;
-}
-.navbar-default .navbar-nav > li > a:hover,
-.navbar-default .navbar-nav > li > a:focus {
-  color: #333333;
-  background-color: transparent;
-}
-.navbar-default .navbar-nav > .active > a,
-.navbar-default .navbar-nav > .active > a:hover,
-.navbar-default .navbar-nav > .active > a:focus {
-  color: #555555;
-  background-color: #e7e7e7;
-}
-.navbar-default .navbar-nav > .disabled > a,
-.navbar-default .navbar-nav > .disabled > a:hover,
-.navbar-default .navbar-nav > .disabled > a:focus {
-  color: #cccccc;
-  background-color: transparent;
-}
-.navbar-default .navbar-toggle {
-  border-color: #dddddd;
-}
-.navbar-default .navbar-toggle:hover,
-.navbar-default .navbar-toggle:focus {
-  background-color: #dddddd;
-}
-.navbar-default .navbar-toggle .icon-bar {
-  background-color: #888888;
-}
-.navbar-default .navbar-collapse,
-.navbar-default .navbar-form {
-  border-color: #e7e7e7;
-}
-.navbar-default .navbar-nav > .open > a,
-.navbar-default .navbar-nav > .open > a:hover,
-.navbar-default .navbar-nav > .open > a:focus {
-  background-color: #e7e7e7;
-  color: #555555;
-}
-@media (max-width: 767px) {
-  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
-    color: #777777;
-  }
-  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
-  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
-    color: #333333;
-    background-color: transparent;
-  }
-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
-    color: #555555;
-    background-color: #e7e7e7;
-  }
-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
-    color: #cccccc;
-    background-color: transparent;
-  }
-}
-.navbar-default .navbar-link {
-  color: #777777;
-}
-.navbar-default .navbar-link:hover {
-  color: #333333;
-}
-.navbar-inverse {
-  background-color: #222222;
-  border-color: #080808;
-}
-.navbar-inverse .navbar-brand {
-  color: #999999;
-}
-.navbar-inverse .navbar-brand:hover,
-.navbar-inverse .navbar-brand:focus {
-  color: #ffffff;
-  background-color: transparent;
-}
-.navbar-inverse .navbar-text {
-  color: #999999;
-}
-.navbar-inverse .navbar-nav > li > a {
-  color: #999999;
-}
-.navbar-inverse .navbar-nav > li > a:hover,
-.navbar-inverse .navbar-nav > li > a:focus {
-  color: #ffffff;
-  background-color: transparent;
-}
-.navbar-inverse .navbar-nav > .active > a,
-.navbar-inverse .navbar-nav > .active > a:hover,
-.navbar-inverse .navbar-nav > .active > a:focus {
-  color: #ffffff;
-  background-color: #080808;
-}
-.navbar-inverse .navbar-nav > .disabled > a,
-.navbar-inverse .navbar-nav > .disabled > a:hover,
-.navbar-inverse .navbar-nav > .disabled > a:focus {
-  color: #444444;
-  background-color: transparent;
-}
-.navbar-inverse .navbar-toggle {
-  border-color: #333333;
-}
-.navbar-inverse .navbar-toggle:hover,
-.navbar-inverse .navbar-toggle:focus {
-  background-color: #333333;
-}
-.navbar-inverse .navbar-toggle .icon-bar {
-  background-color: #ffffff;
-}
-.navbar-inverse .navbar-collapse,
-.navbar-inverse .navbar-form {
-  border-color: #101010;
-}
-.navbar-inverse .navbar-nav > .open > a,
-.navbar-inverse .navbar-nav > .open > a:hover,
-.navbar-inverse .navbar-nav > .open > a:focus {
-  background-color: #080808;
-  color: #ffffff;
-}
-@media (max-width: 767px) {
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
-    border-color: #080808;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
-    background-color: #080808;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
-    color: #999999;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
-    color: #ffffff;
-    background-color: transparent;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
-    color: #ffffff;
-    background-color: #080808;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
-    color: #444444;
-    background-color: transparent;
-  }
-}
-.navbar-inverse .navbar-link {
-  color: #999999;
-}
-.navbar-inverse .navbar-link:hover {
-  color: #ffffff;
-}
-.breadcrumb {
-  padding: 8px 15px;
-  margin-bottom: 20px;
-  list-style: none;
-  background-color: #f5f5f5;
-  border-radius: 4px;
-}
-.breadcrumb > li {
-  display: inline-block;
-}
-.breadcrumb > li + li:before {
-  content: "/\00a0";
-  padding: 0 5px;
-  color: #cccccc;
-}
-.breadcrumb > .active {
-  color: #999999;
-}
-.pagination {
-  display: inline-block;
-  padding-left: 0;
-  margin: 20px 0;
-  border-radius: 4px;
-}
-.pagination > li {
-  display: inline;
-}
-.pagination > li > a,
-.pagination > li > span {
-  position: relative;
-  float: left;
-  padding: 6px 12px;
-  line-height: 1.42857143;
-  text-decoration: none;
-  color: #428bca;
-  background-color: #ffffff;
-  border: 1px solid #dddddd;
-  margin-left: -1px;
-}
-.pagination > li:first-child > a,
-.pagination > li:first-child > span {
-  margin-left: 0;
-  border-bottom-left-radius: 4px;
-  border-top-left-radius: 4px;
-}
-.pagination > li:last-child > a,
-.pagination > li:last-child > span {
-  border-bottom-right-radius: 4px;
-  border-top-right-radius: 4px;
-}
-.pagination > li > a:hover,
-.pagination > li > span:hover,
-.pagination > li > a:focus,
-.pagination > li > span:focus {
-  color: #2a6496;
-  background-color: #eeeeee;
-  border-color: #dddddd;
-}
-.pagination > .active > a,
-.pagination > .active > span,
-.pagination > .active > a:hover,
-.pagination > .active > span:hover,
-.pagination > .active > a:focus,
-.pagination > .active > span:focus {
-  z-index: 2;
-  color: #ffffff;
-  background-color: #428bca;
-  border-color: #428bca;
-  cursor: default;
-}
-.pagination > .disabled > span,
-.pagination > .disabled > span:hover,
-.pagination > .disabled > span:focus,
-.pagination > .disabled > a,
-.pagination > .disabled > a:hover,
-.pagination > .disabled > a:focus {
-  color: #999999;
-  background-color: #ffffff;
-  border-color: #dddddd;
-  cursor: not-allowed;
-}
-.pagination-lg > li > a,
-.pagination-lg > li > span {
-  padding: 10px 16px;
-  font-size: 18px;
-}
-.pagination-lg > li:first-child > a,
-.pagination-lg > li:first-child > span {
-  border-bottom-left-radius: 6px;
-  border-top-left-radius: 6px;
-}
-.pagination-lg > li:last-child > a,
-.pagination-lg > li:last-child > span {
-  border-bottom-right-radius: 6px;
-  border-top-right-radius: 6px;
-}
-.pagination-sm > li > a,
-.pagination-sm > li > span {
-  padding: 5px 10px;
-  font-size: 12px;
-}
-.pagination-sm > li:first-child > a,
-.pagination-sm > li:first-child > span {
-  border-bottom-left-radius: 3px;
-  border-top-left-radius: 3px;
-}
-.pagination-sm > li:last-child > a,
-.pagination-sm > li:last-child > span {
-  border-bottom-right-radius: 3px;
-  border-top-right-radius: 3px;
-}
-.pager {
-  padding-left: 0;
-  margin: 20px 0;
-  list-style: none;
-  text-align: center;
-}
-.pager li {
-  display: inline;
-}
-.pager li > a,
-.pager li > span {
-  display: inline-block;
-  padding: 5px 14px;
-  background-color: #ffffff;
-  border: 1px solid #dddddd;
-  border-radius: 15px;
-}
-.pager li > a:hover,
-.pager li > a:focus {
-  text-decoration: none;
-  background-color: #eeeeee;
-}
-.pager .next > a,
-.pager .next > span {
-  float: right;
-}
-.pager .previous > a,
-.pager .previous > span {
-  float: left;
-}
-.pager .disabled > a,
-.pager .disabled > a:hover,
-.pager .disabled > a:focus,
-.pager .disabled > span {
-  color: #999999;
-  background-color: #ffffff;
-  cursor: not-allowed;
-}
-.label {
-  display: inline;
-  padding: .2em .6em .3em;
-  font-size: 75

<TRUNCATED>


[36/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/threeDVariableTwoDSlice.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/threeDVariableTwoDSlice.scala.html b/app/views/climate/threeDVariableTwoDSlice.scala.html
deleted file mode 100644
index d950b73..0000000
--- a/app/views/climate/threeDVariableTwoDSlice.scala.html
+++ /dev/null
@@ -1,711 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(parameters: metadata.ThreeDVar2DSlice) @import helper._
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-@scripts = {
-<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-<script type="text/javascript"
-	src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js"></script>
-<script type="
-	text/javascript"
-	src='@routes.Assets.at("javascripts/json2.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/xmisc.js")'></script>
-<script type="text/javascript">
-	 var Response = null;
-    var variable = "";
-    window.onload = function() {
-      changeMonths();
-      changeDataSource();
-      select_data();
-      changeVariableName();
-      select_var();
-      enable_download_button();
-      $('#t0').val($('#startYearMonth').text());
-      $('#t1').val($('#endYearMonth').text());
-      $('#pres').val($('#pressureLevel').text());
-      $('#lat0').val($('#startLat').text());
-      $('#lat1').val($('#endLat').text());
-      $('#lon0').val($('#startLon').text());
-      $('#lon1').val($('#endLon').text());
-      $('#purpose').html($('#executionPurpose').text());
-      var imageUrl = $('#image').text();
-      $('#Image').html('<img src="'+imageUrl+'" width=680 />');
-      $('#data_url').html($('#dataURL').text());
-      $('#Response').html($('serviceResponseText').text());
-      var colorScale = $('#colorScale').text();
-      if(colorScale == "0") {
-        $('#radioLin').prop( "checked", true );
-        $('#radioLog').prop( "checked", false );
-      }
-      else {
-        $('#radioLin').prop( "checked", false );
-        $('#radioLog').prop( "checked", true );
-      }
-    }
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=true;
-    }
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }         
-    function changeMonths(){
-      var months = $("#monthsPara").text();
-      var temp = months.split(", ");
-      for(i = 0;i < temp.length;i ++){
-        if(temp[i] == 'jan'){
-          document.getElementById('Jan').checked = true;
-        }else if(temp[i] == 'feb'){
-          document.getElementById('Feb').checked = true;
-        }else if(temp[i] == 'mar'){
-          document.getElementById('Mar').checked = true;
-        }else if(temp[i] == 'apr'){
-          document.getElementById('Apr').checked = true;
-        }else if(temp[i] == 'may'){
-          document.getElementById('May').checked = true;
-        }else if(temp[i] == 'jun'){
-          document.getElementById('Jun').checked = true;
-        }else if(temp[i] == 'jul'){
-          document.getElementById('Jul').checked = true;
-        }else if(temp[i] == 'aug'){
-          document.getElementById('Aug').checked = true;
-        }else if(temp[i] == 'sep'){
-          document.getElementById('Sep').checked = true;
-        }else if(temp[i] == 'oct'){
-          document.getElementById('Oct').checked = true;
-        }else if(temp[i] == 'nov'){
-          document.getElementById('Nov').checked = true;
-        }else if(temp[i] == 'dec'){
-          document.getElementById('Dec').checked = true;
-        }
-      }
-    }
-    function select_all_months()
-    {
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-        document.getElementById('Dec').checked = true;
-    }
-    function no_month_check()
-    {
-        if (document.getElementById('Jan').checked == false &&
-           document.getElementById('Feb').checked == false &&
-           document.getElementById('Mar').checked == false &&
-           document.getElementById('Apr').checked == false &&
-           document.getElementById('May').checked == false &&
-           document.getElementById('Jun').checked == false &&
-           document.getElementById('Jul').checked == false &&
-           document.getElementById('Aug').checked == false &&
-           document.getElementById('Sep').checked == false &&
-           document.getElementById('Oct').checked == false &&
-           document.getElementById('Nov').checked == false &&
-           document.getElementById('Dec').checked == false) {
-           return true;
-          }
-        else
-           return false;
-    }
-    function reset_months()
-    {
-        document.getElementById('Jan').checked = false;
-        document.getElementById('Feb').checked = false;
-        document.getElementById('Mar').checked = false;
-        document.getElementById('Apr').checked = false;
-        document.getElementById('May').checked = false;
-        document.getElementById('Jun').checked = false;
-        document.getElementById('Jul').checked = false;
-        document.getElementById('Aug').checked = false;
-        document.getElementById('Sep').checked = false;
-        document.getElementById('Oct').checked = false;
-        document.getElementById('Nov').checked = false;
-        document.getElementById('Dec').checked = false;
-    }
-    function reset_vars()
-    {
-      var x=document.getElementById("var");
-      x.options[0].disabled=false;
-      x.options[1].disabled=false;
-      x.options[2].disabled=false;
-      x.options[3].disabled=false;
-      x.options[4].disabled=false;
-      x.options[5].disabled=false;
-      x.options[6].disabled=false;
-      x.options[7].disabled=false;
-    }
-    function select_var()
-    {
-      var var_string = $("#var").val();
-      disable_download_button();
-      if (var_string == "Air Temperature")
-        variable = "ta";
-      else if (var_string == "Specific Humidity")
-        variable = "hus";
-      else if (var_string == "Cloud Ice Water Content")
-        variable = "cli";
-      else if (var_string == "Cloud Liquid Water Content")
-        variable = "clw";
-      else if (var_string == "Ocean Temperature")
-        variable = "ot";
-      else if (var_string == "Ocean Salinity")
-        variable = "os";
-      else if (var_string == "Vertical Wind Velocity")
-        variable = "wap";
-      else if (var_string == "Relative Humidity")
-        variable = "hur";
-    }
-    function select_data()
-    {
-      var data_string = $("#data").val();
-      var x=document.getElementById("var");
-      disable_download_button();
-      reset_vars();
-      if (data_string == "NASA/AIRS") {
-        x.options[0].selected=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "NASA/MLS") {
-        x.options[0].selected=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "ARGO/ARGO") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].selected=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "ECMWF/interim") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].selected=true;
-      }
-      else { 
-        x.options[0].selected=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-      }
-      select_var();
-    }
-    function changeDataSource(){
-      var dataSource = $('#dataSource').text();
-      var x = document.getElementById("data");
-      if(dataSource == "NASA_AIRS" ){
-        x.options[0].selected=true;
-      }
-      else if(dataSource == "NASA_MLS" ){
-        x.options[1].selected=true;
-      }
-      else if(dataSource == "NASA_ARGO" ){
-        x.options[2].selected=true;
-      }
-      else if(dataSource == "CCCMA_CANESM2" ){
-        x.options[3].selected=true;
-      }
-      else if(dataSource == "GFDL_ESM2G" ){
-        x.options[4].selected=true;
-      }
-      else if(dataSource == "GISS_E2-H" ){
-        x.options[5].selected=true;
-      }
-      else if(dataSource == "GISS_E2-R" ){
-        x.options[6].selected=true;
-      }
-      else if(dataSource == "NCAR_CAM5" ){
-        x.options[7].selected=true;
-      }
-      else if(dataSource == "NCC_NORESM" ){
-        x.options[8].selected=true;
-      }
-      else if(dataSource == "UKMO_HadGEM2-ES-A" ){
-        x.options[9].selected=true;
-      }
-      else if(dataSource == "CCCMA_CANAM4" ){
-        x.options[10].selected=true;
-      }
-      else if(dataSource == "CSIRO_MK3.6" ){
-        x.options[11].selected=true;
-      }
-      else if(dataSource == "GFDL_CM3" ){
-        x.options[12].selected=true;
-      }
-      else if(dataSource == "IPSL_CM5A-LR" ){
-        x.options[13].selected=true;
-      }
-      else if(dataSource == "MIROC_MIROC5" ){
-        x.options[14].selected=true;
-      }
-      else if(dataSource == "UKMO_HadGEM2-A" ){
-        x.options[15].selected=true;
-      }
-      else if(dataSource == "ECMWF_interim" ){
-        x.options[16].selected=true;
-      }
-    }
-    function changeVariableName(){
-      var var_string = $('#variableName').text();
-      var x = document.getElementById("var");
-      if (var_string == "ta")
-        x.options[0].selected=true;
-        else if (var_string == "hus")
-          x.options[1].selected=true;
-        else if (var_string == "cli"){
-          x.options[2].selected=true;
-        }else if (var_string == "clw")
-          x.options[3].selected=true;
-        else if (var_string == "ot")
-          x.options[4].selected=true;
-        else if (var_string == "os")
-          x.options[5].selected=true;
-        else if (var_string == "wap")
-          x.options[6].selected=true;
-        else if (var_string == "hur")
-          x.options[7].selected=true;
-    }
-    function select_months()
-    {
-      var s1=document.getElementById("months");
-      disable_download_button();
-      if (s1.selectedIndex == 1) {
-        reset_months();
-      }
-      if (s1.selectedIndex == 0) {
-        select_all_months();
-      }
-      if (s1.selectedIndex == 2) {
-        reset_months();
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-      }
-      if (s1.selectedIndex == 3) {
-        reset_months();
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-      }
-      if (s1.selectedIndex == 4) {
-        reset_months();
-        document.getElementById('Dec').checked = true;
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-      }
-      if (s1.selectedIndex == 5) {
-        reset_months();
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-      }
-    }
-    $(document).ready(function(){
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        window.location.assign(durl);
-      });
-      $("#twodvarmap").click(function(event) {
-	Response = null;
-        disable_download_button();
-        if (no_month_check()) {
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        }
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-        var url = "http://" + window.location.hostname + ":9002/svc/twoDimSlice3D?";
-        var d1 = $("#data").val();
-        var model1 = d1.replace("/", "_");
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-        var v1 = $("#var").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(variable);
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-        var pres = $("#pres").val();
-        if (variable == 'ot' || variable == 'os')
-          pres = pres * 10000;  
-        else
-          pres = pres * 100;  
-        arglist = arglist.concat("&pr=");
-        arglist = arglist.concat(pres);
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-        var s1 = document.getElementById('months');
-        var month_str = "";
-        var mm = document.getElementById('Jan');
-        if (mm.checked == true)
-          month_str = month_str.concat(",1");
-        var mm = document.getElementById('Feb');
-        if (mm.checked == true)
-          month_str = month_str.concat(",2");
-        var mm = document.getElementById('Mar');
-        if (mm.checked == true)
-          month_str = month_str.concat(",3");
-        var mm = document.getElementById('Apr');
-        if (mm.checked == true)
-          month_str = month_str.concat(",4");
-        var mm = document.getElementById('May');
-        if (mm.checked == true)
-          month_str = month_str.concat(",5");
-        var mm = document.getElementById('Jun');
-        if (mm.checked == true)
-          month_str = month_str.concat(",6");
-        var mm = document.getElementById('Jul');
-        if (mm.checked == true)
-          month_str = month_str.concat(",7");
-        var mm = document.getElementById('Aug');
-        if (mm.checked == true)
-          month_str = month_str.concat(",8");
-        var mm = document.getElementById('Sep');
-        if (mm.checked == true)
-          month_str = month_str.concat(",9");
-        var mm = document.getElementById('Oct');
-        if (mm.checked == true)
-          month_str = month_str.concat(",10");
-        var mm = document.getElementById('Nov');
-        if (mm.checked == true)
-          month_str = month_str.concat(",11");
-        var mm = document.getElementById('Dec');
-        if (mm.checked == true)
-          month_str = month_str.concat(",12");
-        month_str = month_str.substr(1);
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-        arglist = arglist.concat("&scale=");
-        var z = document.getElementById("radioLin").checked;
-        if (z == true)
-          arglist = arglist.concat('0');
-        else
-          arglist = arglist.concat('4');
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-        url = url + encodeURI(arglist);
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                $("#Response").html(text);
-                var html1 = "<img src='"+data.url+"' width='680'/>";
-                $("#Image").html(html1);
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-      });
-    });
-  </script>
-} @main("Parameters of ConfId", scripts){ @flash_message()
-<p>
-<div id="dataSource" style="display: none;">@parameters.getDataSource()</div>
-<div id="variableName" style="display: none;">@parameters.getVariableName()</div>
-<div id="startYearMonth" style="display: none;">@parameters.getStartYearMonth()</div>
-<div id="endYearMonth" style="display: none;">@parameters.getEndYearMonth()</div>
-<div id="pressureLevel" style="display: none;">@parameters.getPressureLevel()</div>
-<div id="selectMonths" style="display: none;">@parameters.getSelectMonths()</div>
-<div id="monthsPara" style="display: none;">@parameters.getMonth()</div>
-<div id="startLat" style="display: none;">@parameters.getStartLat()</div>
-<div id="endLat" style="display: none;">@parameters.getEndLat()</div>
-<div id="startLon" style="display: none;">@parameters.getStartLon()</div>
-<div id="endLon" style="display: none;">@parameters.getEndLon()</div>
-<div id="colorScale" style="display: none;">@parameters.getColorScale()</div>
-<div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div>
-<div id="image" style="display: none;">@parameters.getImage()</div>
-<div id="dataURL" style="display: none;">@parameters.getDataURL()</div>
-<div id="serviceResponseText" style="display: none;">@parameters.getServiceResponseText()</div>
-<table border="1" width="800" align="center">
-	<tr>
-		<td colspan="4">
-			<center>
-				<b>Service: 3-D Variable 2-D Slice</b><br>
-				<br> This service generates a slice map of a 3-dimensional
-				variable at a selected pressure level. <br> Select a data
-				source, a variable name, a time range, a spatial range, and a
-				pressure level below.<br>
-				<br>
-			</center>
-		</td>
-	</tr>
-	<tr>
-		<td>data source:</td>
-		<td><select name="data" , id="data" onchange="select_data()">
-				<optgroup label="Observation">
-					<option selected="NASA/AIRS">NASA/AIRS</option>
-					<option>NASA/MLS</option>
-					<option>ARGO/ARGO</option>
-				</optgroup>
-				<optgroup label="Model: Historical">
-					<option>CCCMA/CANESM2</option>
-					<option>GFDL/ESM2G</option>
-					<option>GISS/E2-H</option>
-					<option>GISS/E2-R</option>
-					<option>NCAR/CAM5</option>
-					<option>NCC/NORESM</option>
-					<option>UKMO/HadGEM2-ES</option>
-				</optgroup>
-				<optgroup label="Model: AMIP">
-					<option>CCCMA/CANAM4</option>
-					<option>CSIRO/MK3.6</option>
-					<option>GFDL/CM3</option>
-					<option>IPSL/CM5A-LR</option>
-					<option>MIROC/MIROC5</option>
-					<option>UKMO/HadGEM2-A</option>
-				</optgroup>
-				</optgroup>
-				<optgroup label="Reanalysis">
-					<option>ECMWF/interim</option>
-		</select></td>
-		<td>variable name:</td>
-		<td><select name="var" , id="var" onchange="select_var()">
-				<option>Air Temperature</option>
-				<option>Specific Humidity</option>
-				<option>Cloud Ice Water Content</option>
-				<option>Cloud Liquid Water Content</option>
-				<option>Ocean Temperature</option>
-				<option>Ocean Salinity</option>
-				<option>Vertical Wind Velocity</option>
-				<option>Relative Humidity</option>
-		</select></td>
-	</tr>
-	<tr>
-		<td>start year-month:</td>
-		<td><input id="t0" value="2004-01" alt="start" /></td>
-		<td>end year-month:</td>
-		<td><input id="t1" value="2004-12" alt="end" /></td>
-	</tr>
-	<tr>
-		<td>select months:</td>
-		<td><select name="months" id="months" onchange="select_months()">
-				<option id="all">select all</option>
-				<option id="none">select none</option>
-				<option id="summer">Summer:Jun-Jul-Aug</option>
-				<option id="autum">Autumn:Sep-Oct-Nov</option>
-				<option id="winter">Winter:Dec-Jan-Feb</option>
-				<option id="spring">Spring:Mar-Apr-May</option>
-		</select></td>
-		<td>atmosphere pressure level (hPa) <br> or ocean pressure
-			level (dbar)
-		</td>
-		<td><input id="pres" value="500" alt="pressure" /></td>
-	</tr>
-	<tr>
-		<td><label><input type="checkbox" name="option1" id="Jan"
-				value="Jan" /> Jan<br></label> <label><input type="checkbox"
-				name="option1" id="Feb" value="Feb" /> Feb<br></label> <label><input
-				type="checkbox" name="option1" id="Mar" value="Mar" /> Mar<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Apr"
-				value="Apr" /> Apr<br></label> <label><input type="checkbox"
-				name="option1" id="May" value="May" /> May<br></label> <label><input
-				type="checkbox" name="option1" id="Jun" value="Jun" /> Jun<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Jul"
-				value="Jul" /> Jul<br></label> <label><input type="checkbox"
-				name="option1" id="Aug" value="Aug" /> Aug<br></label> <label><input
-				type="checkbox" name="option1" id="Sep" value="Sep" /> Sep<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Oct"
-				value="Oct" /> Oct<br></label> <label><input type="checkbox"
-				name="option1" id="Nov" value="Nov" /> Nov<br></label> <label><input
-				type="checkbox" name="option1" id="Dec" value="Dec" /> Dec<br></label>
-		</td>
-	</tr>
-	<tr>
-		<td>start lat (deg):</td>
-		<td><input id="lat0" value="-90" /></td>
-		<td>end lat (deg):</td>
-		<td><input id="lat1" value="90" /></td>
-	</tr>
-	<tr>
-		<td>start lon (deg):</td>
-		<td><input id="lon0" value="0" /></td>
-		<td>end lon (deg):</td>
-		<td><input id="lon1" value="360" /></td>
-	</tr>
-	<tr>
-		<td colspan="1">color scale:</td>
-		<td colspan="3">
-			<form>
-				<input type="radio" name="scale1" value="linear" id="radioLin"
-					checked>linear <input type="radio" name="scale1"
-					value="logarithmic" id="radioLog">logarithmic
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="1">Execution purpose</td>
-		<td colspan="3">
-			<form>
-				<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2" align="center"><input id="twodvarmap"
-			type="submit" value="            Run Again            "
-			style="height: 28px" /></td>
-		<form>
-			<td colspan="2" align="center"><input id="download_data"
-				type="button" value="Download Data" style="height: 28px" /></td>
-		</form>
-	</tr>
-	<tr>
-		<td colspan="4">
-			<div id="Image">Image Here</div>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="data_url"
-				cols="89" rows="2">Data URL Here</textarea></td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="Response"
-				cols="89" rows="6">Service Response Text Here</textarea></td>
-	</tr>
-	</p>
-</table>
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/threeDVariableZonalMean.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/threeDVariableZonalMean.scala.html b/app/views/climate/threeDVariableZonalMean.scala.html
deleted file mode 100644
index 4ed6e83..0000000
--- a/app/views/climate/threeDVariableZonalMean.scala.html
+++ /dev/null
@@ -1,737 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(parameters: metadata.ThreeDVarZonalMean) @import helper._
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-@scripts = {
-<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-<script type="text/javascript"
-	src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js"></script>
-<script type="
-	text/javascript"
-	src='@routes.Assets.at("javascripts/json2.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/xmisc.js")'></script>
-<script type="text/javascript">
-	var Response = null;
-    var variable = "";
-    window.onload = function() {
-      changeMonths();
-      changeDataSource();
-      select_data();
-      changeVariableName();
-      select_var();
-      enable_download_button();
-      $('#t0').val($('#startYearMonth').text());
-      $('#t1').val($('#endYearMonth').text());
-      $('#pres').val($('#pressureRange').text());
-      $('#lat0').val($('#startLat').text());
-      $('#lat1').val($('#endLat').text());
-      $('#purpose').html($('#executionPurpose').text());
-      var imageUrl = $('#image').text();
-      $('#Image').html('<img src="'+imageUrl+'" width=680 />');
-      $('#data_url').html($('#dataURL').text());
-      $('#Response').html($('serviceResponseText').text());
-      var pressureLvlScale = $('#pressureLevelScale').text();
-      if(pressureLvlScale == "0") {
-        $('#radioLin').prop( "checked", true );
-        $('#radioLog').prop( "checked", false );
-      }
-      else {
-        $('#radioLin').prop( "checked", false );
-        $('#radioLog').prop( "checked", true );
-      }
-      var colorScale = $('#colorScale').text();
-      if(colorScale == "0") {
-        $('#radioLin2').prop("checked", true);
-        $('#radioLog2').prop("checked", false);
-      }
-      else {
-        $('#radioLin2').prop("checked", false);
-        $('#radioLog2').prop("checked", true);
-      }
-    }
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=true;
-    }
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-    function changeMonths(){
-      var months = $("#monthsPara").text();
-      var temp = months.split(", ");
-      for(i = 0;i < temp.length;i ++){
-        if(temp[i] == 'jan'){
-          document.getElementById('Jan').checked = true;
-        }else if(temp[i] == 'feb'){
-          document.getElementById('Feb').checked = true;
-        }else if(temp[i] == 'mar'){
-          document.getElementById('Mar').checked = true;
-        }else if(temp[i] == 'apr'){
-          document.getElementById('Apr').checked = true;
-        }else if(temp[i] == 'may'){
-          document.getElementById('May').checked = true;
-        }else if(temp[i] == 'jun'){
-          document.getElementById('Jun').checked = true;
-        }else if(temp[i] == 'jul'){
-          document.getElementById('Jul').checked = true;
-        }else if(temp[i] == 'aug'){
-          document.getElementById('Aug').checked = true;
-        }else if(temp[i] == 'sep'){
-          document.getElementById('Sep').checked = true;
-        }else if(temp[i] == 'oct'){
-          document.getElementById('Oct').checked = true;
-        }else if(temp[i] == 'nov'){
-          document.getElementById('Nov').checked = true;
-        }else if(temp[i] == 'dec'){
-          document.getElementById('Dec').checked = true;
-        }
-      }
-    }
-    function select_all_months()
-    {
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-        document.getElementById('Dec').checked = true;
-    }
-    function no_month_check()
-    {
-        if (document.getElementById('Jan').checked == false &&
-           document.getElementById('Feb').checked == false &&
-           document.getElementById('Mar').checked == false &&
-           document.getElementById('Apr').checked == false &&
-           document.getElementById('May').checked == false &&
-           document.getElementById('Jun').checked == false &&
-           document.getElementById('Jul').checked == false &&
-           document.getElementById('Aug').checked == false &&
-           document.getElementById('Sep').checked == false &&
-           document.getElementById('Oct').checked == false &&
-           document.getElementById('Nov').checked == false &&
-           document.getElementById('Dec').checked == false) {
-           return true;
-          }
-        else
-           return false;
-    }
-    function reset_months()
-    {
-        document.getElementById('Jan').checked = false;
-        document.getElementById('Feb').checked = false;
-        document.getElementById('Mar').checked = false;
-        document.getElementById('Apr').checked = false;
-        document.getElementById('May').checked = false;
-        document.getElementById('Jun').checked = false;
-        document.getElementById('Jul').checked = false;
-        document.getElementById('Aug').checked = false;
-        document.getElementById('Sep').checked = false;
-        document.getElementById('Oct').checked = false;
-        document.getElementById('Nov').checked = false;
-        document.getElementById('Dec').checked = false;
-    }
-    function reset_vars()
-    {
-      var x=document.getElementById("var");
-      x.options[0].disabled=false;
-      x.options[1].disabled=false;
-      x.options[2].disabled=false;
-      x.options[3].disabled=false;
-      x.options[4].disabled=false;
-      x.options[5].disabled=false;
-      x.options[6].disabled=false;
-      x.options[7].disabled=false;
-    }
-    function select_var()
-    {
-      var var_string = $("#var").val();
-      disable_download_button();
-      if (var_string == "Air Temperature")
-        variable = "ta";
-      else if (var_string == "Specific Humidity")
-        variable = "hus";
-      else if (var_string == "Cloud Ice Water Content")
-        variable = "cli";
-      else if (var_string == "Cloud Liquid Water Content")
-        variable = "clw";
-      else if (var_string == "Ocean Temperature")
-        variable = "ot";
-      else if (var_string == "Ocean Salinity")
-        variable = "os";
-      else if (var_string == "Vertical Wind Velocity")
-        variable = "wap";
-      else if (var_string == "Relative Humidity")
-        variable = "hur";
-    }
-    function select_data()
-    {
-      var data_string = $("#data").val();
-      var x=document.getElementById("var");
-      disable_download_button();
-      reset_vars();
-      if (data_string == "NASA/AIRS") {
-        x.options[0].selected=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "NASA/MLS") {
-        x.options[0].selected=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "ARGO/ARGO") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].selected=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "ECMWF/interim") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].selected=true;
-      }
-      else {
-        x.options[0].selected=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-      }
-      select_var();
-    }
-    function changeDataSource(){
-      var dataSource = $('#dataSource').text();
-      var x = document.getElementById("data");
-      if(dataSource == "NASA_AIRS" ){
-        x.options[0].selected=true;
-      }
-      else if(dataSource == "NASA_MLS" ){
-        x.options[1].selected=true;
-      }
-      else if(dataSource == "ARGO_ARGO" ){
-        x.options[2].selected=true;
-      }
-      else if(dataSource == "CCCMA_CANESM2" ){
-        x.options[3].selected=true;
-      }
-      else if(dataSource == "GFDL_ESM2G" ){
-        x.options[4].selected=true;
-      }
-      else if(dataSource == "GISS_E2-H" ){
-        x.options[5].selected=true;
-      }
-      else if(dataSource == "GISS_E2-R" ){
-        x.options[6].selected=true;
-      }
-      else if(dataSource == "NCAR_CAM5" ){
-        x.options[7].selected=true;
-      }
-      else if(dataSource == "NCC_NORESM" ){
-        x.options[8].selected=true;
-      }
-      else if(dataSource == "UKMO_HadGEM2-ES-A" ){
-        x.options[9].selected=true;
-      }
-      else if(dataSource == "CCCMA_CANAM4" ){
-        x.options[10].selected=true;
-      }
-      else if(dataSource == "CSIRO_MK3.6" ){
-        x.options[11].selected=true;
-      }
-      else if(dataSource == "GFDL_CM3" ){
-        x.options[12].selected=true;
-      }
-      else if(dataSource == "IPSL_CM5A-LR" ){
-        x.options[13].selected=true;
-      }
-      else if(dataSource == "MIROC_MIROC5" ){
-        x.options[14].selected=true;
-      }
-      else if(dataSource == "UKMO_HadGEM2-A" ){
-        x.options[15].selected=true;
-      }
-      else if(dataSource == "ECMWF_interim" ){
-        x.options[16].selected=true;
-      }
-    }
-    function changeVariableName(){
-      var var_string = $('#variableName').text();
-      var x = document.getElementById("var");
-      if (var_string == "ta")
-        x.options[0].selected=true;
-        else if (var_string == "hus")
-          x.options[1].selected=true;
-        else if (var_string == "cli"){
-          x.options[2].selected=true;
-        }else if (var_string == "clw")
-          x.options[3].selected=true;
-        else if (var_string == "ot")
-          x.options[4].selected=true;
-        else if (var_string == "os")
-          x.options[5].selected=true;
-        else if (var_string == "wap")
-          x.options[6].selected=true;
-        else if (var_string == "hur")
-          x.options[7].selected=true;
-    }
-    function select_months()
-    {
-      var s1=document.getElementById("months");
-      disable_download_button();
-      if (s1.selectedIndex == 1) {
-        reset_months();
-      }
-      if (s1.selectedIndex == 0) {
-        select_all_months();
-      }
-      if (s1.selectedIndex == 2) {
-        reset_months();
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-      }
-      if (s1.selectedIndex == 3) {
-        reset_months();
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-      }
-      if (s1.selectedIndex == 4) {
-        reset_months();
-        document.getElementById('Dec').checked = true;
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-      }
-      if (s1.selectedIndex == 5) {
-        reset_months();
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-      }
-    }
-    $(document).ready(function(){
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        window.location.assign(durl);
-      });
-      $("#threedvarzonalmean").click(function(event) {
-	Response = null;
-        disable_download_button();
-        if (no_month_check()) {
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        }
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-        var url = "http://" + window.location.hostname + ":9002/svc/threeDimZonalMean?";
-        var d1 = $("#data").val();
-        var model1 = d1.replace("/", "_");
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-        var v1 = $("#var").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(variable);
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-        var pres = $("#pres").val();
-        var splitty = pres.split(',');
-        if (splitty.length != 2) {
-          alert("pressure level range needs to be two values separated by comma.");
-          return;
-        }
-        else {
-          pres1 = splitty[0];
-          pres2 = splitty[1];
-          if (variable == 'ot' || variable == 'os') {
-            pres1 = pres1 * 10000;  
-            pres2 = pres2 * 10000;  
-          }
-          else {
-            pres1 = pres1 * 100;  
-            pres2 = pres2 * 100;  
-          }
-        }
-        arglist = arglist.concat("&pres1=");
-        arglist = arglist.concat(pres1);
-        arglist = arglist.concat("&pres2=");
-        arglist = arglist.concat(pres2);
-        var s1 = document.getElementById('months');
-        var month_str = "";
-        var mm = document.getElementById('Jan');
-        if (mm.checked == true)
-          month_str = month_str.concat(",1");
-        var mm = document.getElementById('Feb');
-        if (mm.checked == true)
-          month_str = month_str.concat(",2");
-        var mm = document.getElementById('Mar');
-        if (mm.checked == true)
-          month_str = month_str.concat(",3");
-        var mm = document.getElementById('Apr');
-        if (mm.checked == true)
-          month_str = month_str.concat(",4");
-        var mm = document.getElementById('May');
-        if (mm.checked == true)
-          month_str = month_str.concat(",5");
-        var mm = document.getElementById('Jun');
-        if (mm.checked == true)
-          month_str = month_str.concat(",6");
-        var mm = document.getElementById('Jul');
-        if (mm.checked == true)
-          month_str = month_str.concat(",7");
-        var mm = document.getElementById('Aug');
-        if (mm.checked == true)
-          month_str = month_str.concat(",8");
-        var mm = document.getElementById('Sep');
-        if (mm.checked == true)
-          month_str = month_str.concat(",9");
-        var mm = document.getElementById('Oct');
-        if (mm.checked == true)
-          month_str = month_str.concat(",10");
-        var mm = document.getElementById('Nov');
-        if (mm.checked == true)
-          month_str = month_str.concat(",11");
-        var mm = document.getElementById('Dec');
-        if (mm.checked == true)
-          month_str = month_str.concat(",12");
-        month_str = month_str.substr(1);
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-        arglist = arglist.concat("&scale=");
-        var y = document.getElementById("radioLin").checked;
-        var yval;
-        var z = document.getElementById("radioLin2").checked;
-        var zval;
-        if (y == true)
-          yval = 0;
-        else
-          yval = 2;
-        if (z == true)
-          zval = 0;
-        else
-          zval = 4;
-        var scale1 =  yval + zval;
-        var scale1_str =  scale1.toString();
-        arglist = arglist.concat(scale1_str);
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-        url = url + encodeURI(arglist);
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                $("#Response").html(text);
-                var html1 = "<img src='"+data.url+"' width='680'/>";
-                $("#Image").html(html1);
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-                $("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-      });
-    });
-  </script>
-} @main("Parameters of ConfId", scripts){ @flash_message()
-<p>
-<div id="dataSource" style="display: none;">@parameters.getDataSource()</div>
-<div id="variableName" style="display: none;">@parameters.getVariableName()</div>
-<div id="startYearMonth" style="display: none;">@parameters.getStartYearMonth()</div>
-<div id="endYearMonth" style="display: none;">@parameters.getEndYearMonth()</div>
-<div id="selectMonths" style="display: none;">@parameters.getSelectMonths()</div>
-<div id="pressureRange" style="display: none;">@parameters.getPressureRange()</div>
-<div id="monthsPara" style="display: none;">@parameters.getMonth()</div>
-<div id="startLat" style="display: none;">@parameters.getStartLat()</div>
-<div id="endLat" style="display: none;">@parameters.getEndLat()</div>
-<div id="pressureLevelScale" style="display: none;">@parameters.getPressureScale()</div>
-<div id="colorScale" style="display: none;">@parameters.getColorScale()</div>
-<div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div>
-<div id="image" style="display: none;">@parameters.getImage()</div>
-<div id="dataURL" style="display: none;">@parameters.getDataURL()</div>
-<div id="serviceResponseText" style="display: none;">@parameters.getServiceResponseText()</div>
-<table border="1" WIDTH="800" align="center">
-	<tr>
-		<td colspan="4">
-			<center>
-				<b>Service: 3-D Variable Zonal Mean</b> <br>
-				<br> This service generates a contour plot of zonal-mean
-				vertical profiles of a 3-dimensional variable. <br> Select a
-				data source, a variable name, a time range, and a pressure range
-				below.<br>
-				<br>
-			</center>
-		</td>
-	</tr>
-	<tr>
-		<td>data source:</td>
-		<td><select name="data" , id="data" onchange="select_data()">
-				<optgroup label="Observation">
-					<option selected="NASA/AIRS">NASA/AIRS</option>
-					<option>NASA/MLS</option>
-					<option>ARGO/ARGO</option>
-				</optgroup>
-				<optgroup label="Model: Historical">
-					<option>CCCMA/CANESM2</option>
-					<option>GFDL/ESM2G</option>
-					<option>GISS/E2-H</option>
-					<option>GISS/E2-R</option>
-					<option>NCAR/CAM5</option>
-					<option>NCC/NORESM</option>
-					<option>UKMO/HadGEM2-ES</option>
-				</optgroup>
-				<optgroup label="Model: AMIP">
-					<option>CCCMA/CANAM4</option>
-					<option>CSIRO/MK3.6</option>
-					<option>GFDL/CM3</option>
-					<option>IPSL/CM5A-LR</option>
-					<option>MIROC/MIROC5</option>
-					<option>UKMO/HadGEM2-A</option>
-				</optgroup>
-				<optgroup label="Reanalysis">
-					<option>ECMWF/interim</option>
-		</select></td>
-		<td>variable name:</td>
-		<td><select name="var" , id="var" onchange="select_var()">
-				<option>Air Temperature</option>
-				<option>Specific Humidity</option>
-				<option>Cloud Ice Water Content</option>
-				<option>Cloud Liquid Water Content</option>
-				<option>Ocean Temperature</option>
-				<option>Ocean Salinity</option>
-				<option>Vertical Wind Velocity</option>
-				<option>Relative Humidity</option>
-		</select></td>
-	</tr>
-	<tr>
-		<td>start year-month:</td>
-		<td><input id="t0" value="2004-01" alt="start" /></td>
-		<td>end year-month:</td>
-		<td><input id="t1" value="2004-12" alt="end" /></td>
-	</tr>
-	<tr>
-		<td>select months:</td>
-		<td><select name="months" id="months" onchange="select_months()">
-				<option id="all">select all</option>
-				<option id="none">select none</option>
-				<option id="summer">Summer:Jun-Jul-Aug</option>
-				<option id="autum">Autumn:Sep-Oct-Nov</option>
-				<option id="winter">Winter:Dec-Jan-Feb</option>
-				<option id="spring">Spring:Mar-Apr-May</option>
-		</select></td>
-		<td>atmosphere pressure range (hPa) <br> or ocean pressure
-			range (dbar):
-		</td>
-		<td><input id="pres" value="200,900" alt="pressure" /></td>
-	</tr>
-	<tr>
-		<td><label><input type="checkbox" name="option1" id="Jan"
-				value="Jan" /> Jan<br></label> <label><input type="checkbox"
-				name="option1" id="Feb" value="Feb" /> Feb<br></label> <label><input
-				type="checkbox" name="option1" id="Mar" value="Mar" /> Mar<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Apr"
-				value="Apr" /> Apr<br></label> <label><input type="checkbox"
-				name="option1" id="May" value="May" /> May<br></label> <label><input
-				type="checkbox" name="option1" id="Jun" value="Jun" /> Jun<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Jul"
-				value="Jul" /> Jul<br></label> <label><input type="checkbox"
-				name="option1" id="Aug" value="Aug" /> Aug<br></label> <label><input
-				type="checkbox" name="option1" id="Sep" value="Sep" /> Sep<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Oct"
-				value="Oct" /> Oct<br></label> <label><input type="checkbox"
-				name="option1" id="Nov" value="Nov" /> Nov<br></label> <label><input
-				type="checkbox" name="option1" id="Dec" value="Dec" /> Dec<br></label>
-		</td>
-	</tr>
-	<tr>
-		<td>start lat (deg):</td>
-		<td><input id="lat0" value="-90" /></td>
-		<td>end lat (deg):</td>
-		<td><input id="lat1" value="90" /></td>
-	</tr>
-	<tr>
-		<td colspan="1">pressure level scale:</td>
-		<td colspan="1">
-			<form>
-				<input type="radio" name="scale1" value="linear" id="radioLin">linear
-				<input type="radio" name="scale1" value="logarithmic" id="radioLog"
-					checked>logarithmic
-			</form>
-		</td>
-		<td colspan="1">color scale:</td>
-		<td colspan="1">
-			<form>
-				<input type="radio" name="scale2" value="linear" id="radioLin2"
-					checked>linear <input type="radio" name="scale2"
-					value="logarithmic" id="radioLog2">logarithmic
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="1">Execution purpose</td>
-		<td colspan="3">
-			<form>
-				<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2" align="center"><input id="threedvarzonalmean"
-			type="submit" value="            Run  Again            "
-			style="height: 28px" /></td>
-		<form>
-			<td colspan="2" align="center"><input id="download_data"
-				type="button" value="Download Data" style="height: 28px" /></td>
-		</form>
-	</tr>
-	<tr>
-		<td colspan="4">
-			<div id="Image">Image Here</div>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="data_url"
-				cols="89" rows="2">Data URL Here</textarea></td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="Response"
-				cols="89" rows="6">Service Response Text Here</textarea></td>
-	</tr>
-	</p>
-</table>
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/tutorial.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/tutorial.scala.html b/app/views/climate/tutorial.scala.html
deleted file mode 100644
index f515cac..0000000
--- a/app/views/climate/tutorial.scala.html
+++ /dev/null
@@ -1,42 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@main("Tutorial") {
-
-<ol class="breadcrumb">
-	<li class="active">Tutorial</li>
-	<li><a href="/estimator">Collect Data</a></li>
-	<li><a href="/estimator/1">Input Preference</a></li>
-	<li><a href="/estimator/2">Workflow Summary</a></li>
-	<li><a href="/estimator/3">Recommendation</a></li>
-</ol>
-
-<iframe width="550" height="315" src="https://www.youtube.com/embed/t9tgr3I2d5g" frameborder="0" allowfullscreen></iframe>
-<iframe width="550" height="315" style="margin-left: 25px" src="https://www.youtube.com/embed/tftPn4YQbVE" frameborder="0" allowfullscreen></iframe>
-
-<p>
-In these videos, we will help you learn the available web services, how to use them, and help you to design your climate analytics workflows.
-
-<!-- <ul>
-<li>Run vistrails. (python VISTRAILS_PATH/vistrails/vistrails.py)</li>
-<li>Import a workflow.</li>
-<li>Click the menu Packages, and then Amazon Plugin. Inside that choose the 'Go to estimator'</li>
-<li>Input the notification email and click Estimate. Then you can be directed to the estimator web page.</li>
-</ul> -->
-</p>
-
-}
\ No newline at end of file


[28/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/.svn/text-base/jquery.flot.min.js.svn-base
----------------------------------------------------------------------
diff --git a/public/html/js/.svn/text-base/jquery.flot.min.js.svn-base b/public/html/js/.svn/text-base/jquery.flot.min.js.svn-base
deleted file mode 100644
index 31f465b..0000000
--- a/public/html/js/.svn/text-base/jquery.flot.min.js.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-(function(){jQuery.color={};jQuery.color.make=function(G,H,J,I){var A={};A.r=G||0;A.g=H||0;A.b=J||0;A.a=I!=null?I:1;A.add=function(C,D){for(var E=0;E<C.length;++E){A[C.charAt(E)]+=D}return A.normalize()};A.scale=function(C,D){for(var E=0;E<C.length;++E){A[C.charAt(E)]*=D}return A.normalize()};A.toString=function(){if(A.a>=1){return"rgb("+[A.r,A.g,A.b].join(",")+")"}else{return"rgba("+[A.r,A.g,A.b,A.a].join(",")+")"}};A.normalize=function(){function C(E,D,F){return D<E?E:(D>F?F:D)}A.r=C(0,parseInt(A.r),255);A.g=C(0,parseInt(A.g),255);A.b=C(0,parseInt(A.b),255);A.a=C(0,A.a,1);return A};A.clone=function(){return jQuery.color.make(A.r,A.b,A.g,A.a)};return A.normalize()};jQuery.color.extract=function(E,F){var A;do{A=E.css(F).toLowerCase();if(A!=""&&A!="transparent"){break}E=E.parent()}while(!jQuery.nodeName(E.get(0),"body"));if(A=="rgba(0, 0, 0, 0)"){A="transparent"}return jQuery.color.parse(A)};jQuery.color.parse=function(A){var F,H=jQuery.color.make;if(F=/rgb\(\s*([0-9]{1,3})\s*,\s*([0
 -9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(A)){return H(parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10))}if(F=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(A)){return H(parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10),parseFloat(F[4]))}if(F=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(A)){return H(parseFloat(F[1])*2.55,parseFloat(F[2])*2.55,parseFloat(F[3])*2.55)}if(F=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(A)){return H(parseFloat(F[1])*2.55,parseFloat(F[2])*2.55,parseFloat(F[3])*2.55,parseFloat(F[4]))}if(F=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(A)){return H(parseInt(F[1],16),parseInt(F[2],16),parseInt(F[3],16))}if(F=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(A)){return H(parseInt(F[1]+F[1],16),parseInt(F[2]+F[2],16),parseInt(F[3]+F[3],16))}var G=jQu
 ery.trim(A).toLowerCase();if(G=="transparent"){return H(255,255,255,0)}else{F=B[G];return H(F[0],F[1],F[2])}};var B={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})();(function(
 C){function B(l,W,X,E){var O=[],g={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:0.85},xaxis:{mode:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,tickDecimals:null,tickSize:null,minTickSize:null,monthNames:null,timeformat:null,twelveHourClock:false},yaxis:{autoscaleMargin:0.02},x2axis:{autoscaleMargin:null},y2axis:{autoscaleMargin:0.02},series:{points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false},shadowSize:3},grid:{show:true,aboveData:false,color:"#545454",backgroundColor:null,tickColor:"rgba(0,0,0,0.15)",labelMargin:5,borderWidth:2,borderColor:null,mark
 ings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},hooks:{}},P=null,AC=null,AD=null,Y=null,AJ=null,s={xaxis:{},yaxis:{},x2axis:{},y2axis:{}},e={left:0,right:0,top:0,bottom:0},y=0,Q=0,I=0,t=0,L={processOptions:[],processRawData:[],processDatapoints:[],draw:[],bindEvents:[],drawOverlay:[]},G=this;G.setData=f;G.setupGrid=k;G.draw=AH;G.getPlaceholder=function(){return l};G.getCanvas=function(){return P};G.getPlotOffset=function(){return e};G.width=function(){return I};G.height=function(){return t};G.offset=function(){var AK=AD.offset();AK.left+=e.left;AK.top+=e.top;return AK};G.getData=function(){return O};G.getAxes=function(){return s};G.getOptions=function(){return g};G.highlight=AE;G.unhighlight=x;G.triggerRedrawOverlay=q;G.pointOffset=function(AK){return{left:parseInt(T(AK,"xaxis").p2c(+AK.x)+e.left),top:parseInt(T(AK,"yaxis").p2c(+AK.y)+e.top)}};G.hooks=L;b(G);r(X);c();f(W);k();AH();AG();function Z(AM,AK){A
 K=[G].concat(AK);for(var AL=0;AL<AM.length;++AL){AM[AL].apply(this,AK)}}function b(){for(var AK=0;AK<E.length;++AK){var AL=E[AK];AL.init(G);if(AL.options){C.extend(true,g,AL.options)}}}function r(AK){C.extend(true,g,AK);if(g.grid.borderColor==null){g.grid.borderColor=g.grid.color}if(g.xaxis.noTicks&&g.xaxis.ticks==null){g.xaxis.ticks=g.xaxis.noTicks}if(g.yaxis.noTicks&&g.yaxis.ticks==null){g.yaxis.ticks=g.yaxis.noTicks}if(g.grid.coloredAreas){g.grid.markings=g.grid.coloredAreas}if(g.grid.coloredAreasColor){g.grid.markingsColor=g.grid.coloredAreasColor}if(g.lines){C.extend(true,g.series.lines,g.lines)}if(g.points){C.extend(true,g.series.points,g.points)}if(g.bars){C.extend(true,g.series.bars,g.bars)}if(g.shadowSize){g.series.shadowSize=g.shadowSize}for(var AL in L){if(g.hooks[AL]&&g.hooks[AL].length){L[AL]=L[AL].concat(g.hooks[AL])}}Z(L.processOptions,[g])}function f(AK){O=M(AK);U();m()}function M(AN){var AL=[];for(var AK=0;AK<AN.length;++AK){var AM=C.extend(true,{},g.series);if(AN[A
 K].data){AM.data=AN[AK].data;delete AN[AK].data;C.extend(true,AM,AN[AK]);AN[AK].data=AM.data}else{AM.data=AN[AK]}AL.push(AM)}return AL}function T(AM,AK){var AL=AM[AK];if(!AL||AL==1){return s[AK]}if(typeof AL=="number"){return s[AK.charAt(0)+AL+AK.slice(1)]}return AL}function U(){var AP;var AV=O.length,AK=[],AN=[];for(AP=0;AP<O.length;++AP){var AS=O[AP].color;if(AS!=null){--AV;if(typeof AS=="number"){AN.push(AS)}else{AK.push(C.color.parse(O[AP].color))}}}for(AP=0;AP<AN.length;++AP){AV=Math.max(AV,AN[AP]+1)}var AL=[],AO=0;AP=0;while(AL.length<AV){var AR;if(g.colors.length==AP){AR=C.color.make(100,100,100)}else{AR=C.color.parse(g.colors[AP])}var AM=AO%2==1?-1:1;AR.scale("rgb",1+AM*Math.ceil(AO/2)*0.2);AL.push(AR);++AP;if(AP>=g.colors.length){AP=0;++AO}}var AQ=0,AW;for(AP=0;AP<O.length;++AP){AW=O[AP];if(AW.color==null){AW.color=AL[AQ].toString();++AQ}else{if(typeof AW.color=="number"){AW.color=AL[AW.color].toString()}}if(AW.lines.show==null){var AU,AT=true;for(AU in AW){if(AW[AU].show){
 AT=false;break}}if(AT){AW.lines.show=true}}AW.xaxis=T(AW,"xaxis");AW.yaxis=T(AW,"yaxis")}}function m(){var AW=Number.POSITIVE_INFINITY,AQ=Number.NEGATIVE_INFINITY,Ac,Aa,AZ,AV,AL,AR,Ab,AX,AP,AO,AK,Ai,Af,AT;for(AK in s){s[AK].datamin=AW;s[AK].datamax=AQ;s[AK].used=false}function AN(Al,Ak,Aj){if(Ak<Al.datamin){Al.datamin=Ak}if(Aj>Al.datamax){Al.datamax=Aj}}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];AR.datapoints={points:[]};Z(L.processRawData,[AR,AR.data,AR.datapoints])}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];var Ah=AR.data,Ae=AR.datapoints.format;if(!Ae){Ae=[];Ae.push({x:true,number:true,required:true});Ae.push({y:true,number:true,required:true});if(AR.bars.show){Ae.push({y:true,number:true,required:false,defaultValue:0})}AR.datapoints.format=Ae}if(AR.datapoints.pointsize!=null){continue}if(AR.datapoints.pointsize==null){AR.datapoints.pointsize=Ae.length}AX=AR.datapoints.pointsize;Ab=AR.datapoints.points;insertSteps=AR.lines.show&&AR.lines.steps;AR.xaxis.used=AR.yaxis.used=true;for(Aa=AZ=0;Aa<Ah
 .length;++Aa,AZ+=AX){AT=Ah[Aa];var AM=AT==null;if(!AM){for(AV=0;AV<AX;++AV){Ai=AT[AV];Af=Ae[AV];if(Af){if(Af.number&&Ai!=null){Ai=+Ai;if(isNaN(Ai)){Ai=null}}if(Ai==null){if(Af.required){AM=true}if(Af.defaultValue!=null){Ai=Af.defaultValue}}}Ab[AZ+AV]=Ai}}if(AM){for(AV=0;AV<AX;++AV){Ai=Ab[AZ+AV];if(Ai!=null){Af=Ae[AV];if(Af.x){AN(AR.xaxis,Ai,Ai)}if(Af.y){AN(AR.yaxis,Ai,Ai)}}Ab[AZ+AV]=null}}else{if(insertSteps&&AZ>0&&Ab[AZ-AX]!=null&&Ab[AZ-AX]!=Ab[AZ]&&Ab[AZ-AX+1]!=Ab[AZ+1]){for(AV=0;AV<AX;++AV){Ab[AZ+AX+AV]=Ab[AZ+AV]}Ab[AZ+1]=Ab[AZ-AX+1];AZ+=AX}}}}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];Z(L.processDatapoints,[AR,AR.datapoints])}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];Ab=AR.datapoints.points,AX=AR.datapoints.pointsize;var AS=AW,AY=AW,AU=AQ,Ad=AQ;for(Aa=0;Aa<Ab.length;Aa+=AX){if(Ab[Aa]==null){continue}for(AV=0;AV<AX;++AV){Ai=Ab[Aa+AV];Af=Ae[AV];if(!Af){continue}if(Af.x){if(Ai<AS){AS=Ai}if(Ai>AU){AU=Ai}}if(Af.y){if(Ai<AY){AY=Ai}if(Ai>Ad){Ad=Ai}}}}if(AR.bars.show){var Ag=AR.bars.align=="left"?0:
 -AR.bars.barWidth/2;if(AR.bars.horizontal){AY+=Ag;Ad+=Ag+AR.bars.barWidth}else{AS+=Ag;AU+=Ag+AR.bars.barWidth}}AN(AR.xaxis,AS,AU);AN(AR.yaxis,AY,Ad)}for(AK in s){if(s[AK].datamin==AW){s[AK].datamin=null}if(s[AK].datamax==AQ){s[AK].datamax=null}}}function c(){function AK(AM,AL){var AN=document.createElement("canvas");AN.width=AM;AN.height=AL;if(C.browser.msie){AN=window.G_vmlCanvasManager.initElement(AN)}return AN}y=l.width();Q=l.height();l.html("");if(l.css("position")=="static"){l.css("position","relative")}if(y<=0||Q<=0){throw"Invalid dimensions for plot, width = "+y+", height = "+Q}if(C.browser.msie){window.G_vmlCanvasManager.init_(document)}P=C(AK(y,Q)).appendTo(l).get(0);Y=P.getContext("2d");AC=C(AK(y,Q)).css({position:"absolute",left:0,top:0}).appendTo(l).get(0);AJ=AC.getContext("2d");AJ.stroke()}function AG(){AD=C([AC,P]);if(g.grid.hoverable){AD.mousemove(D)}if(g.grid.clickable){AD.click(d)}Z(L.bindEvents,[AD])}function k(){function AL(AT,AU){function AP(AV){return AV}var AS,
 AO,AQ=AU.transform||AP,AR=AU.inverseTransform;if(AT==s.xaxis||AT==s.x2axis){AS=AT.scale=I/(AQ(AT.max)-AQ(AT.min));AO=AQ(AT.min);if(AQ==AP){AT.p2c=function(AV){return(AV-AO)*AS}}else{AT.p2c=function(AV){return(AQ(AV)-AO)*AS}}if(!AR){AT.c2p=function(AV){return AO+AV/AS}}else{AT.c2p=function(AV){return AR(AO+AV/AS)}}}else{AS=AT.scale=t/(AQ(AT.max)-AQ(AT.min));AO=AQ(AT.max);if(AQ==AP){AT.p2c=function(AV){return(AO-AV)*AS}}else{AT.p2c=function(AV){return(AO-AQ(AV))*AS}}if(!AR){AT.c2p=function(AV){return AO-AV/AS}}else{AT.c2p=function(AV){return AR(AO-AV/AS)}}}}function AN(AR,AT){var AQ,AS=[],AP;AR.labelWidth=AT.labelWidth;AR.labelHeight=AT.labelHeight;if(AR==s.xaxis||AR==s.x2axis){if(AR.labelWidth==null){AR.labelWidth=y/(AR.ticks.length>0?AR.ticks.length:1)}if(AR.labelHeight==null){AS=[];for(AQ=0;AQ<AR.ticks.length;++AQ){AP=AR.ticks[AQ].label;if(AP){AS.push('<div class="tickLabel" style="float:left;width:'+AR.labelWidth+'px">'+AP+"</div>")}}if(AS.length>0){var AO=C('<div style="position:
 absolute;top:-10000px;width:10000px;font-size:smaller">'+AS.join("")+'<div style="clear:left"></div></div>').appendTo(l);AR.labelHeight=AO.height();AO.remove()}}}else{if(AR.labelWidth==null||AR.labelHeight==null){for(AQ=0;AQ<AR.ticks.length;++AQ){AP=AR.ticks[AQ].label;if(AP){AS.push('<div class="tickLabel">'+AP+"</div>")}}if(AS.length>0){var AO=C('<div style="position:absolute;top:-10000px;font-size:smaller">'+AS.join("")+"</div>").appendTo(l);if(AR.labelWidth==null){AR.labelWidth=AO.width()}if(AR.labelHeight==null){AR.labelHeight=AO.find("div").height()}AO.remove()}}}if(AR.labelWidth==null){AR.labelWidth=0}if(AR.labelHeight==null){AR.labelHeight=0}}function AM(){var AP=g.grid.borderWidth;for(i=0;i<O.length;++i){AP=Math.max(AP,2*(O[i].points.radius+O[i].points.lineWidth/2))}e.left=e.right=e.top=e.bottom=AP;var AO=g.grid.labelMargin+g.grid.borderWidth;if(s.xaxis.labelHeight>0){e.bottom=Math.max(AP,s.xaxis.labelHeight+AO)}if(s.yaxis.labelWidth>0){e.left=Math.max(AP,s.yaxis.labelWidth+
 AO)}if(s.x2axis.labelHeight>0){e.top=Math.max(AP,s.x2axis.labelHeight+AO)}if(s.y2axis.labelWidth>0){e.right=Math.max(AP,s.y2axis.labelWidth+AO)}I=y-e.left-e.right;t=Q-e.bottom-e.top}var AK;for(AK in s){K(s[AK],g[AK])}if(g.grid.show){for(AK in s){F(s[AK],g[AK]);p(s[AK],g[AK]);AN(s[AK],g[AK])}AM()}else{e.left=e.right=e.top=e.bottom=0;I=y;t=Q}for(AK in s){AL(s[AK],g[AK])}if(g.grid.show){h()}AI()}function K(AN,AQ){var AM=+(AQ.min!=null?AQ.min:AN.datamin),AK=+(AQ.max!=null?AQ.max:AN.datamax),AP=AK-AM;if(AP==0){var AL=AK==0?1:0.01;if(AQ.min==null){AM-=AL}if(AQ.max==null||AQ.min!=null){AK+=AL}}else{var AO=AQ.autoscaleMargin;if(AO!=null){if(AQ.min==null){AM-=AP*AO;if(AM<0&&AN.datamin!=null&&AN.datamin>=0){AM=0}}if(AQ.max==null){AK+=AP*AO;if(AK>0&&AN.datamax!=null&&AN.datamax<=0){AK=0}}}}AN.min=AM;AN.max=AK}function F(AP,AS){var AO;if(typeof AS.ticks=="number"&&AS.ticks>0){AO=AS.ticks}else{if(AP==s.xaxis||AP==s.x2axis){AO=0.3*Math.sqrt(y)}else{AO=0.3*Math.sqrt(Q)}}var AX=(AP.max-AP.min)/AO,A
 Z,AT,AV,AW,AR,AM,AL;if(AS.mode=="time"){var AU={second:1000,minute:60*1000,hour:60*60*1000,day:24*60*60*1000,month:30*24*60*60*1000,year:365.2425*24*60*60*1000};var AY=[[1,"second"],[2,"second"],[5,"second"],[10,"second"],[30,"second"],[1,"minute"],[2,"minute"],[5,"minute"],[10,"minute"],[30,"minute"],[1,"hour"],[2,"hour"],[4,"hour"],[8,"hour"],[12,"hour"],[1,"day"],[2,"day"],[3,"day"],[0.25,"month"],[0.5,"month"],[1,"month"],[2,"month"],[3,"month"],[6,"month"],[1,"year"]];var AN=0;if(AS.minTickSize!=null){if(typeof AS.tickSize=="number"){AN=AS.tickSize}else{AN=AS.minTickSize[0]*AU[AS.minTickSize[1]]}}for(AR=0;AR<AY.length-1;++AR){if(AX<(AY[AR][0]*AU[AY[AR][1]]+AY[AR+1][0]*AU[AY[AR+1][1]])/2&&AY[AR][0]*AU[AY[AR][1]]>=AN){break}}AZ=AY[AR][0];AV=AY[AR][1];if(AV=="year"){AM=Math.pow(10,Math.floor(Math.log(AX/AU.year)/Math.LN10));AL=(AX/AU.year)/AM;if(AL<1.5){AZ=1}else{if(AL<3){AZ=2}else{if(AL<7.5){AZ=5}else{AZ=10}}}AZ*=AM}if(AS.tickSize){AZ=AS.tickSize[0];AV=AS.tickSize[1]}AT=function(
 Ac){var Ah=[],Af=Ac.tickSize[0],Ai=Ac.tickSize[1],Ag=new Date(Ac.min);var Ab=Af*AU[Ai];if(Ai=="second"){Ag.setUTCSeconds(A(Ag.getUTCSeconds(),Af))}if(Ai=="minute"){Ag.setUTCMinutes(A(Ag.getUTCMinutes(),Af))}if(Ai=="hour"){Ag.setUTCHours(A(Ag.getUTCHours(),Af))}if(Ai=="month"){Ag.setUTCMonth(A(Ag.getUTCMonth(),Af))}if(Ai=="year"){Ag.setUTCFullYear(A(Ag.getUTCFullYear(),Af))}Ag.setUTCMilliseconds(0);if(Ab>=AU.minute){Ag.setUTCSeconds(0)}if(Ab>=AU.hour){Ag.setUTCMinutes(0)}if(Ab>=AU.day){Ag.setUTCHours(0)}if(Ab>=AU.day*4){Ag.setUTCDate(1)}if(Ab>=AU.year){Ag.setUTCMonth(0)}var Ak=0,Aj=Number.NaN,Ad;do{Ad=Aj;Aj=Ag.getTime();Ah.push({v:Aj,label:Ac.tickFormatter(Aj,Ac)});if(Ai=="month"){if(Af<1){Ag.setUTCDate(1);var Aa=Ag.getTime();Ag.setUTCMonth(Ag.getUTCMonth()+1);var Ae=Ag.getTime();Ag.setTime(Aj+Ak*AU.hour+(Ae-Aa)*Af);Ak=Ag.getUTCHours();Ag.setUTCHours(0)}else{Ag.setUTCMonth(Ag.getUTCMonth()+Af)}}else{if(Ai=="year"){Ag.setUTCFullYear(Ag.getUTCFullYear()+Af)}else{Ag.setTime(Aj+Ab)}}}whi
 le(Aj<Ac.max&&Aj!=Ad);return Ah};AW=function(Aa,Ad){var Af=new Date(Aa);if(AS.timeformat!=null){return C.plot.formatDate(Af,AS.timeformat,AS.monthNames)}var Ab=Ad.tickSize[0]*AU[Ad.tickSize[1]];var Ac=Ad.max-Ad.min;var Ae=(AS.twelveHourClock)?" %p":"";if(Ab<AU.minute){fmt="%h:%M:%S"+Ae}else{if(Ab<AU.day){if(Ac<2*AU.day){fmt="%h:%M"+Ae}else{fmt="%b %d %h:%M"+Ae}}else{if(Ab<AU.month){fmt="%b %d"}else{if(Ab<AU.year){if(Ac<AU.year){fmt="%b"}else{fmt="%b %y"}}else{fmt="%y"}}}}return C.plot.formatDate(Af,fmt,AS.monthNames)}}else{var AK=AS.tickDecimals;var AQ=-Math.floor(Math.log(AX)/Math.LN10);if(AK!=null&&AQ>AK){AQ=AK}AM=Math.pow(10,-AQ);AL=AX/AM;if(AL<1.5){AZ=1}else{if(AL<3){AZ=2;if(AL>2.25&&(AK==null||AQ+1<=AK)){AZ=2.5;++AQ}}else{if(AL<7.5){AZ=5}else{AZ=10}}}AZ*=AM;if(AS.minTickSize!=null&&AZ<AS.minTickSize){AZ=AS.minTickSize}if(AS.tickSize!=null){AZ=AS.tickSize}AP.tickDecimals=Math.max(0,(AK!=null)?AK:AQ);AT=function(Ac){var Ae=[];var Af=A(Ac.min,Ac.tickSize),Ab=0,Aa=Number.NaN,Ad;do{
 Ad=Aa;Aa=Af+Ab*Ac.tickSize;Ae.push({v:Aa,label:Ac.tickFormatter(Aa,Ac)});++Ab}while(Aa<Ac.max&&Aa!=Ad);return Ae};AW=function(Aa,Ab){return Aa.toFixed(Ab.tickDecimals)}}AP.tickSize=AV?[AZ,AV]:AZ;AP.tickGenerator=AT;if(C.isFunction(AS.tickFormatter)){AP.tickFormatter=function(Aa,Ab){return""+AS.tickFormatter(Aa,Ab)}}else{AP.tickFormatter=AW}}function p(AO,AQ){AO.ticks=[];if(!AO.used){return }if(AQ.ticks==null){AO.ticks=AO.tickGenerator(AO)}else{if(typeof AQ.ticks=="number"){if(AQ.ticks>0){AO.ticks=AO.tickGenerator(AO)}}else{if(AQ.ticks){var AP=AQ.ticks;if(C.isFunction(AP)){AP=AP({min:AO.min,max:AO.max})}var AN,AK;for(AN=0;AN<AP.length;++AN){var AL=null;var AM=AP[AN];if(typeof AM=="object"){AK=AM[0];if(AM.length>1){AL=AM[1]}}else{AK=AM}if(AL==null){AL=AO.tickFormatter(AK,AO)}AO.ticks[AN]={v:AK,label:AL}}}}}if(AQ.autoscaleMargin!=null&&AO.ticks.length>0){if(AQ.min==null){AO.min=Math.min(AO.min,AO.ticks[0].v)}if(AQ.max==null&&AO.ticks.length>1){AO.max=Math.max(AO.max,AO.ticks[AO.ticks.l
 ength-1].v)}}}function AH(){Y.clearRect(0,0,y,Q);var AL=g.grid;if(AL.show&&!AL.aboveData){S()}for(var AK=0;AK<O.length;++AK){AA(O[AK])}Z(L.draw,[Y]);if(AL.show&&AL.aboveData){S()}}function N(AL,AR){var AO=AR+"axis",AK=AR+"2axis",AN,AQ,AP,AM;if(AL[AO]){AN=s[AO];AQ=AL[AO].from;AP=AL[AO].to}else{if(AL[AK]){AN=s[AK];AQ=AL[AK].from;AP=AL[AK].to}else{AN=s[AO];AQ=AL[AR+"1"];AP=AL[AR+"2"]}}if(AQ!=null&&AP!=null&&AQ>AP){return{from:AP,to:AQ,axis:AN}}return{from:AQ,to:AP,axis:AN}}function S(){var AO;Y.save();Y.translate(e.left,e.top);if(g.grid.backgroundColor){Y.fillStyle=R(g.grid.backgroundColor,t,0,"rgba(255, 255, 255, 0)");Y.fillRect(0,0,I,t)}var AL=g.grid.markings;if(AL){if(C.isFunction(AL)){AL=AL({xmin:s.xaxis.min,xmax:s.xaxis.max,ymin:s.yaxis.min,ymax:s.yaxis.max,xaxis:s.xaxis,yaxis:s.yaxis,x2axis:s.x2axis,y2axis:s.y2axis})}for(AO=0;AO<AL.length;++AO){var AK=AL[AO],AQ=N(AK,"x"),AN=N(AK,"y");if(AQ.from==null){AQ.from=AQ.axis.min}if(AQ.to==null){AQ.to=AQ.axis.max}if(AN.from==null){AN.from
 =AN.axis.min}if(AN.to==null){AN.to=AN.axis.max}if(AQ.to<AQ.axis.min||AQ.from>AQ.axis.max||AN.to<AN.axis.min||AN.from>AN.axis.max){continue}AQ.from=Math.max(AQ.from,AQ.axis.min);AQ.to=Math.min(AQ.to,AQ.axis.max);AN.from=Math.max(AN.from,AN.axis.min);AN.to=Math.min(AN.to,AN.axis.max);if(AQ.from==AQ.to&&AN.from==AN.to){continue}AQ.from=AQ.axis.p2c(AQ.from);AQ.to=AQ.axis.p2c(AQ.to);AN.from=AN.axis.p2c(AN.from);AN.to=AN.axis.p2c(AN.to);if(AQ.from==AQ.to||AN.from==AN.to){Y.beginPath();Y.strokeStyle=AK.color||g.grid.markingsColor;Y.lineWidth=AK.lineWidth||g.grid.markingsLineWidth;Y.moveTo(AQ.from,AN.from);Y.lineTo(AQ.to,AN.to);Y.stroke()}else{Y.fillStyle=AK.color||g.grid.markingsColor;Y.fillRect(AQ.from,AN.to,AQ.to-AQ.from,AN.from-AN.to)}}}Y.lineWidth=1;Y.strokeStyle=g.grid.tickColor;Y.beginPath();var AM,AP=s.xaxis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=s.xaxis.max){continue}Y.moveTo(Math.floor(AP.p2c(AM))+Y.lineWidth/2,0);Y.lineTo(Math.floor(AP.p2c(AM))+Y.l
 ineWidth/2,t)}AP=s.yaxis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=AP.max){continue}Y.moveTo(0,Math.floor(AP.p2c(AM))+Y.lineWidth/2);Y.lineTo(I,Math.floor(AP.p2c(AM))+Y.lineWidth/2)}AP=s.x2axis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=AP.max){continue}Y.moveTo(Math.floor(AP.p2c(AM))+Y.lineWidth/2,-5);Y.lineTo(Math.floor(AP.p2c(AM))+Y.lineWidth/2,5)}AP=s.y2axis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=AP.max){continue}Y.moveTo(I-5,Math.floor(AP.p2c(AM))+Y.lineWidth/2);Y.lineTo(I+5,Math.floor(AP.p2c(AM))+Y.lineWidth/2)}Y.stroke();if(g.grid.borderWidth){var AR=g.grid.borderWidth;Y.lineWidth=AR;Y.strokeStyle=g.grid.borderColor;Y.strokeRect(-AR/2,-AR/2,I+AR,t+AR)}Y.restore()}function h(){l.find(".tickLabels").remove();var AK=['<div class="tickLabels" style="font-size:smaller;color:'+g.grid.color+'">'];function AM(AP,AQ){for(var AO=0;AO<AP.ticks.length;++AO){var AN=AP.ticks[AO];if(!AN.label||AN.v<AP.m
 in||AN.v>AP.max){continue}AK.push(AQ(AN,AP))}}var AL=g.grid.labelMargin+g.grid.borderWidth;AM(s.xaxis,function(AN,AO){return'<div style="position:absolute;top:'+(e.top+t+AL)+"px;left:"+Math.round(e.left+AO.p2c(AN.v)-AO.labelWidth/2)+"px;width:"+AO.labelWidth+'px;text-align:center" class="tickLabel">'+AN.label+"</div>"});AM(s.yaxis,function(AN,AO){return'<div style="position:absolute;top:'+Math.round(e.top+AO.p2c(AN.v)-AO.labelHeight/2)+"px;right:"+(e.right+I+AL)+"px;width:"+AO.labelWidth+'px;text-align:right" class="tickLabel">'+AN.label+"</div>"});AM(s.x2axis,function(AN,AO){return'<div style="position:absolute;bottom:'+(e.bottom+t+AL)+"px;left:"+Math.round(e.left+AO.p2c(AN.v)-AO.labelWidth/2)+"px;width:"+AO.labelWidth+'px;text-align:center" class="tickLabel">'+AN.label+"</div>"});AM(s.y2axis,function(AN,AO){return'<div style="position:absolute;top:'+Math.round(e.top+AO.p2c(AN.v)-AO.labelHeight/2)+"px;left:"+(e.left+I+AL)+"px;width:"+AO.labelWidth+'px;text-align:left" class="tickLa
 bel">'+AN.label+"</div>"});AK.push("</div>");l.append(AK.join(""))}function AA(AK){if(AK.lines.show){a(AK)}if(AK.bars.show){n(AK)}if(AK.points.show){o(AK)}}function a(AN){function AM(AY,AZ,AR,Ad,Ac){var Ae=AY.points,AS=AY.pointsize,AW=null,AV=null;Y.beginPath();for(var AX=AS;AX<Ae.length;AX+=AS){var AU=Ae[AX-AS],Ab=Ae[AX-AS+1],AT=Ae[AX],Aa=Ae[AX+1];if(AU==null||AT==null){continue}if(Ab<=Aa&&Ab<Ac.min){if(Aa<Ac.min){continue}AU=(Ac.min-Ab)/(Aa-Ab)*(AT-AU)+AU;Ab=Ac.min}else{if(Aa<=Ab&&Aa<Ac.min){if(Ab<Ac.min){continue}AT=(Ac.min-Ab)/(Aa-Ab)*(AT-AU)+AU;Aa=Ac.min}}if(Ab>=Aa&&Ab>Ac.max){if(Aa>Ac.max){continue}AU=(Ac.max-Ab)/(Aa-Ab)*(AT-AU)+AU;Ab=Ac.max}else{if(Aa>=Ab&&Aa>Ac.max){if(Ab>Ac.max){continue}AT=(Ac.max-Ab)/(Aa-Ab)*(AT-AU)+AU;Aa=Ac.max}}if(AU<=AT&&AU<Ad.min){if(AT<Ad.min){continue}Ab=(Ad.min-AU)/(AT-AU)*(Aa-Ab)+Ab;AU=Ad.min}else{if(AT<=AU&&AT<Ad.min){if(AU<Ad.min){continue}Aa=(Ad.min-AU)/(AT-AU)*(Aa-Ab)+Ab;AT=Ad.min}}if(AU>=AT&&AU>Ad.max){if(AT>Ad.max){continue}Ab=(Ad.max-AU)/(A
 T-AU)*(Aa-Ab)+Ab;AU=Ad.max}else{if(AT>=AU&&AT>Ad.max){if(AU>Ad.max){continue}Aa=(Ad.max-AU)/(AT-AU)*(Aa-Ab)+Ab;AT=Ad.max}}if(AU!=AW||Ab!=AV){Y.moveTo(Ad.p2c(AU)+AZ,Ac.p2c(Ab)+AR)}AW=AT;AV=Aa;Y.lineTo(Ad.p2c(AT)+AZ,Ac.p2c(Aa)+AR)}Y.stroke()}function AO(AX,Ae,Ac){var Af=AX.points,AR=AX.pointsize,AS=Math.min(Math.max(0,Ac.min),Ac.max),Aa,AV=0,Ad=false;for(var AW=AR;AW<Af.length;AW+=AR){var AU=Af[AW-AR],Ab=Af[AW-AR+1],AT=Af[AW],AZ=Af[AW+1];if(Ad&&AU!=null&&AT==null){Y.lineTo(Ae.p2c(AV),Ac.p2c(AS));Y.fill();Ad=false;continue}if(AU==null||AT==null){continue}if(AU<=AT&&AU<Ae.min){if(AT<Ae.min){continue}Ab=(Ae.min-AU)/(AT-AU)*(AZ-Ab)+Ab;AU=Ae.min}else{if(AT<=AU&&AT<Ae.min){if(AU<Ae.min){continue}AZ=(Ae.min-AU)/(AT-AU)*(AZ-Ab)+Ab;AT=Ae.min}}if(AU>=AT&&AU>Ae.max){if(AT>Ae.max){continue}Ab=(Ae.max-AU)/(AT-AU)*(AZ-Ab)+Ab;AU=Ae.max}else{if(AT>=AU&&AT>Ae.max){if(AU>Ae.max){continue}AZ=(Ae.max-AU)/(AT-AU)*(AZ-Ab)+Ab;AT=Ae.max}}if(!Ad){Y.beginPath();Y.moveTo(Ae.p2c(AU),Ac.p2c(AS));Ad=true}if(Ab>=Ac
 .max&&AZ>=Ac.max){Y.lineTo(Ae.p2c(AU),Ac.p2c(Ac.max));Y.lineTo(Ae.p2c(AT),Ac.p2c(Ac.max));AV=AT;continue}else{if(Ab<=Ac.min&&AZ<=Ac.min){Y.lineTo(Ae.p2c(AU),Ac.p2c(Ac.min));Y.lineTo(Ae.p2c(AT),Ac.p2c(Ac.min));AV=AT;continue}}var Ag=AU,AY=AT;if(Ab<=AZ&&Ab<Ac.min&&AZ>=Ac.min){AU=(Ac.min-Ab)/(AZ-Ab)*(AT-AU)+AU;Ab=Ac.min}else{if(AZ<=Ab&&AZ<Ac.min&&Ab>=Ac.min){AT=(Ac.min-Ab)/(AZ-Ab)*(AT-AU)+AU;AZ=Ac.min}}if(Ab>=AZ&&Ab>Ac.max&&AZ<=Ac.max){AU=(Ac.max-Ab)/(AZ-Ab)*(AT-AU)+AU;Ab=Ac.max}else{if(AZ>=Ab&&AZ>Ac.max&&Ab<=Ac.max){AT=(Ac.max-Ab)/(AZ-Ab)*(AT-AU)+AU;AZ=Ac.max}}if(AU!=Ag){if(Ab<=Ac.min){Aa=Ac.min}else{Aa=Ac.max}Y.lineTo(Ae.p2c(Ag),Ac.p2c(Aa));Y.lineTo(Ae.p2c(AU),Ac.p2c(Aa))}Y.lineTo(Ae.p2c(AU),Ac.p2c(Ab));Y.lineTo(Ae.p2c(AT),Ac.p2c(AZ));if(AT!=AY){if(AZ<=Ac.min){Aa=Ac.min}else{Aa=Ac.max}Y.lineTo(Ae.p2c(AT),Ac.p2c(Aa));Y.lineTo(Ae.p2c(AY),Ac.p2c(Aa))}AV=Math.max(AT,AY)}if(Ad){Y.lineTo(Ae.p2c(AV),Ac.p2c(AS));Y.fill()}}Y.save();Y.translate(e.left,e.top);Y.lineJoin="round";var AP=AN.lines.
 lineWidth,AK=AN.shadowSize;if(AP>0&&AK>0){Y.lineWidth=AK;Y.strokeStyle="rgba(0,0,0,0.1)";var AQ=Math.PI/18;AM(AN.datapoints,Math.sin(AQ)*(AP/2+AK/2),Math.cos(AQ)*(AP/2+AK/2),AN.xaxis,AN.yaxis);Y.lineWidth=AK/2;AM(AN.datapoints,Math.sin(AQ)*(AP/2+AK/4),Math.cos(AQ)*(AP/2+AK/4),AN.xaxis,AN.yaxis)}Y.lineWidth=AP;Y.strokeStyle=AN.color;var AL=V(AN.lines,AN.color,0,t);if(AL){Y.fillStyle=AL;AO(AN.datapoints,AN.xaxis,AN.yaxis)}if(AP>0){AM(AN.datapoints,0,0,AN.xaxis,AN.yaxis)}Y.restore()}function o(AN){function AP(AU,AT,Ab,AR,AV,AZ,AY){var Aa=AU.points,AQ=AU.pointsize;for(var AS=0;AS<Aa.length;AS+=AQ){var AX=Aa[AS],AW=Aa[AS+1];if(AX==null||AX<AZ.min||AX>AZ.max||AW<AY.min||AW>AY.max){continue}Y.beginPath();Y.arc(AZ.p2c(AX),AY.p2c(AW)+AR,AT,0,AV,false);if(Ab){Y.fillStyle=Ab;Y.fill()}Y.stroke()}}Y.save();Y.translate(e.left,e.top);var AO=AN.lines.lineWidth,AL=AN.shadowSize,AK=AN.points.radius;if(AO>0&&AL>0){var AM=AL/2;Y.lineWidth=AM;Y.strokeStyle="rgba(0,0,0,0.1)";AP(AN.datapoints,AK,null,AM+A
 M/2,Math.PI,AN.xaxis,AN.yaxis);Y.strokeStyle="rgba(0,0,0,0.2)";AP(AN.datapoints,AK,null,AM/2,Math.PI,AN.xaxis,AN.yaxis)}Y.lineWidth=AO;Y.strokeStyle=AN.color;AP(AN.datapoints,AK,V(AN.points,AN.color),0,2*Math.PI,AN.xaxis,AN.yaxis);Y.restore()}function AB(AV,AU,Ad,AQ,AY,AN,AL,AT,AS,Ac,AZ){var AM,Ab,AR,AX,AO,AK,AW,AP,Aa;if(AZ){AP=AK=AW=true;AO=false;AM=Ad;Ab=AV;AX=AU+AQ;AR=AU+AY;if(Ab<AM){Aa=Ab;Ab=AM;AM=Aa;AO=true;AK=false}}else{AO=AK=AW=true;AP=false;AM=AV+AQ;Ab=AV+AY;AR=Ad;AX=AU;if(AX<AR){Aa=AX;AX=AR;AR=Aa;AP=true;AW=false}}if(Ab<AT.min||AM>AT.max||AX<AS.min||AR>AS.max){return }if(AM<AT.min){AM=AT.min;AO=false}if(Ab>AT.max){Ab=AT.max;AK=false}if(AR<AS.min){AR=AS.min;AP=false}if(AX>AS.max){AX=AS.max;AW=false}AM=AT.p2c(AM);AR=AS.p2c(AR);Ab=AT.p2c(Ab);AX=AS.p2c(AX);if(AL){Ac.beginPath();Ac.moveTo(AM,AR);Ac.lineTo(AM,AX);Ac.lineTo(Ab,AX);Ac.lineTo(Ab,AR);Ac.fillStyle=AL(AR,AX);Ac.fill()}if(AO||AK||AW||AP){Ac.beginPath();Ac.moveTo(AM,AR+AN);if(AO){Ac.lineTo(AM,AX+AN)}else{Ac.moveTo(AM,AX
 +AN)}if(AW){Ac.lineTo(Ab,AX+AN)}else{Ac.moveTo(Ab,AX+AN)}if(AK){Ac.lineTo(Ab,AR+AN)}else{Ac.moveTo(Ab,AR+AN)}if(AP){Ac.lineTo(AM,AR+AN)}else{Ac.moveTo(AM,AR+AN)}Ac.stroke()}}function n(AM){function AL(AS,AR,AU,AP,AT,AW,AV){var AX=AS.points,AO=AS.pointsize;for(var AQ=0;AQ<AX.length;AQ+=AO){if(AX[AQ]==null){continue}AB(AX[AQ],AX[AQ+1],AX[AQ+2],AR,AU,AP,AT,AW,AV,Y,AM.bars.horizontal)}}Y.save();Y.translate(e.left,e.top);Y.lineWidth=AM.bars.lineWidth;Y.strokeStyle=AM.color;var AK=AM.bars.align=="left"?0:-AM.bars.barWidth/2;var AN=AM.bars.fill?function(AO,AP){return V(AM.bars,AM.color,AO,AP)}:null;AL(AM.datapoints,AK,AK+AM.bars.barWidth,0,AN,AM.xaxis,AM.yaxis);Y.restore()}function V(AM,AK,AL,AO){var AN=AM.fill;if(!AN){return null}if(AM.fillColor){return R(AM.fillColor,AL,AO,AK)}var AP=C.color.parse(AK);AP.a=typeof AN=="number"?AN:0.4;AP.normalize();return AP.toString()}function AI(){l.find(".legend").remove();if(!g.legend.show){return }var AP=[],AN=false,AV=g.legend.labelFormatter,AU,AR;f
 or(i=0;i<O.length;++i){AU=O[i];AR=AU.label;if(!AR){continue}if(i%g.legend.noColumns==0){if(AN){AP.push("</tr>")}AP.push("<tr>");AN=true}if(AV){AR=AV(AR,AU)}AP.push('<td class="legendColorBox"><div style="border:1px solid '+g.legend.labelBoxBorderColor+';padding:1px"><div style="width:4px;height:0;border:5px solid '+AU.color+';overflow:hidden"></div></div></td><td class="legendLabel">'+AR+"</td>")}if(AN){AP.push("</tr>")}if(AP.length==0){return }var AT='<table style="font-size:smaller;color:'+g.grid.color+'">'+AP.join("")+"</table>";if(g.legend.container!=null){C(g.legend.container).html(AT)}else{var AQ="",AL=g.legend.position,AM=g.legend.margin;if(AM[0]==null){AM=[AM,AM]}if(AL.charAt(0)=="n"){AQ+="top:"+(AM[1]+e.top)+"px;"}else{if(AL.charAt(0)=="s"){AQ+="bottom:"+(AM[1]+e.bottom)+"px;"}}if(AL.charAt(1)=="e"){AQ+="right:"+(AM[0]+e.right)+"px;"}else{if(AL.charAt(1)=="w"){AQ+="left:"+(AM[0]+e.left)+"px;"}}var AS=C('<div class="legend">'+AT.replace('style="','style="position:absolute;'+
 AQ+";")+"</div>").appendTo(l);if(g.legend.backgroundOpacity!=0){var AO=g.legend.backgroundColor;if(AO==null){AO=g.grid.backgroundColor;if(AO&&typeof AO=="string"){AO=C.color.parse(AO)}else{AO=C.color.extract(AS,"background-color")}AO.a=1;AO=AO.toString()}var AK=AS.children();C('<div style="position:absolute;width:'+AK.width()+"px;height:"+AK.height()+"px;"+AQ+"background-color:"+AO+';"> </div>').prependTo(AS).css("opacity",g.legend.backgroundOpacity)}}}var w=[],J=null;function AF(AR,AP,AM){var AX=g.grid.mouseActiveRadius,Aj=AX*AX+1,Ah=null,Aa=false,Af,Ad;for(Af=0;Af<O.length;++Af){if(!AM(O[Af])){continue}var AY=O[Af],AQ=AY.xaxis,AO=AY.yaxis,Ae=AY.datapoints.points,Ac=AY.datapoints.pointsize,AZ=AQ.c2p(AR),AW=AO.c2p(AP),AL=AX/AQ.scale,AK=AX/AO.scale;if(AY.lines.show||AY.points.show){for(Ad=0;Ad<Ae.length;Ad+=Ac){var AT=Ae[Ad],AS=Ae[Ad+1];if(AT==null){continue}if(AT-AZ>AL||AT-AZ<-AL||AS-AW>AK||AS-AW<-AK){continue}var AV=Math.abs(AQ.p2c(AT)-AR),AU=Math.abs(AO.p2c(AS)-AP),Ab=AV*AV+AU*AU;
 if(Ab<=Aj){Aj=Ab;Ah=[Af,Ad/Ac]}}}if(AY.bars.show&&!Ah){var AN=AY.bars.align=="left"?0:-AY.bars.barWidth/2,Ag=AN+AY.bars.barWidth;for(Ad=0;Ad<Ae.length;Ad+=Ac){var AT=Ae[Ad],AS=Ae[Ad+1],Ai=Ae[Ad+2];if(AT==null){continue}if(O[Af].bars.horizontal?(AZ<=Math.max(Ai,AT)&&AZ>=Math.min(Ai,AT)&&AW>=AS+AN&&AW<=AS+Ag):(AZ>=AT+AN&&AZ<=AT+Ag&&AW>=Math.min(Ai,AS)&&AW<=Math.max(Ai,AS))){Ah=[Af,Ad/Ac]}}}}if(Ah){Af=Ah[0];Ad=Ah[1];Ac=O[Af].datapoints.pointsize;return{datapoint:O[Af].datapoints.points.slice(Ad*Ac,(Ad+1)*Ac),dataIndex:Ad,series:O[Af],seriesIndex:Af}}return null}function D(AK){if(g.grid.hoverable){H("plothover",AK,function(AL){return AL.hoverable!=false})}}function d(AK){H("plotclick",AK,function(AL){return AL.clickable!=false})}function H(AL,AK,AM){var AN=AD.offset(),AS={pageX:AK.pageX,pageY:AK.pageY},AQ=AK.pageX-AN.left-e.left,AO=AK.pageY-AN.top-e.top;if(s.xaxis.used){AS.x=s.xaxis.c2p(AQ)}if(s.yaxis.used){AS.y=s.yaxis.c2p(AO)}if(s.x2axis.used){AS.x2=s.x2axis.c2p(AQ)}if(s.y2axis.used){
 AS.y2=s.y2axis.c2p(AO)}var AT=AF(AQ,AO,AM);if(AT){AT.pageX=parseInt(AT.series.xaxis.p2c(AT.datapoint[0])+AN.left+e.left);AT.pageY=parseInt(AT.series.yaxis.p2c(AT.datapoint[1])+AN.top+e.top)}if(g.grid.autoHighlight){for(var AP=0;AP<w.length;++AP){var AR=w[AP];if(AR.auto==AL&&!(AT&&AR.series==AT.series&&AR.point==AT.datapoint)){x(AR.series,AR.point)}}if(AT){AE(AT.series,AT.datapoint,AL)}}l.trigger(AL,[AS,AT])}function q(){if(!J){J=setTimeout(v,30)}}function v(){J=null;AJ.save();AJ.clearRect(0,0,y,Q);AJ.translate(e.left,e.top);var AL,AK;for(AL=0;AL<w.length;++AL){AK=w[AL];if(AK.series.bars.show){z(AK.series,AK.point)}else{u(AK.series,AK.point)}}AJ.restore();Z(L.drawOverlay,[AJ])}function AE(AM,AK,AN){if(typeof AM=="number"){AM=O[AM]}if(typeof AK=="number"){AK=AM.data[AK]}var AL=j(AM,AK);if(AL==-1){w.push({series:AM,point:AK,auto:AN});q()}else{if(!AN){w[AL].auto=false}}}function x(AM,AK){if(AM==null&&AK==null){w=[];q()}if(typeof AM=="number"){AM=O[AM]}if(typeof AK=="number"){AK=AM.data[
 AK]}var AL=j(AM,AK);if(AL!=-1){w.splice(AL,1);q()}}function j(AM,AN){for(var AK=0;AK<w.length;++AK){var AL=w[AK];if(AL.series==AM&&AL.point[0]==AN[0]&&AL.point[1]==AN[1]){return AK}}return -1}function u(AN,AM){var AL=AM[0],AR=AM[1],AQ=AN.xaxis,AP=AN.yaxis;if(AL<AQ.min||AL>AQ.max||AR<AP.min||AR>AP.max){return }var AO=AN.points.radius+AN.points.lineWidth/2;AJ.lineWidth=AO;AJ.strokeStyle=C.color.parse(AN.color).scale("a",0.5).toString();var AK=1.5*AO;AJ.beginPath();AJ.arc(AQ.p2c(AL),AP.p2c(AR),AK,0,2*Math.PI,false);AJ.stroke()}function z(AN,AK){AJ.lineWidth=AN.bars.lineWidth;AJ.strokeStyle=C.color.parse(AN.color).scale("a",0.5).toString();var AM=C.color.parse(AN.color).scale("a",0.5).toString();var AL=AN.bars.align=="left"?0:-AN.bars.barWidth/2;AB(AK[0],AK[1],AK[2]||0,AL,AL+AN.bars.barWidth,0,function(){return AM},AN.xaxis,AN.yaxis,AJ,AN.bars.horizontal)}function R(AM,AL,AQ,AO){if(typeof AM=="string"){return AM}else{var AP=Y.createLinearGradient(0,AQ,0,AL);for(var AN=0,AK=AM.colors.len
 gth;AN<AK;++AN){var AR=AM.colors[AN];if(typeof AR!="string"){AR=C.color.parse(AO).scale("rgb",AR.brightness);AR.a*=AR.opacity;AR=AR.toString()}AP.addColorStop(AN/(AK-1),AR)}return AP}}}C.plot=function(G,E,D){var F=new B(C(G),E,D,C.plot.plugins);return F};C.plot.plugins=[];C.plot.formatDate=function(H,E,G){var L=function(N){N=""+N;return N.length==1?"0"+N:N};var D=[];var M=false;var K=H.getUTCHours();var I=K<12;if(G==null){G=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}if(E.search(/%p|%P/)!=-1){if(K>12){K=K-12}else{if(K==0){K=12}}}for(var F=0;F<E.length;++F){var J=E.charAt(F);if(M){switch(J){case"h":J=""+K;break;case"H":J=L(K);break;case"M":J=L(H.getUTCMinutes());break;case"S":J=L(H.getUTCSeconds());break;case"d":J=""+H.getUTCDate();break;case"m":J=""+(H.getUTCMonth()+1);break;case"y":J=""+H.getUTCFullYear();break;case"b":J=""+G[H.getUTCMonth()];break;case"p":J=(I)?("am"):("pm");break;case"P":J=(I)?("AM"):("PM");break}D.push(J);M=false}else{if(J=="%"){M=t
 rue}else{D.push(J)}}}return D.join("")};function A(E,D){return D*Math.floor(E/D)}})(jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/.svn/text-base/json2.js.svn-base
----------------------------------------------------------------------
diff --git a/public/html/js/.svn/text-base/json2.js.svn-base b/public/html/js/.svn/text-base/json2.js.svn-base
deleted file mode 100644
index 241a271..0000000
--- a/public/html/js/.svn/text-base/json2.js.svn-base
+++ /dev/null
@@ -1,478 +0,0 @@
-/*
-    http://www.JSON.org/json2.js
-    2008-11-19
-
-    Public Domain.
-
-    NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
-
-    See http://www.JSON.org/js.html
-
-    This file creates a global JSON object containing two methods: stringify
-    and parse.
-
-        JSON.stringify(value, replacer, space)
-            value       any JavaScript value, usually an object or array.
-
-            replacer    an optional parameter that determines how object
-                        values are stringified for objects. It can be a
-                        function or an array of strings.
-
-            space       an optional parameter that specifies the indentation
-                        of nested structures. If it is omitted, the text will
-                        be packed without extra whitespace. If it is a number,
-                        it will specify the number of spaces to indent at each
-                        level. If it is a string (such as '\t' or '&nbsp;'),
-                        it contains the characters used to indent at each level.
-
-            This method produces a JSON text from a JavaScript value.
-
-            When an object value is found, if the object contains a toJSON
-            method, its toJSON method will be called and the result will be
-            stringified. A toJSON method does not serialize: it returns the
-            value represented by the name/value pair that should be serialized,
-            or undefined if nothing should be serialized. The toJSON method
-            will be passed the key associated with the value, and this will be
-            bound to the object holding the key.
-
-            For example, this would serialize Dates as ISO strings.
-
-                Date.prototype.toJSON = function (key) {
-                    function f(n) {
-                        // Format integers to have at least two digits.
-                        return n < 10 ? '0' + n : n;
-                    }
-
-                    return this.getUTCFullYear()   + '-' +
-                         f(this.getUTCMonth() + 1) + '-' +
-                         f(this.getUTCDate())      + 'T' +
-                         f(this.getUTCHours())     + ':' +
-                         f(this.getUTCMinutes())   + ':' +
-                         f(this.getUTCSeconds())   + 'Z';
-                };
-
-            You can provide an optional replacer method. It will be passed the
-            key and value of each member, with this bound to the containing
-            object. The value that is returned from your method will be
-            serialized. If your method returns undefined, then the member will
-            be excluded from the serialization.
-
-            If the replacer parameter is an array of strings, then it will be
-            used to select the members to be serialized. It filters the results
-            such that only members with keys listed in the replacer array are
-            stringified.
-
-            Values that do not have JSON representations, such as undefined or
-            functions, will not be serialized. Such values in objects will be
-            dropped; in arrays they will be replaced with null. You can use
-            a replacer function to replace those with JSON values.
-            JSON.stringify(undefined) returns undefined.
-
-            The optional space parameter produces a stringification of the
-            value that is filled with line breaks and indentation to make it
-            easier to read.
-
-            If the space parameter is a non-empty string, then that string will
-            be used for indentation. If the space parameter is a number, then
-            the indentation will be that many spaces.
-
-            Example:
-
-            text = JSON.stringify(['e', {pluribus: 'unum'}]);
-            // text is '["e",{"pluribus":"unum"}]'
-
-
-            text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t');
-            // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]'
-
-            text = JSON.stringify([new Date()], function (key, value) {
-                return this[key] instanceof Date ?
-                    'Date(' + this[key] + ')' : value;
-            });
-            // text is '["Date(---current time---)"]'
-
-
-        JSON.parse(text, reviver)
-            This method parses a JSON text to produce an object or array.
-            It can throw a SyntaxError exception.
-
-            The optional reviver parameter is a function that can filter and
-            transform the results. It receives each of the keys and values,
-            and its return value is used instead of the original value.
-            If it returns what it received, then the structure is not modified.
-            If it returns undefined then the member is deleted.
-
-            Example:
-
-            // Parse the text. Values that look like ISO date strings will
-            // be converted to Date objects.
-
-            myData = JSON.parse(text, function (key, value) {
-                var a;
-                if (typeof value === 'string') {
-                    a =
-/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
-                    if (a) {
-                        return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
-                            +a[5], +a[6]));
-                    }
-                }
-                return value;
-            });
-
-            myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) {
-                var d;
-                if (typeof value === 'string' &&
-                        value.slice(0, 5) === 'Date(' &&
-                        value.slice(-1) === ')') {
-                    d = new Date(value.slice(5, -1));
-                    if (d) {
-                        return d;
-                    }
-                }
-                return value;
-            });
-
-
-    This is a reference implementation. You are free to copy, modify, or
-    redistribute.
-
-    This code should be minified before deployment.
-    See http://javascript.crockford.com/jsmin.html
-
-    USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO
-    NOT CONTROL.
-*/
-
-/*jslint evil: true */
-
-/*global JSON */
-
-/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply,
-    call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
-    getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,
-    lastIndex, length, parse, prototype, push, replace, slice, stringify,
-    test, toJSON, toString, valueOf
-*/
-
-// Create a JSON object only if one does not already exist. We create the
-// methods in a closure to avoid creating global variables.
-
-if (!this.JSON) {
-    JSON = {};
-}
-(function () {
-
-    function f(n) {
-        // Format integers to have at least two digits.
-        return n < 10 ? '0' + n : n;
-    }
-
-    if (typeof Date.prototype.toJSON !== 'function') {
-
-        Date.prototype.toJSON = function (key) {
-
-            return this.getUTCFullYear()   + '-' +
-                 f(this.getUTCMonth() + 1) + '-' +
-                 f(this.getUTCDate())      + 'T' +
-                 f(this.getUTCHours())     + ':' +
-                 f(this.getUTCMinutes())   + ':' +
-                 f(this.getUTCSeconds())   + 'Z';
-        };
-
-        String.prototype.toJSON =
-        Number.prototype.toJSON =
-        Boolean.prototype.toJSON = function (key) {
-            return this.valueOf();
-        };
-    }
-
-    var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
-        escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
-        gap,
-        indent,
-        meta = {    // table of character substitutions
-            '\b': '\\b',
-            '\t': '\\t',
-            '\n': '\\n',
-            '\f': '\\f',
-            '\r': '\\r',
-            '"' : '\\"',
-            '\\': '\\\\'
-        },
-        rep;
-
-
-    function quote(string) {
-
-// If the string contains no control characters, no quote characters, and no
-// backslash characters, then we can safely slap some quotes around it.
-// Otherwise we must also replace the offending characters with safe escape
-// sequences.
-
-        escapable.lastIndex = 0;
-        return escapable.test(string) ?
-            '"' + string.replace(escapable, function (a) {
-                var c = meta[a];
-                return typeof c === 'string' ? c :
-                    '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
-            }) + '"' :
-            '"' + string + '"';
-    }
-
-
-    function str(key, holder) {
-
-// Produce a string from holder[key].
-
-        var i,          // The loop counter.
-            k,          // The member key.
-            v,          // The member value.
-            length,
-            mind = gap,
-            partial,
-            value = holder[key];
-
-// If the value has a toJSON method, call it to obtain a replacement value.
-
-        if (value && typeof value === 'object' &&
-                typeof value.toJSON === 'function') {
-            value = value.toJSON(key);
-        }
-
-// If we were called with a replacer function, then call the replacer to
-// obtain a replacement value.
-
-        if (typeof rep === 'function') {
-            value = rep.call(holder, key, value);
-        }
-
-// What happens next depends on the value's type.
-
-        switch (typeof value) {
-        case 'string':
-            return quote(value);
-
-        case 'number':
-
-// JSON numbers must be finite. Encode non-finite numbers as null.
-
-            return isFinite(value) ? String(value) : 'null';
-
-        case 'boolean':
-        case 'null':
-
-// If the value is a boolean or null, convert it to a string. Note:
-// typeof null does not produce 'null'. The case is included here in
-// the remote chance that this gets fixed someday.
-
-            return String(value);
-
-// If the type is 'object', we might be dealing with an object or an array or
-// null.
-
-        case 'object':
-
-// Due to a specification blunder in ECMAScript, typeof null is 'object',
-// so watch out for that case.
-
-            if (!value) {
-                return 'null';
-            }
-
-// Make an array to hold the partial results of stringifying this object value.
-
-            gap += indent;
-            partial = [];
-
-// Is the value an array?
-
-            if (Object.prototype.toString.apply(value) === '[object Array]') {
-
-// The value is an array. Stringify every element. Use null as a placeholder
-// for non-JSON values.
-
-                length = value.length;
-                for (i = 0; i < length; i += 1) {
-                    partial[i] = str(i, value) || 'null';
-                }
-
-// Join all of the elements together, separated with commas, and wrap them in
-// brackets.
-
-                v = partial.length === 0 ? '[]' :
-                    gap ? '[\n' + gap +
-                            partial.join(',\n' + gap) + '\n' +
-                                mind + ']' :
-                          '[' + partial.join(',') + ']';
-                gap = mind;
-                return v;
-            }
-
-// If the replacer is an array, use it to select the members to be stringified.
-
-            if (rep && typeof rep === 'object') {
-                length = rep.length;
-                for (i = 0; i < length; i += 1) {
-                    k = rep[i];
-                    if (typeof k === 'string') {
-                        v = str(k, value);
-                        if (v) {
-                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
-                        }
-                    }
-                }
-            } else {
-
-// Otherwise, iterate through all of the keys in the object.
-
-                for (k in value) {
-                    if (Object.hasOwnProperty.call(value, k)) {
-                        v = str(k, value);
-                        if (v) {
-                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
-                        }
-                    }
-                }
-            }
-
-// Join all of the member texts together, separated with commas,
-// and wrap them in braces.
-
-            v = partial.length === 0 ? '{}' :
-                gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
-                        mind + '}' : '{' + partial.join(',') + '}';
-            gap = mind;
-            return v;
-        }
-    }
-
-// If the JSON object does not yet have a stringify method, give it one.
-
-    if (typeof JSON.stringify !== 'function') {
-        JSON.stringify = function (value, replacer, space) {
-
-// The stringify method takes a value and an optional replacer, and an optional
-// space parameter, and returns a JSON text. The replacer can be a function
-// that can replace values, or an array of strings that will select the keys.
-// A default replacer method can be provided. Use of the space parameter can
-// produce text that is more easily readable.
-
-            var i;
-            gap = '';
-            indent = '';
-
-// If the space parameter is a number, make an indent string containing that
-// many spaces.
-
-            if (typeof space === 'number') {
-                for (i = 0; i < space; i += 1) {
-                    indent += ' ';
-                }
-
-// If the space parameter is a string, it will be used as the indent string.
-
-            } else if (typeof space === 'string') {
-                indent = space;
-            }
-
-// If there is a replacer, it must be a function or an array.
-// Otherwise, throw an error.
-
-            rep = replacer;
-            if (replacer && typeof replacer !== 'function' &&
-                    (typeof replacer !== 'object' ||
-                     typeof replacer.length !== 'number')) {
-                throw new Error('JSON.stringify');
-            }
-
-// Make a fake root object containing our value under the key of ''.
-// Return the result of stringifying the value.
-
-            return str('', {'': value});
-        };
-    }
-
-
-// If the JSON object does not yet have a parse method, give it one.
-
-    if (typeof JSON.parse !== 'function') {
-        JSON.parse = function (text, reviver) {
-
-// The parse method takes a text and an optional reviver function, and returns
-// a JavaScript value if the text is a valid JSON text.
-
-            var j;
-
-            function walk(holder, key) {
-
-// The walk method is used to recursively walk the resulting structure so
-// that modifications can be made.
-
-                var k, v, value = holder[key];
-                if (value && typeof value === 'object') {
-                    for (k in value) {
-                        if (Object.hasOwnProperty.call(value, k)) {
-                            v = walk(value, k);
-                            if (v !== undefined) {
-                                value[k] = v;
-                            } else {
-                                delete value[k];
-                            }
-                        }
-                    }
-                }
-                return reviver.call(holder, key, value);
-            }
-
-
-// Parsing happens in four stages. In the first stage, we replace certain
-// Unicode characters with escape sequences. JavaScript handles many characters
-// incorrectly, either silently deleting them, or treating them as line endings.
-
-            cx.lastIndex = 0;
-            if (cx.test(text)) {
-                text = text.replace(cx, function (a) {
-                    return '\\u' +
-                        ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
-                });
-            }
-
-// In the second stage, we run the text against regular expressions that look
-// for non-JSON patterns. We are especially concerned with '()' and 'new'
-// because they can cause invocation, and '=' because it can cause mutation.
-// But just to be safe, we want to reject all unexpected forms.
-
-// We split the second stage into 4 regexp operations in order to work around
-// crippling inefficiencies in IE's and Safari's regexp engines. First we
-// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we
-// replace all simple value tokens with ']' characters. Third, we delete all
-// open brackets that follow a colon or comma or that begin the text. Finally,
-// we look to see that the remaining characters are only whitespace or ']' or
-// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
-
-            if (/^[\],:{}\s]*$/.
-test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').
-replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
-replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
-
-// In the third stage we use the eval function to compile the text into a
-// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
-// in JavaScript: it can begin a block or an object literal. We wrap the text
-// in parens to eliminate the ambiguity.
-
-                j = eval('(' + text + ')');
-
-// In the optional fourth stage, we recursively walk the new structure, passing
-// each name/value pair to a reviver function for possible transformation.
-
-                return typeof reviver === 'function' ?
-                    walk({'': j}, '') : j;
-            }
-
-// If the text is not JSON parseable, then a SyntaxError is thrown.
-
-            throw new SyntaxError('JSON.parse');
-        };
-    }
-})();

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/.svn/text-base/xmisc.js.svn-base
----------------------------------------------------------------------
diff --git a/public/html/js/.svn/text-base/xmisc.js.svn-base b/public/html/js/.svn/text-base/xmisc.js.svn-base
deleted file mode 100644
index 5d08037..0000000
--- a/public/html/js/.svn/text-base/xmisc.js.svn-base
+++ /dev/null
@@ -1,320 +0,0 @@
-xmisc = {};
-
-// use parameters in attributes (list) to extract valid points from data (list)
-xmisc.get_valid_data_hdf4 = function(attrs, data) {
-
-    var fillValue = null;
-    //var missingValue = null;
-    var scaleFactor = null;
-    var offset = null;
-    var validRange = null;
-    var count = 0;
-    for (var i=0; i<attrs.length; i++) {
-        var attr = attrs[i];
-        var name = attr["name"];
-        var value = attr["value"];
-        if (name == "_FillValue") {
-            fillValue = value;
-            count += 1;
-        }
-        if (name == "scale_factor") {
-            scaleFactor = value;
-            count += 1;
-        }
-        if (name == "add_offset") {
-            offset = value;
-            count += 1;
-        }
-        if (name == "valid_range") {
-            validRange = value;
-            count += 1;
-        }
-    }
-
-    // insist on seeing all 4 of fillValue, scaleFactor, offset, validRange
-    //if (count != 4)
-    if (scaleFactor == null || offset == null || validRange == null)
-        return this.get_valid_data_default(data);
-
-    // sometimes validRange is bad, such as [0, -1], e.g.,
-    // http://oscar1.jpl.nasa.gov/data/cache/ladsweb.nascom.nasa.gov/allData/5/MOD05_L2/2008/123/MOD05_L2.A2008123.0405.005.2008124113323.hdf/Quality_Assurance_Infrared/?output=json
-    var validRangeIsOkay= true;
-    if (validRange[0] > validRange[1])
-        var validRangeIsOkay = false;
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (validRangeIsOkay && data[i] < validRange[0])
-            continue;
-        if (validRangeIsOkay && data[i] > validRange[1])
-            continue;
-        z.push([i, data[i]*scaleFactor+offset]);
-    }
-
-    return z;
-}
-
-// use parameters in attributes (list) to extract valid points from data (list)
-xmisc.get_valid_data_hdf5 = function(attrs, data) {
-
-    var fillValue = null;
-    var missingValue = null;
-    //var scaleFactor = null;
-    //var offset = null;
-    //var validRange = null;
-    var count = 0;
-    for (var i=0; i<attrs.length; i++) {
-        var attr = attrs[i];
-        var name = attr["name"];
-        var value = attr["value"];
-        if (name == "_FillValue") {
-            fillValue = value;
-            count += 1;
-        }
-        if (name == "MissingValue") {
-            missingValue = value;
-            count += 1;
-        }
-        /*
-        if (name == "scale_factor") {
-            scaleFactor = value;
-            count += 1;
-        }
-        if (name == "add_offset") {
-            offset = value;
-            count += 1;
-        }
-        if (name == "valid_range") {
-            validRange = value;
-            count += 1;
-        }
-        */
-    }
-
-    // insist on seeing all 2 of fillValue, missingValue
-    if (count != 2)
-        return this.get_valid_data_default(data);
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (data[i] == missingValue)
-            continue;
-        //z.push([i, data[i]*scaleFactor+offset]);
-        z.push([i,data[i]]);
-    }
-
-    return z;
-}
-
-// use parameters in attributes (list) to extract valid points from data (list)
-// specifically for aws
-xmisc.get_valid_data_nc_aws = function(attrs, data) {
-
-    var fillValue = null;
-    //var missingValue = null;
-    var scaleFactor = 1.0;
-    //var offset = null;
-    //var validRange = null;
-    var count = 0;
-    for (var i=0; i<attrs.length; i++) {
-        var attr = attrs[i];
-        var name = attr["name"];
-        var value = attr["value"];
-        if (name == "_FillValue") {
-            fillValue = value;
-            count += 1;
-        }
-        if (name == "scale_factor") {
-            scaleFactor = value;
-            count += 1;
-        }
-        //if (name == "add_offset") {
-        //    offset = value;
-        //    count += 1;
-        //}
-        //if (name == "valid_range") {
-        //    validRange = value;
-        //    count += 1;
-        //}
-    }
-
-    // insist on seeing all 4 of fillValue, scaleFactor, offset, validRange
-    //if (count != 4)
-    if (scaleFactor == null)
-        return this.get_valid_data_default(data);
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (fillValue != null && data[i] == fillValue)
-            continue;
-        z.push([i, data[i]*scaleFactor]);
-    }
-
-    return z;
-}
-
-xmisc.get_valid_data_default = function(data) {
-    var min = -10000;
-    var max = 10000;
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (data[i] < min)
-            continue;
-        if (data[i] > max)
-            continue;
-        z.push([i,data[i]]);
-    }
-    
-    return z;
-}
-
-xmisc.get_valid_data = function(w10nType, attrs, data) {
-
-    if (w10nType == "hdf4" || w10nType == "hdf4.basic")
-        return this.get_valid_data_hdf4(attrs, data);
-
-    if (w10nType == "hdf5" || w10nType == "hdf5.basic")
-        return this.get_valid_data_hdf5(attrs, data);
-
-    if (w10nType == "nc")
-        return this.get_valid_data_nc_aws(attrs, data);
-
-    return this.get_valid_data_default(data);
-}
-
-xmisc.get_series1 = function(x, y, min, max) {
-    //var min = -10000;
-    //var max = 10000;
-
-    var data = [];
-
-    if (x == null)
-        return {error:"x is null", data:data};
-    if (y == null)
-        return {error:"y is null", data:data};
-    if (x.length != y.length)
-        return {error:"x and y are not of the same size", data:data};
-
-    var data = [];
-    for (var i=0; i<x.length; i++) {
-        if (x[i] <= min || x[i] >= max)
-            continue;
-        if (y[i] <= min || y[i] >= max)
-            continue;
-        data.push([x[i],y[i]]);
-    }
-    
-    return {error:null, data:data};
-}
-
-/*
-xmisc.mask = function(a, allowRange, rejectList, value) {
-    var x = this.select_by_range(a, allowRange, value, false);
-    x = this.select_by_list(a, rejectList, value, true);
-    return x;
-}
-*/
-
-// a: array
-// range: [r0, r1]
-// value: set to value if out of range
-// negate: boolean to negate selection
-// return: array with out-of-range members as value
-xmisc.select_by_range = function(a, range, value, negate) {
-    if (!range)
-        return a;
-
-    var r0 = range[0];
-    var r1 = range[1];
-
-    var b = [];
-    var i, x, y;
-    for (i=0; i<a.length; i++) {
-        x = a[i];
-        if (x >= r0 && x <= r1) {
-            x = (negate) ? value : x;
-        } else {
-            x = (negate) ? x: value;
-        }
-        b.push(x);
-    }
-    return b;
-}
-
-xmisc.isOneOf = function(x, a) {
-    for (var i=0; i<a.length; i++) {
-        if (x == a[i])
-            return true;
-    }
-    return false;
-}
-
-// a: array
-// list: [val0, val1, ...], list to mask
-// value: set to value if member is one of list
-// negate: boolean to negate selection
-// return: array with members in list as value
-xmisc.select_by_list = function(a, list, value, negate) {
-    if (!list)
-        return a;
-
-    var b = []
-    var i, x;
-    for (i=0; i<a.length; i++) {
-        x = a[i];
-        if (this.isOneOf(x, list)) {
-            x = (negate) ? value : x;
-        } else {
-            x = (negate) ? x : value;
-        }
-        b.push(x);
-    }
-}
-
-xmisc.filter = function(x, filter) {
-    if (!filter)
-        return x;
-    z = [];
-    var lower = null;
-    var upper = null;
-    if (filter.validRange) {
-        lower = filter.validRange[0];
-        upper = filter.validRange[1];
-    }
-    var mask = [];
-
-    for (var i=0; i<x.length; i++) {
-        if (filter.validRange) {
-            if (x[i] < filter.validRange[0] || x[i] > filter.validRange[1]) {
-                z.push(null);
-            } else {
-                z.push(x[i]);
-            }
-            continue;
-        }
-        if (filter.MaskedValues) {
-            continue;
-        }
-        z.push(x[i]);
-    }
-}
-
-xmisc.get_series = function(x, y) {
-
-    var data = [];
-
-    if (x == null)
-        return {error:"x is null"};
-    if (y == null)
-        return {error:"y is null"};
-    if (x.length != y.length)
-        return {error:"x and y are not of the same size"};
-
-    var data = [];
-    for (var i=0; i<x.length; i++) {
-        data.push([x[i],y[i]]);
-    }
-    
-    return {error:null, data:data};
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/dataList.js
----------------------------------------------------------------------
diff --git a/public/html/js/dataList.js b/public/html/js/dataList.js
deleted file mode 100644
index 998d90c..0000000
--- a/public/html/js/dataList.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// modelName: [category, listOfVar],
-var groupList={
-"group1":         ["Model: Historical"],
-"group2":         ["Model: AMIP"],
-"group3":         ["Observation"],
-"group4":         ["Reanalysis"],
-};
-
-var dataList={
-"group1":         ["Model: Historical"],
-"GFDL/ESM2G":     ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "zos", "lai", "rlds", "rlus", "rldscs", "rlut", "rlutcs", "ta", "hus", "cli", "clw", "wap", "hur", ] ],       
-"GISS/E2-H":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],      
-"GISS/E2-R":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],      
-"NCAR/CAM5":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "sfcWind", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],      
-"NCC/NORESM":     ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ] ],       
-"UKMO/HadGEM2-ES":["Model: Historical",      ["pr", "clt", "ts", "uas", "vas", "sfcWind", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],            
-//                [ 
-"group2":         ["Model: AMIP"],
-"CCCMA/CANAM4":   ["Model: AMIP",            ["ts", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", ] ],         
-"CSIRO/MK3.6":    ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],        
-"GFDL/CM3":       ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ] ],     
-"IPSL/CM5A-LR":   ["Model: AMIP",            ["pr", "clt", "ts", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],         
-"MIROC/MIROC5":   ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],         
-"UKMO/HadGEM2-A": ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],           
-//                [ 
-"group3":         ["Observation"],
-"NASA/GRACE":     ["Observation", ["zl", "zo", ] ],            
-"NASA/MODIS":     ["Observation", ["clt", "lai", ] ],
-"NASA/AMSRE":     ["Observation", ["tos", ] ],
-"NASA/TRMM":      ["Observation", ["pr", ] ],
-"NASA/GPCP":      ["Observation", ["pr", ] ],
-"NASA/QuikSCAT":  ["Observation", ["uas", "vas", "sfcWind", ] ],
-"NASA/AVISO":     ["Observation", ["zos", ] ],
-"NOAA/NODC":      ["Observation", ["ohc700", "ohc2000", ] ],
-"NASA/CERES":     ["Observation", ["rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", ] ],
-"NASA/AIRS":      ["Observation", ["ta", "hus", ] ],
-"NASA/MLS":       ["Observation", ["ta", "hus", ] ],
-"ARGO/ARGO":      ["Observation", ["ot", "os", ] ],           
-//
-"group4":         ["Reanalysis"],
-"ECMWF/interim":  ["Reanalysis",  ["clt", "tos", "wap", "hur", ] ], 
-};


[34/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/twoDVariableZonelMean.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/twoDVariableZonelMean.scala.html b/app/views/climate/twoDVariableZonelMean.scala.html
deleted file mode 100644
index 9c346d6..0000000
--- a/app/views/climate/twoDVariableZonelMean.scala.html
+++ /dev/null
@@ -1,1038 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(parameters: metadata.TwoDVarZonalMean) @import helper._
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-@scripts = {
-<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-<script type="text/javascript"
-	src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js"></script>
-<script type="
-	text/javascript"
-	src='@routes.Assets.at("javascripts/json2.js")'></script>
-<script
-	type='text/javascript" src="@routes.Assets.at("javascripts/xmisc.js")'></script>
-<script type="text/javascript">
-    var Response = null;
-    var variable = "";
-    window.onload = function() {
-      changeDataSource(); 
-      select_data();
-      changeVariableName();
-      select_var();
-      var z=document.getElementById("download_data");
-      z.disabled=false;
-      $('#t0').val($('#startYearMonth').text());
-      $('#t1').val($('#endYearMonth').text());
-      var selectMonths = $('#selectMonths').text();
-      $('#months option:contains('+selectMonths+')').prop({selected: true});
-      select_months();
-      select_monthsByPara();
-      $('#lat0').val($('#startLat').text());
-      $('#lat1').val($('#endLat').text());
-      var variableScale = $('#variableScale').text();
-      if(variableScale == "0") {
-        $('#radioLin').prop( "checked", true );
-        $('#radioLog').prop( "checked", false );
-      }
-      else {
-        $('#radioLin').prop( "checked", false );
-        $('#radioLog').prop( "checked", true );
-      }
-      $('#purpose').html($('#executionPurpose').text());
-      var imageUrl = $('#image').text();
-      $('#Image').html('<img src="'+imageUrl+'" width=680 />');
-      $('#data_url').html($('#dataURL').text());
-      $('#Response').html($('serviceResponseText').text());
-    }
-    function changeDataSource(){
-    	var dataSource = $('#dataSource').text();
-     	var x = document.getElementById("data");
-     	if(dataSource == "NASA_MODIS" ){
-     		x.options[0].selected=true;
-     	}
-     	else if(dataSource == "NASA_AMSRE" ){
-     		x.options[1].selected=true;
-     	}
-     	else if(dataSource == "NASA_TRMM" ){
-     		x.options[2].selected=true;
-     	}
-     	else if(dataSource == "NASA_GPCP" ){
-     		x.options[3].selected=true;
-     	}
-     	else if(dataSource == "NASA_QuikSCAT" ){
-     		x.options[4].selected=true;
-     	}
-     	else if(dataSource == "NASA_AVISO" ){
-     		x.options[5].selected=true;
-     	}
-     	else if(dataSource == "NASA_GRACE" ){
-     		x.options[6].selected=true;
-     	}
-     	else if(dataSource == "NOAA_NODC" ){
-     		x.options[7].selected=true;
-     	}
-     	else if(dataSource == "NASA_CERES" ){
-     		x.options[8].selected=true;
-     	}
-     	else if(dataSource == "CCCMA_CANESM2" ){
-     		x.options[9].selected=true;
-     	}
-     	else if(dataSource == "GFDL_ESM2G" ){
-     		x.options[10].selected=true;
-     	}
-     	else if(dataSource == "GISS_E2-H" ){
-     		x.options[11].selected=true;
-     	}
-     	else if(dataSource == "GISS_E2-R" ){
-     		x.options[12].selected=true;
-     	}
-     	else if(dataSource == "NCAR_CAM5" ){
-     		x.options[13].selected=true;
-     	}
-     	else if(dataSource == "NCC_NORESM" ){
-     		x.options[14].selected=true;
-     	}
-     	else if(dataSource == "UKMO_HadGEM2-ES" ){
-     		x.options[15].selected=true;
-     	}
-     	else if(dataSource == "CCCMA_CANAM4" ){
-     		x.options[16].selected=true;
-     	}
-     	else if(dataSource == "CSIRO_MK3.6" ){
-     		x.options[17].selected=true;
-     	}
-     	else if(dataSource == "GFDL_CM3" ){
-     		x.options[18].selected=true;
-     	}
-     	else if(dataSource == "IPSL_CM5A-LR" ){
-     		x.options[19].selected=true;
-     	}
-     	else if(dataSource == "MIROC_MIROC5" ){
-     		x.options[20].selected=true;
-     	}
-     	else if(dataSource == "UKMO_HADGEM2-A" ){
-     		x.options[21].selected=true;
-     	}
-     	else if(dataSource == "ECMWF_interim" ){
-     		x.options[22].selected=true;
-     	}
-    }
-    function changeVariableName(){
-    	var var_string = $('#variableName').text();
-     	var x=document.getElementById("var");
-     	if (var_string == "clt")
-     		x.options[1].selected=true;
-        else if (var_string == "ts")
-        	x.options[2].selected=true;
-        else if (var_string == "tos")
-        	x.options[3].selected=true;
-        else if (var_string == "pr")
-        	x.options[0].selected=true;
-        else if (var_string == "uas")
-        	x.options[4].selected=true;
-        else if (var_string == "vas")
-        	x.options[5].selected=true;
-        else if (var_string == "sfcWind")
-        	x.options[6].selected=true;
-        else if (var_string == "zos")
-        	x.options[7].selected=true;
-        else if (var_string == "lai")
-        	x.options[8].selected=true;
-        else if (var_string == "zl")
-        	x.options[9].selected=true;
-        else if (var_string == "zo")
-        	x.options[10].selected=true;
-        else if (var_string == "ohc700")
-        	x.options[11].selected=true;
-        else if (var_string == "ohc2000")
-        	x.options[12].selected=true;
-        else if (var_string == "rlds")
-        	x.options[13].selected=true;
-        else if (var_string == "rsds")
-        	x.options[14].selected=true;
-        else if (var_string == "rlus")
-        	x.options[15].selected=true;
-        else if (var_string == "rsus")
-        	x.options[16].selected=true;
-        else if (var_string == "rldscs")
-        	x.options[17].selected=true;
-        else if (var_string == "rsdscs")
-        	x.options[18].selected=true;
-        else if (var_string == "rsuscs")
-        	x.options[19].selected=true;
-        else if (var_string == "rsdt")
-        	x.options[20].selected=true;
-        else if (var_string == "rlutcs")
-        	x.options[21].selected=true;
-        else if (var_string == "rlut")
-        	x.options[22].selected=true;
-        else if (var_string == "rsutcs")
-        	x.options[23].selected=true;
-        else if (var_string == "rsut")
-        	x.options[24].selected=true;
-    }
-    function select_monthsByPara(){
-    	var monthsByPara = $('#monthsPara').text();
-    	if(monthsByPara.search("jan")>-1){
-    		document.getElementById('Jan').checked = true;
-    	}
-    	if(monthsByPara.search("feb")>-1){
-    		document.getElementById('Feb').checked = true;
-    	}
-    	if(monthsByPara.search("mar")>-1){
-    		document.getElementById('Mar').checked = true;
-    	}
-    	if(monthsByPara.search("apr")>-1){
-    		document.getElementById('Apr').checked = true;
-    	}
-    	if(monthsByPara.search("may")>-1){
-    		document.getElementById('May').checked = true;
-    	}
-    	if(monthsByPara.search("jun")>-1){
-    		document.getElementById('Jun').checked = true;
-    	}
-    	if(monthsByPara.search("jul")>-1){
-    		document.getElementById('Jul').checked = true;
-    	}
-    	if(monthsByPara.search("aug")>-1){
-    		document.getElementById('Aug').checked = true;
-    	}
-    	if(monthsByPara.search("sep")>-1){
-    		document.getElementById('Sep').checked = true;
-    	}
-    	if(monthsByPara.search("oct")>-1){
-    		document.getElementById('Oct').checked = true;
-    	}
-    	if(monthsByPara.search("nov")>-1){
-    		document.getElementById('Nov').checked = true;
-    	}
-    	if(monthsByPara.search("dec")>-1){
-    		document.getElementById('Dec').checked = true;
-    	}
-    }
-    function disable_download_button()
-    {
-    }
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-    function select_all_months()
-    {
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-        document.getElementById('Dec').checked = true;
-    }
-    function no_month_check()
-    {
-        if (document.getElementById('Jan').checked == false &&
-           document.getElementById('Feb').checked == false &&
-           document.getElementById('Mar').checked == false &&
-           document.getElementById('Apr').checked == false &&
-           document.getElementById('May').checked == false &&
-           document.getElementById('Jun').checked == false &&
-           document.getElementById('Jul').checked == false &&
-           document.getElementById('Aug').checked == false &&
-           document.getElementById('Sep').checked == false &&
-           document.getElementById('Oct').checked == false &&
-           document.getElementById('Nov').checked == false &&
-           document.getElementById('Dec').checked == false) {
-           return true;
-          }
-        else
-           return false;
-    }
-    function reset_months()
-    {
-        document.getElementById('Jan').checked = false;
-        document.getElementById('Feb').checked = false;
-        document.getElementById('Mar').checked = false;
-        document.getElementById('Apr').checked = false;
-        document.getElementById('May').checked = false;
-        document.getElementById('Jun').checked = false;
-        document.getElementById('Jul').checked = false;
-        document.getElementById('Aug').checked = false;
-        document.getElementById('Sep').checked = false;
-        document.getElementById('Oct').checked = false;
-        document.getElementById('Nov').checked = false;
-        document.getElementById('Dec').checked = false;
-    }
-    function reset_vars()
-    {
-      var x=document.getElementById("var");
-      x.options[0].disabled=false;
-      x.options[1].disabled=false;
-      x.options[2].disabled=false;
-      x.options[3].disabled=false;
-      x.options[4].disabled=false;
-      x.options[5].disabled=false;
-      x.options[6].disabled=false;
-      x.options[7].disabled=false;
-      x.options[8].disabled=false;
-      x.options[9].disabled=false;
-      x.options[10].disabled=false;
-      x.options[11].disabled=false;
-      x.options[12].disabled=false;
-      x.options[13].disabled=false;
-      x.options[14].disabled=false;
-      x.options[15].disabled=false;
-      x.options[16].disabled=false;
-      x.options[17].disabled=false;
-      x.options[18].disabled=false;
-      x.options[19].disabled=false;
-      x.options[20].disabled=false;
-      x.options[21].disabled=false;
-      x.options[22].disabled=false;
-      x.options[23].disabled=false;
-      x.options[24].disabled=false;
-    }
-    function select_var()
-    {
-      var var_string = $("#var").val();
-      if (var_string == "Total Cloud Fraction")
-        variable = "clt";
-      else if (var_string == "Surface Temperature")
-        variable = "ts";
-      else if (var_string == "Sea Surface Temperature")
-        variable = "tos";
-      else if (var_string == "Precipitation Flux")
-        variable = "pr";
-      else if (var_string == "Eastward Near-Surface Wind")
-        variable = "uas";
-      else if (var_string == "Northward Near-Surface Wind")
-        variable = "vas";
-      else if (var_string == "Near-Surface Wind Speed")
-        variable = "sfcWind";
-      else if (var_string == "Sea Surface Height")
-        variable = "zos";
-      else if (var_string == "Leaf Area Index")
-        variable = "lai";
-      else if (var_string == "Equivalent Water Height Over Land")
-        variable = "zl";
-      else if (var_string == "Equivalent Water Height Over Ocean")
-        variable = "zo";
-      else if (var_string == "Ocean Heat Content Anomaly within 700 m Depth")
-        variable = "ohc700";
-      else if (var_string == "Ocean Heat Content Anomaly within 2000 m Depth")
-        variable = "ohc2000";
-      else if (var_string == "Surface Downwelling Longwave Radiation")
-        variable = "rlds";
-      else if (var_string == "Surface Downwelling Shortwave Radiation")
-        variable = "rsds";
-      else if (var_string == "Surface Upwelling Longwave Radiation")
-        variable = "rlus";
-      else if (var_string == "Surface Upwelling Shortwave Radiation")
-        variable = "rsus";
-      else if (var_string == "Surface Downwelling Clear-Sky Longwave Radiation")
-        variable = "rldscs";
-      else if (var_string == "Surface Downwelling Clear-Sky Shortwave Radiation")
-        variable = "rsdscs";
-      else if (var_string == "Surface Upwelling Clear-Sky Shortwave Radiation")
-        variable = "rsuscs";
-      else if (var_string == "TOA Incident Shortwave Radiation")
-        variable = "rsdt";
-      else if (var_string == "TOA Outgoing Clear-Sky Longwave Radiation")
-        variable = "rlutcs";
-      else if (var_string == "TOA Outgoing Longwave Radiation")
-        variable = "rlut";
-      else if (var_string == "TOA Outgoing Clear-Sky Shortwave Radiation")
-        variable = "rsutcs";
-      else if (var_string == "TOA Outgoing Shortwave Radiation")
-        variable = "rsut";
-    }
-    function select_data()
-    {
-      var data_string = $("#data").val();
-      var x=document.getElementById("var");
-      reset_vars();
-      if (data_string == "NASA/AMSRE") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[3].selected=true;
-      }
-      else if (data_string == "NASA/MODIS") {
-        x.options[0].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[1].selected=true;
-      }
-      else if (data_string == "NASA/TRMM") {
-        x.options[0].selected=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-      }
-      else if (data_string == "NASA/GPCP") {
-        x.options[0].selected=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-      }
-      else if (data_string == "NASA/QuikSCAT") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[4].selected=true;
-      }
-      else if (data_string == "NASA/AVISO") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[7].selected=true;
-      }
-      else if (data_string == "NASA/GRACE") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[9].selected=true;
-      }
-      else if (data_string == "NOAA/NODC") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[11].selected=true;
-      }
-      else if (data_string == "NASA/CERES") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].selected=true;
-      }
-      else if (data_string == "ECMWF/interim") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[3].selected=true;
-      }
-      else {
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[0].selected=true;
-      }
-    select_var();
-    }
-    function select_months()
-    {
-      var s1=document.getElementById("months");
-      if (s1.selectedIndex == 1) {
-        reset_months();
-      }
-      if (s1.selectedIndex == 0) {
-        select_all_months();
-      }
-      if (s1.selectedIndex == 2) {
-        reset_months();
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-      }
-      if (s1.selectedIndex == 3) {
-        reset_months();
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-      }
-      if (s1.selectedIndex == 4) {
-        reset_months();
-        document.getElementById('Dec').checked = true;
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-      }
-      if (s1.selectedIndex == 5) {
-        reset_months();
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-      }
-    }
-    $(document).ready(function(){
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        window.location.assign(durl);
-      });
-      $("#twodvarzonalmean").click(function(event) {
-		Response = null;
-      	if (no_month_check()) {
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        } 
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-        var url = "http://" + window.location.hostname + ":9002/svc/twoDimZonalMean?";
-        var d1 = $("#data").val();
-        var model1 = d1.replace("/", "_");
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-        var v1 = $("#var").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(variable);
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-        var s1 = document.getElementById('months');
-        var month_str = "";
-        var mm = document.getElementById('Jan');
-        if (mm.checked == true)
-          month_str = month_str.concat(",1");
-        var mm = document.getElementById('Feb');
-        if (mm.checked == true)
-          month_str = month_str.concat(",2");
-        var mm = document.getElementById('Mar');
-        if (mm.checked == true)
-          month_str = month_str.concat(",3");
-        var mm = document.getElementById('Apr');
-        if (mm.checked == true)
-          month_str = month_str.concat(",4");
-        var mm = document.getElementById('May');
-        if (mm.checked == true)
-          month_str = month_str.concat(",5");
-        var mm = document.getElementById('Jun');
-        if (mm.checked == true)
-          month_str = month_str.concat(",6");
-        var mm = document.getElementById('Jul');
-        if (mm.checked == true)
-          month_str = month_str.concat(",7");
-        var mm = document.getElementById('Aug');
-        if (mm.checked == true)
-          month_str = month_str.concat(",8");
-        var mm = document.getElementById('Sep');
-        if (mm.checked == true)
-          month_str = month_str.concat(",9");
-        var mm = document.getElementById('Oct');
-        if (mm.checked == true)
-          month_str = month_str.concat(",10");
-        var mm = document.getElementById('Nov');
-        if (mm.checked == true)
-          month_str = month_str.concat(",11");
-        var mm = document.getElementById('Dec');
-        if (mm.checked == true)
-          month_str = month_str.concat(",12");
-        month_str = month_str.substr(1);
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-        arglist = arglist.concat("&scale=");
-        var y = document.getElementById("radioLin").checked;
-        if (y == true)
-          arglist = arglist.concat('0');
-        else
-          arglist = arglist.concat('2');
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-        url = url + encodeURI(arglist);
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-				$("#Response").html("error!");
-				$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                $("#Response").html(text);
-                var html1 = "<img src='"+data.url+"' width='680' style=‘display: block; margin: 0 auto;’/>";
-                $("#Image").html(html1);
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-                $("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-      });
-    });
-  </script>
-}
-
-@main("Parameters of ConfId", scripts){ @flash_message()   
-	 
-<p>
-<div id="dataSource" style="display: none;">@parameters.getDataSource()</div>
-<div id="variableName" style="display: none;">@parameters.getVariableName()</div>
-<div id="startYearMonth" style="display: none;">@parameters.getStartYearMonth()</div>
-<div id="endYearMonth" style="display: none;">@parameters.getEndYearMonth()</div>
-<div id="selectMonths" style="display: none;">@parameters.getSelectMonths()</div>
-<div id="monthsPara" style="display: none;">@parameters.getMonth()</div>
-<div id="startLat" style="display: none;">@parameters.getStartLat()</div>
-<div id="endLat" style="display: none;">@parameters.getEndLat()</div>
-<div id="variableScale" style="display: none;">@parameters.getVariableScale()</div>
-<div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div>
-<div id="image" style="display: none;">@parameters.getImage()</div>
-<div id="dataURL" style="display: none;">@parameters.getDataURL()</div>
-<div id="serviceResponseText" style="display: none;">@parameters.getServiceResponseText()</div>
-<table border="1" align="center">
-
-<tr>
-<td colspan="4">
-<center>
-<b>Service: 2-D Variable Zonal Mean</b> <br><br>
-This service generates a graph of a 2-dimensional variable's zonal mean with time averaing. <br>
-Select a data source (model or observation), a variable name, and a time range below.<br><br>
-</center>
-</td>
-</tr>
-
-<tr>
-<td>data source:</td><td><select name="data", id="data" onchange="select_data()">
-<!-- <option>NASA/obs4MIPs</option>  -->
-<optgroup label="Observation">
-	<option>NASA/MODIS</option>
-	<option>NASA/AMSRE</option>
-	<option>NASA/TRMM</option>
-	<option>NASA/GPCP</option>
-	<option>NASA/QuikSCAT</option>
-	<option>NASA/AVISO</option>
-	<option>NASA/GRACE</option>
-	<option>NOAA/NODC</option>
-	<option>NASA/CERES</option>
-</optgroup>
-<optgroup label="Model: Historical">
-	<option>CCCMA/CANESM2</option>
-	<option>GFDL/ESM2G</option>
-	<option>GISS/E2-H</option>
-	<option>GISS/E2-R</option>
-	<option>NCAR/CAM5</option>
-	<option>NCC/NORESM</option>
-	<option>UKMO/HadGEM2-ES</option>
-</optgroup>
-<optgroup label="Model: AMIP">
-	<option>CCCMA/CANAM4</option>
-	<option>CSIRO/MK3.6</option>
-	<option>GFDL/CM3</option>
-	<option>IPSL/CM5A-LR</option>
-	<option>MIROC/MIROC5</option>
-	<option>UKMO/HadGEM2-A</option>
-</optgroup>
-<optgroup label="Reanalysis">
-	<option>ECMWF/interim</option>
-</optgroup>
-</select>
-</td>
-<td>variable name:</td>
-<td><select name="var" , id="var" onchange="select_var()">
-		<option>Precipitation Flux</option>
-		<option>Total Cloud Fraction</option>
-		<option>Surface Temperature</option>
-		<option>Sea Surface Temperature</option>
-		<option>Eastward Near-Surface Wind</option>
-		<option>Northward Near-Surface Wind</option>
-		<option>Near-Surface Wind Speed</option>
-		<option>Sea Surface Height</option>
-		<option>Leaf Area Index</option>
-		<option>Equivalent Water Height Over Land</option>
-		<option>Equivalent Water Height Over Ocean</option>
-		<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-		<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-		<option>Surface Downwelling Longwave Radiation</option>
-		<option>Surface Downwelling Shortwave Radiation</option>
-		<option>Surface Upwelling Longwave Radiation</option>
-		<option>Surface Upwelling Shortwave Radiation</option>
-		<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-		<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-		<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-		<option>TOA Incident Shortwave Radiation</option>
-		<option>TOA Outgoing Longwave Radiation</option>
-		<option>TOA Outgoing Shortwave Radiation</option>
-		<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-		<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-</select></td>
-</tr>
-<tr>
-	<td>start year-month:</td>
-	<td><input id="t0" value="2004-01" alt="start" /></td>
-	<td>end year-month:</td>
-	<td><input id="t1" value="2004-12" alt="end" /></td>
-</tr>
-<tr>
-	<td>select months:</td>
-	<td><select name="months" id="months" onchange="select_months()">
-			<option id="all">select all</option>
-			<option id="none">select none</option>
-			<option id="summer">Summer:Jun-Jul-Aug</option>
-			<option id="autum">Autumn:Sep-Oct-Nov</option>
-			<option id="winter">Winter:Dec-Jan-Feb</option>
-			<option id="spring">Spring:Mar-Apr-May</option>
-	</select></td>
-	<td></td>
-	<td>
-</tr>
-<tr>
-	<td><label><input type="checkbox" name="option1" id="Jan"
-			value="Jan" /> Jan<br></label> <label><input type="checkbox"
-			name="option1" id="Feb" value="Feb" /> Feb<br></label> <label><input
-			type="checkbox" name="option1" id="Mar" value="Mar" /> Mar<br></label>
-	</td>
-	<td><label><input type="checkbox" name="option1" id="Apr"
-			value="Apr" /> Apr<br></label> <label><input type="checkbox"
-			name="option1" id="May" value="May" /> May<br></label> <label><input
-			type="checkbox" name="option1" id="Jun" value="Jun" /> Jun<br></label>
-	</td>
-	<td><label><input type="checkbox" name="option1" id="Jul"
-			value="Jul" /> Jul<br></label> <label><input type="checkbox"
-			name="option1" id="Aug" value="Aug" /> Aug<br></label> <label><input
-			type="checkbox" name="option1" id="Sep" value="Sep" /> Sep<br></label>
-	</td>
-	<td><label><input type="checkbox" name="option1" id="Oct"
-			value="Oct" /> Oct<br></label> <label><input type="checkbox"
-			name="option1" id="Nov" value="Nov" /> Nov<br></label> <label><input
-			type="checkbox" name="option1" id="Dec" value="Dec" /> Dec<br></label>
-	</td>
-</tr>
-<tr>
-	<td>start lat (deg):</td>
-	<td><input id="lat0" value="-90" /></td>
-	<td>end lat (deg):</td>
-	<td><input id="lat1" value="90" /></td>
-</tr>
-<tr>
-	<td colspan="1">variable scale:</td>
-	<td colspan="3">
-		<form>
-			<input type="radio" name="scale1" value="linear" id="radioLin"
-				checked>linear <input type="radio" name="scale1"
-				value="logarithmic" id="radioLog">logarithmic
-		</form>
-	</td>
-</tr>
-<tr>
-	<td colspan="1">Execution purpose</td>
-	<td colspan="3">
-		<form>
-			<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-		</form>
-	</td>
-</tr>
-<tr>
-	<td colspan="2" align="center"><input id="twodvarzonalmean"
-		type="submit" value="            Run  Again            "
-		style="height: 28px" /></td>
-	<form>
-		<td colspan="2" align="center"><input id="download_data"
-			type="button" value="Download Data" style="height: 28px" /></td>
-	</form>
-</tr>
-<td colspan="4">
-	<div id="Image">Image Here</div>
-</td>
-</tr>
-<tr>
-	<td colspan="4" align="center"><textarea readonly id="data_url"
-			cols="89" rows="2">Data URL Here</textarea></td>
-</tr>
-<tr>
-	<td colspan="4" align="center"><textarea readonly id="Response"
-			cols="89" rows="6">Service Response Text Here</textarea></td>
-</tr>
-</p>
-</table>
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/flash_message.scala.html
----------------------------------------------------------------------
diff --git a/app/views/flash_message.scala.html b/app/views/flash_message.scala.html
deleted file mode 100644
index aa45530..0000000
--- a/app/views/flash_message.scala.html
+++ /dev/null
@@ -1,36 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@import helper._
-
-@if(flash.containsKey("error")) {
-        
-        <div class="alert alert-danger">
-                <strong>Oops!</strong> @flash.get("error")
-                <a class="close" data-dismiss="alert">x</a>
-        </div>
-        
-}
-
-@if(flash.containsKey("success")) {
-        
-        <div class="alert alert-success">
-                @flash.get("success")
-                <a class="close" data-dismiss="alert">x</a>
-        </div>
-        
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/index.scala.html
----------------------------------------------------------------------
diff --git a/app/views/index.scala.html b/app/views/index.scala.html
deleted file mode 100644
index d26d92f..0000000
--- a/app/views/index.scala.html
+++ /dev/null
@@ -1,24 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(message: String)
-
-@main("Welcome to Play") {
-
-    @play20.welcome(message, style = "Java")
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/main.scala.html
----------------------------------------------------------------------
diff --git a/app/views/main.scala.html b/app/views/main.scala.html
deleted file mode 100644
index 7bda335..0000000
--- a/app/views/main.scala.html
+++ /dev/null
@@ -1,32 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(title: String)(content: Html)
-
-<!DOCTYPE html>
-
-<html>
-    <head>
-        <title>@title</title>
-        <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
-        <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")">
-        <script src="@routes.Assets.at("javascripts/hello.js")" type="text/javascript"></script>
-    </head>
-    <body>
-        @content
-    </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/build.sbt
----------------------------------------------------------------------
diff --git a/build.sbt b/build.sbt
deleted file mode 100644
index af199b0..0000000
--- a/build.sbt
+++ /dev/null
@@ -1,14 +0,0 @@
-name := "ApacheCMDA_Frontend"
-
-version := "1.0-SNAPSHOT"
-
-libraryDependencies ++= Seq(
-  javaJdbc,
-  javaJpa, 
-  "org.hibernate" % "hibernate-entitymanager" % "3.6.9.Final",
-  "com.google.code.gson" % "gson" % "2.2.2",
-  "com.amazonaws" % "aws-java-sdk" % "1.7.6"
-)     
-
-play.Project.playJavaSettings
-

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/conf/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/conf/META-INF/persistence.xml b/conf/META-INF/persistence.xml
deleted file mode 100644
index b6756d1..0000000
--- a/conf/META-INF/persistence.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<persistence xmlns="http://java.sun.com/xml/ns/persistence"
-             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
-             version="2.0">
-             
-    <persistence-unit name="defaultPersistenceUnit" transaction-type="RESOURCE_LOCAL">
-        <provider>org.hibernate.ejb.HibernatePersistence</provider>
-        <non-jta-data-source>DefaultDS</non-jta-data-source>
-        <properties>
-            <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
-        </properties>
-    </persistence-unit>
-    
-</persistence>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/conf/application.conf
----------------------------------------------------------------------
diff --git a/conf/application.conf b/conf/application.conf
deleted file mode 100644
index 7256388..0000000
--- a/conf/application.conf
+++ /dev/null
@@ -1,77 +0,0 @@
-# This is the main configuration file for the application.
-# ~~~~~
-
-# Secret key
-# ~~~~~
-# The secret key is used to secure cryptographics functions.
-# If you deploy your application to several instances be sure to use the same key!
-application.secret="Yvmat?rXRF5n28:VY=mnIRZhuRlRhhfxJEAnoAxZg3Z9K6rhPi2Z1SLXtcV@<pAD"
-
-# The application languages
-# ~~~~~
-application.langs="en"
-
-# Global object class
-# ~~~~~
-# Define the Global object class for this application.
-# Default to Global in the root package.
-# application.global=Global
-
-# Router
-# ~~~~~
-# Define the Router object to use for this application.
-# This router will be looked up first when the application is starting up,
-# so make sure this is the entry point.
-# Furthermore, it's assumed your route file is named properly.
-# So for an application router like `conf/my.application.Router`,
-# you may need to define a router file `my.application.routes`.
-# Default to Routes in the root package (and `conf/routes`)
-# application.router=my.application.Routes
-
-# Database configuration
-# ~~~~~
-# You can declare as many datasources as you want.
-# By convention, the default datasource is named `default`
-#
- db.default.driver=org.h2.Driver
- db.default.url="jdbc:h2:file:data/db;DB_CLOSE_DELAY=-1"
- db.default.jndiName=DefaultDS
- db.default.user=sa
- db.default.password=""
-#
-
-# You can expose this datasource via JNDI if needed (Useful for JPA)
-# db.default.jndiName=DefaultDS
-
-# Evolutions
-# ~~~~~
-# You can disable evolutions if needed
-# evolutionplugin=disabled
-
-# JPA configuration
-# ~~~~~
-# You can declare as many Ebean servers as you want.
-# By convention, the default server is named `default`
-jpa.default=defaultPersistenceUnit
-
-# Ebean configuration
-# ~~~~~
-# You can declare as many Ebean servers as you want.
-# By convention, the default server is named `default`
-#
-#ebean.default="models.*"
-
-# Logger
-# ~~~~~
-# You can also configure logback (http://logback.qos.ch/),
-# by providing an application-logger.xml file in the conf directory.
-
-# Root logger:
-logger.root=ERROR
-
-# Logger used by the framework:
-logger.play=INFO
-
-# Logger provided to your application:
-logger.application=DEBUG
-

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/conf/routes
----------------------------------------------------------------------
diff --git a/conf/routes b/conf/routes
deleted file mode 100644
index f554cae..0000000
--- a/conf/routes
+++ /dev/null
@@ -1,56 +0,0 @@
-# Routes
-# This file defines all application routes (Higher priority routes first)
-# ~~~~
-
-# Home page
-GET         /home                                                controllers.ClimateServiceController.home(email ?= null, vfile ?= null, dataset ?= null)
-GET 		/													 controllers.ClimateServiceController.home(email ?= null, vfile ?= null, dataset ?= null)
-# Account
-
-GET         /serviceLog                                          controllers.AccountController.getServiceLog()
-GET         /serviceLogResult                                    controllers.AccountController.getSearchServiceLogOneDimension()
-GET         /serviceLogTimeResult                                controllers.AccountController.getSearchServiceLog()
-GET  		/serviceLogWorkflow									 controllers.AccountController.getSearchServiceLogForWorkflow()
-GET         /serviceLogRecommend                                 controllers.AccountController.getRecommend()
-GET         /datasetRecommend                                    controllers.AccountController.getDatasetRecommend()
-GET         /searchServiceLog                                    controllers.AccountController.searchServiceLog()
-GET         /serviceLogGraph                                     controllers.AccountController.getLogGraph()
-GET         /profileRecommend                                    controllers.AccountController.getScientistRecommend()
-POST        /syncData                                            controllers.AccountController.syncData()
-GET 		/searchAndGenerateWorkflow							 controllers.AccountController.getSearchAndGenerateWorkflow()
-GET 		/generateWorkflowGetData							 controllers.AccountController.getJsonData()
-
-# BugReporting
-GET         /bugs                                                controllers.BugReportController.reports()
-GET         /newReport                                           controllers.BugReportController.newReport()
-GET         /bug/list                                            controllers.BugReportController.list()
-POST        /delete/report                                       controllers.BugReportController.deleteReport()
-POST        /solve/report                                        controllers.BugReportController.solveReport()
-
-# About Us
-GET         /aboutus                                             controllers.AboutusController.aboutUs()
-GET         /aboutProject                                        controllers.AboutusController.aboutProject()
-
-# Climate Model
-GET			/climate											controllers.ClimateServiceController.home(email ?= null, vfile ?= null, dataset ?= null)
-GET			/climate/tutorial									controllers.ClimateServiceController.tutorial()
-GET			/climate/climateServices							controllers.ClimateServiceController.climateServices()
-GET			/climate/mostRecentlyAddedClimateServices			controllers.ClimateServiceController.mostRecentlyAddedClimateServices()
-GET			/climate/mostRecentlyUsedClimateServices			controllers.ClimateServiceController.mostRecentlyUsedClimateServices()
-GET			/climate/mostPopularClimateServices					controllers.ClimateServiceController.mostPopularClimateServices()
-POST		/climate/new/climateServices    					controllers.ClimateServiceController.newClimateService()
-POST    	/climate/delete/climateServices   					controllers.ClimateServiceController.deleteClimateService()
-POST		/climate/download/climateServices					controllers.ClimateServiceController.downloadClimateService()
-POST		/climate/edit/climateServices						controllers.ClimateServiceController.editClimateService()
-GET			/climate/new/climateServices						controllers.ClimateServiceController.addClimateServices()
-GET			/serviceLog/conf									controllers.ClimateServiceController.getConfigurationByConfId()
-POST    	/climate/delete/serviceLog   						controllers.ClimateServiceController.deleteServiceLog()
-GET			/climate/oneService									controllers.ClimateServiceController.oneService(url ?= null)
-
-#Keyword search
-GET 		/climate/datasets									controllers.DatasetController.datasetList()
-GET			/climate/searchDataSet 					 			controllers.DatasetController.searchDataset()
-GET 		/climate/getSearchResult				 			controllers.DatasetController.getSearchResult()
-
-#Map static resources from the /public folder to the /assets URL path
-GET     	/assets/*file               						controllers.Assets.at(path="/public", file)

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/lib/aws-java-sdk-1.7.5.jar
----------------------------------------------------------------------
diff --git a/lib/aws-java-sdk-1.7.5.jar b/lib/aws-java-sdk-1.7.5.jar
deleted file mode 100644
index 6b4f72d..0000000
Binary files a/lib/aws-java-sdk-1.7.5.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/lib/gson-2.2.4.jar
----------------------------------------------------------------------
diff --git a/lib/gson-2.2.4.jar b/lib/gson-2.2.4.jar
deleted file mode 100644
index 9478253..0000000
Binary files a/lib/gson-2.2.4.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/project/.sbtserver
----------------------------------------------------------------------
diff --git a/project/.sbtserver b/project/.sbtserver
deleted file mode 100644
index 955eae5..0000000
--- a/project/.sbtserver
+++ /dev/null
@@ -1,3 +0,0 @@
-#Server Startup at 2015-07-22T01:34+0000
-#Tue Jul 21 18:34:15 PDT 2015
-server.uri=http\://0.0.0.0\:55671

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/project/.sbtserver.lock
----------------------------------------------------------------------
diff --git a/project/.sbtserver.lock b/project/.sbtserver.lock
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/project/activator-sbt-echo-play-shim.sbt
----------------------------------------------------------------------
diff --git a/project/activator-sbt-echo-play-shim.sbt b/project/activator-sbt-echo-play-shim.sbt
deleted file mode 100644
index 1e1f597..0000000
--- a/project/activator-sbt-echo-play-shim.sbt
+++ /dev/null
@@ -1 +0,0 @@
-addSbtPlugin("com.typesafe.sbt" % "sbt-echo-play" % "0.1.1.3")
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/project/activator-sbt-eclipse-shim.sbt
----------------------------------------------------------------------
diff --git a/project/activator-sbt-eclipse-shim.sbt b/project/activator-sbt-eclipse-shim.sbt
deleted file mode 100644
index 8734fe2..0000000
--- a/project/activator-sbt-eclipse-shim.sbt
+++ /dev/null
@@ -1 +0,0 @@
-addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.3.0")
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/project/activator-sbt-idea-shim.sbt
----------------------------------------------------------------------
diff --git a/project/activator-sbt-idea-shim.sbt b/project/activator-sbt-idea-shim.sbt
deleted file mode 100644
index 3023480..0000000
--- a/project/activator-sbt-idea-shim.sbt
+++ /dev/null
@@ -1 +0,0 @@
-addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2")
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/project/build.properties
----------------------------------------------------------------------
diff --git a/project/build.properties b/project/build.properties
deleted file mode 100644
index 0974fce..0000000
--- a/project/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-sbt.version=0.13.0

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/project/plugins.sbt
----------------------------------------------------------------------
diff --git a/project/plugins.sbt b/project/plugins.sbt
deleted file mode 100644
index ce40944..0000000
--- a/project/plugins.sbt
+++ /dev/null
@@ -1,8 +0,0 @@
-// Comment to get more information during initialization
-logLevel := Level.Warn
-
-// The Typesafe repository
-resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
-
-// Use the Play sbt plugin for Play projects
-addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.0")
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/project/sbt-ui.sbt
----------------------------------------------------------------------
diff --git a/project/sbt-ui.sbt b/project/sbt-ui.sbt
deleted file mode 100644
index 7c28b97..0000000
--- a/project/sbt-ui.sbt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This plugin represents functionality that is to be added to sbt in the future
-
-addSbtPlugin("org.scala-sbt" % "sbt-core-next" % "0.1.1")
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/fonts/glyphicons-halflings-regular.eot
----------------------------------------------------------------------
diff --git a/public/fonts/glyphicons-halflings-regular.eot b/public/fonts/glyphicons-halflings-regular.eot
deleted file mode 100644
index 4a4ca86..0000000
Binary files a/public/fonts/glyphicons-halflings-regular.eot and /dev/null differ


RE: [43/49] incubator-cmda git commit: remove all

Posted by Jia Zhang <ji...@sv.cmu.edu>.
Dear Chris:

You are correct. It is the initial check-ins with the entire system. >From now on, unless major release, commits will be incremental.

Best regards,
Jia
---
Jia Zhang, Ph.D.
Associate Professor
Department of Electrical and Computer Engineering
Carnegie Mellon University – Silicon Valley
23 S. Akron Rd.
Mountain View, CA 94035
Email: jia.zhang@sv.cmu.edu
Phone: 312-718-2468



-----Original Message-----
From: Mattmann, Chris A (3980) [mailto:chris.a.mattmann@jpl.nasa.gov] 
Sent: Wednesday, September 09, 2015 6:50 AM
To: dev@cmda.incubator.apache.org; jia.zhang@sv.cmu.edu
Cc: james@carmanconsulting.com
Subject: Re: [43/49] incubator-cmda git commit: remove all

Well, the short answer James, is no - we need commit notifications to exist and be sent to the commit list. I think one thing James was expressing is that many of the commits are difficult to review since there are tons of files being checked in and out. I’m assuming that’s b/c it’s the initial check-ins, and that all the commits won’t be this way. Is that correct?

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chris Mattmann, Ph.D.
Chief Architect
Instrument Software and Science Data Systems Section (398) NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 168-519, Mailstop: 168-527
Email: chris.a.mattmann@nasa.gov
WWW:  http://sunset.usc.edu/~mattmann/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adjunct Associate Professor, Computer Science Department University of Southern California, Los Angeles, CA 90089 USA
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++





-----Original Message-----
From: Jia Zhang <ji...@sv.cmu.edu>
Organization: Carnegie Mellon University - Silicon Valley
Reply-To: "dev@cmda.incubator.apache.org" <de...@cmda.incubator.apache.org>, "jia.zhang@sv.cmu.edu" <ji...@sv.cmu.edu>
Date: Tuesday, September 8, 2015 at 9:56 PM
To: "dev@cmda.incubator.apache.org" <de...@cmda.incubator.apache.org>
Cc: "james@carmanconsulting.com" <ja...@carmanconsulting.com>
Subject: RE: [43/49] incubator-cmda git commit: remove all

>Dear James:
>
>Would you please clarify a little?
>
>Thanks a lot.
>
>Best regards,
>Jia
>
>-----Original Message-----
>From: James Carman [mailto:james@carmanconsulting.com]
>Sent: Tuesday, September 08, 2015 3:46 PM
>To: dev@cmda.incubator.apache.org
>Subject: Re: [43/49] incubator-cmda git commit: remove all
>
>Can we turn these notifications off?
>
>On Tue, Sep 8, 2015 at 6:44 PM <xi...@apache.org> wrote:
>
>>
>> http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/a
>> p p/controllers/ClimateServiceController.java
>> ---------------------------------------------------------------------
>> - diff --git a/app/controllers/ClimateServiceController.java
>> b/app/controllers/ClimateServiceController.java
>> deleted file mode 100644
>> index 2c6aa1c..0000000
>> --- a/app/controllers/ClimateServiceController.java
>> +++ /dev/null
>> @@ -1,931 +0,0 @@
>> -/*
>> - * Licensed to the Apache Software Foundation (ASF) under one or 
>>more
>> - * contributor license agreements.  See the NOTICE file distributed  
>>with
>> - * this work for additional information regarding copyright ownership.
>> - * The ASF licenses this file to You under the Apache License,  
>>Version 2.0
>> - * (the "License"); you may not use this file except in compliance  
>>with
>> - * the License.  You may obtain a copy of the License at
>> - *
>> - *    http://www.apache.org/licenses/LICENSE-2.0
>> - *
>> - * Unless required by applicable law or agreed to in writing,  
>>software
>> - * distributed under the License is distributed on an "AS IS" BASIS,
>> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or  
>>implied.
>> - * See the License for the specific language governing permissions  
>>and
>> - * limitations under the License.
>> - */
>> -
>> -package controllers;
>> -
>> -import com.fasterxml.jackson.databind.JsonNode;
>> -import com.fasterxml.jackson.databind.node.ObjectNode;
>> -import models.metadata.ClimateService; -import  
>>models.metadata.DiffPlotTwoTimeAveragedVar;
>> -import models.metadata.RegridAndDownload;
>> -import models.metadata.TwoDVarZonalMean; -import  
>>models.metadata.TwoDVarMap; -import models.metadata.TwoDVarTimeSeries;
>> -import models.metadata.ThreeDVarZonalMean;
>> -import models.metadata.ThreeDVar2DSlice; -import  
>>models.metadata.ThreeDVarAvgVertical4Profile;
>> -import models.metadata.ScatterHistogramTwoVar;
>> -import models.metadata.ConditionalSampling;
>> -import models.metadata.ServiceLog;
>> -import models.metadata.CorrelationMap; -import  
>>models.metadata.ConditionalSampling2Var;
>> -import play.Logger;
>> -import play.data.Form;
>> -import play.libs.Json;
>> -import play.mvc.Controller;
>> -import play.mvc.Result;
>> -import scala.Console;
>> -import util.APICall;
>> -import util.APICall.ResponseType;
>> -import util.Constants;
>> -import views.html.climate.*;
>> -import play.data.DynamicForm;
>> -import java.io.File;
>> -import java.io.IOException;
>> -import java.io.UnsupportedEncodingException;
>> -import java.text.DateFormat;
>> -import java.text.SimpleDateFormat;
>> -import java.util.Date;
>> -import java.util.List;
>> -import com.fasterxml.jackson.databind.ObjectMapper;
>> -
>> -public class ClimateServiceController extends Controller {
>> -
>> -       final static Form<ClimateService> climateServiceForm = Form
>> -                       .form(ClimateService.class);
>> -
>> -       public static Result home(String email, String vfile, String
>> dataset) {
>> -               return ok(home.render(email, vfile, dataset));
>> -       }
>> -
>> -       public static Result addClimateServices() {
>> -               return
>>ok(addClimateServices.render(climateServiceForm));
>> -       }
>> -
>> -       public static Result tutorial() {
>> -               return ok(tutorial.render());
>> -       }
>> -
>> -       public static Result climateServices() {
>> -               return ok(climateServices.render(ClimateService.all(),
>> -                               climateServiceForm));
>> -       }
>> -
>> -       public static Result mostRecentlyAddedClimateServices() {
>> -               return
>> 
>>ok(mostRecentlyAddedServices.render(ClimateService.getMostRecentlyAdde
>>d()
>>,
>> -                               climateServiceForm));
>> -       }
>> -
>> -       public static Result mostRecentlyUsedClimateServices() {
>> -               return
>> ok(mostRecentlyUsedServices.render(ClimateService.getMostRecentlyUsed(),
>> -                               climateServiceForm));
>> -       }
>> -
>> -       public static Result mostPopularClimateServices() {
>> -               return
>> ok(mostPopularServices.render(ClimateService.getMostPopular(),
>> -                               climateServiceForm));
>> -       }
>> -
>> -       public static Result newClimateService() {
>> -               Form<ClimateService> dc =
>> climateServiceForm.bindFromRequest();
>> -               ObjectNode jsonData = Json.newObject();
>> -               try {
>> -
>> -                       String originalClimateServiceName =
>> dc.field("Name").value();
>> -                       String newClimateServiceName =
>> originalClimateServiceName.replace(' ', '-');
>> -
>> -                       if (newClimateServiceName != null &&
>> !newClimateServiceName.isEmpty()) {
>> -                               jsonData.put("name",
>> newClimateServiceName);
>> -                       }
>> -
>> -                       jsonData.put("creatorId", 1);
>> -                       jsonData.put("purpose",
>> dc.field("Purpose").value());
>> -                       jsonData.put("url", dc.field("Url").value());
>> -                       DateFormat dateFormat = new
>> SimpleDateFormat("yyyy/MM/dd HH:mm");
>> -                       Date date = new Date();
>> -                       jsonData.put("createTime",
>> dateFormat.format(date));
>> -                       jsonData.put("scenario",
>> dc.field("Scenario").value());
>> -                       jsonData.put("versionNo",
>> dc.field("Version").value());
>> -                       jsonData.put("rootServiceId",
>> dc.field("Root_Service").value());
>> -                       JsonNode response =
>> ClimateService.create(jsonData);
>> -                       Application.flashMsg(response);
>> -               } catch (IllegalStateException e) {
>> -                       e.printStackTrace();
>> -                       Application.flashMsg(APICall
>> -
>>  .createResponse(ResponseType.CONVERSIONERROR));
>> -               } catch (Exception e) {
>> -                       e.printStackTrace();
>> -
>>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
>> -               }
>> -               return redirect("/climate/climateServices");
>> -       }
>> -
>> -       public static Result editClimateService() {
>> -
>> -               ObjectNode jsonData = Json.newObject();
>> -               try {
>> -                       DynamicForm df =
>> DynamicForm.form().bindFromRequest();
>> -                       String climateServiceName =
>>df.field("pk").value();
>> -
>> -                       if (climateServiceName != null &&
>> !climateServiceName.isEmpty()) {
>> -                               jsonData.put("name",
>>climateServiceName);
>> -                       }
>> -                       ClimateService originalService =
>> ClimateService.findServiceByName(climateServiceName);
>> -
>> -                       if (originalService == null) {
>> -
>>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
>> -                               return notFound("not found original
>> climateService " + climateServiceName);
>> -                       }
>> -
>> -                       jsonData.put("creatorId", 1);
>> -                       jsonData.put("purpose",
>> originalService.getPurpose());
>> -                       jsonData.put("url", originalService.getUrl());
>> -                       jsonData.put("scenario",
>> originalService.getScenario());
>> -                       jsonData.put("versionNo",
>> originalService.getVersion());
>> -
>> -                       if (originalService.getRootservice() != null)
>> -
>> -                               jsonData.put("rootServiceId",
>> originalService.getRootservice());
>> -                       String editField = df.field("name").value();
>> -
>> -                       if (editField != null && !editField.isEmpty()) {
>> -                               jsonData.put(editField,
>> df.field("value").value());
>> -                       }
>> -
>> -                       if (editField == null || editField.isEmpty()) {
>> -
>>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
>> -                               return notFound("not found edit field");
>> -                       }
>> -
>> -                       JsonNode response =
>> ClimateService.edit(climateServiceName, jsonData);
>> -                       Application.flashMsg(response);
>> -
>> -               } catch (IllegalStateException e) {
>> -                       e.printStackTrace();
>> -                       Application.flashMsg(APICall
>> -
>>  .createResponse(ResponseType.CONVERSIONERROR));
>> -               } catch (Exception e) {
>> -                       e.printStackTrace();
>> -
>>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
>> -               }
>> -               return ok("updated");
>> -
>> -       }
>> -
>> -       public static Result getConfigurationByConfId() {
>> -               String output = "";
>> -               TwoDVarMap twoDVarMap = new TwoDVarMap();
>> -               TwoDVarZonalMean twoDVarZonalMean = new
>>TwoDVarZonalMean();
>> -               ScatterHistogramTwoVar scatterHistogram = new
>> ScatterHistogramTwoVar();
>> -               ThreeDVarAvgVertical4Profile threeDVarAvgVertical = new
>> ThreeDVarAvgVertical4Profile();
>> -               DiffPlotTwoTimeAveragedVar diffPlotTwoTimeAvg = new
>> DiffPlotTwoTimeAveragedVar();
>> -               ThreeDVar2DSlice threeDVar2DSlice = new
>>ThreeDVar2DSlice();
>> -               TwoDVarTimeSeries twoDVarTimeSeries = new
>> TwoDVarTimeSeries();
>> -               ThreeDVarZonalMean threeDVarZonalMean = new
>> ThreeDVarZonalMean();
>> -               ConditionalSampling conditionalSampling = new
>> ConditionalSampling();
>> -               RegridAndDownload regridAndDownload = new
>> RegridAndDownload();
>> -               CorrelationMap correlationMap = new CorrelationMap();
>> -               ConditionalSampling2Var conditionalSampling2Var = new
>> ConditionalSampling2Var();
>> -
>> -               try {
>> -                       DynamicForm df =
>> DynamicForm.form().bindFromRequest();
>> -                       String logId = df.field("logId").value();
>> -
>> -                       if (logId == null || logId.isEmpty()) {
>> -
>>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
>> -                               return notFound("confId is null or
>>empty");
>> -                       }
>> -
>> -                       JsonNode response =
>> APICall.callAPI(Constants.NEW_BACKEND +  
>>Constants.SERVICE_EXECUTION_LOG + Constants.SERVICE_EXECUTION_LOG_GET 
>>+ logId);
>> -                       int configurationId =
>> response.path("serviceConfiguration").path("id").asInt();
>> -                       JsonNode responseConfigItems =
>> APICall.callAPI(Constants.NEW_BACKEND + Constants.CONFIG_ITEM +  
>>Constants.GET_CONFIG_ITEMS_BY_CONFIG + configurationId);
>> -                       String serviceName =
>> response.path("climateService").path("name").asText();
>> -                       //TODO:
>> -                       if
>>(serviceName.equals("2-D-Variable-Zonal-Mean"))
>> {
>> -                               //TODO: DO NOT USE
>> node.findPath(key)!!!!!  use find(key) instead to get your immediate  
>>children if you know the json structure (and we do).
>> -                               //TODO: (con't) findPath returns the
>>first
>> occurence of a key string, including GRANDCHILDREN
>> -                               for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                       String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                       String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -
>> -                                       if (parameterName.equals("data
>> source")) {
>> -
>>  twoDVarZonalMean.setDataSource(parameterValue);
>> -                                       } else if
>> (parameterName.equals("variable name")) {
>> -
>>  twoDVarZonalMean.setVariableName(parameterValue);
>> -                                       } else if
>> (parameterName.equals("start year-month")) {
>> -
>>  twoDVarZonalMean.setStartYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("end year-month")) {
>> -
>>  twoDVarZonalMean.setEndYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("select months")) {
>> -                                               String[] months =
>> parameterValue.split(",");
>> -                                               for (int j = 0; j <
>> months.length; j++) {
>> -                                                       if
>> (months[j].equals("1")) {
>> -
>>  twoDVarZonalMean.addMonth("jan");
>> -                                                       } else if
>> (months[j].equals("2")) {
>> -
>>  twoDVarZonalMean.addMonth("feb");
>> -                                                       } else if
>> (months[j].equals("3")) {
>> -
>>  twoDVarZonalMean.addMonth("mar");
>> -                                                       } else if
>> (months[j].equals("4")) {
>> -
>>  twoDVarZonalMean.addMonth("apr");
>> -                                                       } else if
>> (months[j].equals("5")) {
>> -
>>  twoDVarZonalMean.addMonth("may");
>> -                                                       } else if
>> (months[j].equals("6")) {
>> -
>>  twoDVarZonalMean.addMonth("jun");
>> -                                                       } else if
>> (months[j].equals("7")) {
>> -
>>  twoDVarZonalMean.addMonth("jul");
>> -                                                       } else if
>> (months[j].equals("8")) {
>> -
>>  twoDVarZonalMean.addMonth("aug");
>> -                                                       } else if
>> (months[j].equals("9")) {
>> -
>>  twoDVarZonalMean.addMonth("sep");
>> -                                                       } else if
>> (months[j].equals("10")) {
>> -
>>  twoDVarZonalMean.addMonth("oct");
>> -                                                       } else if
>> (months[j].equals("11")) {
>> -
>>  twoDVarZonalMean.addMonth("nov");
>> -                                                       } else if
>> (months[j].equals("12")) {
>> -
>>  twoDVarZonalMean.addMonth("dec");
>> -                                                       }
>> -                                               }
>> -
>>  twoDVarZonalMean.changeSelectMonths();
>> -                                       } else if
>> (parameterName.equals("start lat (deg)")) {
>> -
>>  twoDVarZonalMean.setStartLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("end lat (deg)")) {
>> -
>>  twoDVarZonalMean.setEndLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("variable scale")) {
>> -
>>  twoDVarZonalMean.setVariableScale(parameterValue);
>> -                                       }
>> -                               }
>> -
>>  
>> 
>>twoDVarZonalMean.setExecutionPurpose(response.path("purpose").textValu
>> e());
>> -
>>  twoDVarZonalMean.setImage(response.path("plotUrl").textValue());
>> -
>>  twoDVarZonalMean.setDataURL(response.path("dataUrl").textValue());
>> -                               return
>> ok(views.html.climate.twoDVariableZonelMean.render(twoDVarZonalMean));
>> -                       }
>> -                       else if
>>(serviceName.equals("2-D-Variable-Map")) {
>> -                               for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                       String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                       String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -                                       if
>>(parameterName.equals("model"))
>> {
>> -
>>  twoDVarMap.setDataSource(parameterValue);
>> -                                       } else if
>> (parameterName.equals("var")) {
>> -
>>  twoDVarMap.setVariableName(parameterValue);
>> -                                       } else if
>> (parameterName.equals("startT")) {
>> -
>>  twoDVarMap.setStartYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("endT")) {
>> -
>>  twoDVarMap.setEndYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("months")) {
>> -                                               String[] months =
>> parameterValue.split(",");
>> -                                               for (int j = 0; j <
>> months.length; j++) {
>> -                                                       if
>> (months[j].equals("1")) {
>> -
>>  twoDVarMap.addMonth("jan");
>> -                                                       } else if
>> (months[j].equals("2")) {
>> -
>>  twoDVarMap.addMonth("feb");
>> -                                                       } else if
>> (months[j].equals("3")) {
>> -
>>  twoDVarMap.addMonth("mar");
>> -                                                       } else if
>> (months[j].equals("4")) {
>> -
>>  twoDVarMap.addMonth("apr");
>> -                                                       } else if
>> (months[j].equals("5")) {
>> -
>>  twoDVarMap.addMonth("may");
>> -                                                       } else if
>> (months[j].equals("6")) {
>> -
>>  twoDVarMap.addMonth("jun");
>> -                                                       } else if
>> (months[j].equals("7")) {
>> -
>>  twoDVarMap.addMonth("jul");
>> -                                                       } else if
>> (months[j].equals("8")) {
>> -
>>  twoDVarMap.addMonth("aug");
>> -                                                       } else if
>> (months[j].equals("9")) {
>> -
>>  twoDVarMap.addMonth("sep");
>> -                                                       } else if
>> (months[j].equals("10")) {
>> -
>>  twoDVarMap.addMonth("oct");
>> -                                                       } else if
>> (months[j].equals("11")) {
>> -
>>  twoDVarMap.addMonth("nov");
>> -                                                       } else if
>> (months[j].equals("12")) {
>> -
>>  twoDVarMap.addMonth("dec");
>> -                                                       }
>> -                                               }
>> -
>>  twoDVarMap.changeSelectMonths();
>> -                                       } else if
>> (parameterName.equals("lat1")) {
>> -
>>  twoDVarMap.setStartLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat2")) {
>> -
>>  twoDVarMap.setEndLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon1")) {
>> -
>>  twoDVarMap.setStartLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon2")) {
>> -
>>  twoDVarMap.setEndLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("scale")) {
>> -
>>  twoDVarMap.setVariableScale(parameterValue);
>> -                                               }
>> -                               }
>> -
>>  
>>twoDVarMap.setExecutionPurpose(response.path("purpose").textValue());
>> -
>>  twoDVarMap.setImage(response.path("plotUrl").textValue());
>> -
>>  twoDVarMap.setDataURL(response.path("dataUrl").textValue());
>> -                               return
>> ok(views.html.climate.twoDVariableMap.render(twoDVarMap));
>> -                       }
>> -                       else if
>> (serviceName.equals("Conditional-Sampling-with-One-Variable")){
>> -                               for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                       String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                       String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -                                       if
>> (parameterName.equals("model2")) {
>> -
>>  conditionalSampling.setDataSourceE(parameterValue);
>> -                                       } else if
>> (parameterName.equals("model1")) {
>> -
>>  conditionalSampling.setDataSourceP(parameterValue);
>> -                                       } else if
>> (parameterName.equals("var2")) {
>> -
>>  conditionalSampling.setVariableNameE(parameterValue);
>> -                                       } else if
>> (parameterName.equals("var1")) {
>> -
>>  conditionalSampling.setVariableNameP(parameterValue);
>> -                                       } else if
>> (parameterName.equals("pre1")) {
>> -
>>  conditionalSampling.setPressureRangeP(parameterValue);
>> -                                       } else if
>> (parameterName.equals("pre2")) {
>> -
>>  conditionalSampling.setPressureRangeE(parameterValue);
>> -                                       } else if
>> (parameterName.equals("startT")) {
>> -
>>  conditionalSampling.setStartYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("endT")) {
>> -
>>  conditionalSampling.setEndYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon1")) {
>> -
>>  conditionalSampling.setStartLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon2")) {
>> -
>>  conditionalSampling.setEndLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat1")) {
>> -
>>  conditionalSampling.setStartLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat2")) {
>> -
>>  conditionalSampling.setEndLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("months")) {
>> -                                               String[] months =
>> parameterValue.split(",");
>> -                                               for (int j = 0; j <
>> months.length; j++) {
>> -                                                       if
>> (months[j].equals("1")) {
>> -
>>  conditionalSampling.addMonth("jan");
>> -                                                       } else if
>> (months[j].equals("2")) {
>> -
>>  conditionalSampling.addMonth("feb");
>> -                                                       } else if
>> (months[j].equals("3")) {
>> -
>>  conditionalSampling.addMonth("mar");
>> -                                                       } else if
>> (months[j].equals("4")) {
>> -
>>  conditionalSampling.addMonth("apr");
>> -                                                       } else if
>> (months[j].equals("5")) {
>> -
>>  conditionalSampling.addMonth("may");
>> -                                                       } else if
>> (months[j].equals("6")) {
>> -
>>  conditionalSampling.addMonth("jun");
>> -                                                       } else if
>> (months[j].equals("7")) {
>> -
>>  conditionalSampling.addMonth("jul");
>> -                                                       } else if
>> (months[j].equals("8")) {
>> -
>>  conditionalSampling.addMonth("aug");
>> -                                                       } else if
>> (months[j].equals("9")) {
>> -
>>  conditionalSampling.addMonth("sep");
>> -                                                       } else if
>> (months[j].equals("10")) {
>> -
>>  conditionalSampling.addMonth("oct");
>> -                                                       } else if
>> (months[j].equals("11")) {
>> -
>>  conditionalSampling.addMonth("nov");
>> -                                                       } else if
>> (months[j].equals("12")) {
>> -
>>  conditionalSampling.addMonth("dec");
>> -                                                       }
>> -
>> -                                               }
>> -
>>  conditionalSampling.changeSelectMonths();
>> -                                       } else if
>> (parameterName.equals("bin_min")) {
>> -
>>  conditionalSampling.setBin_min(parameterValue);
>> -                                       } else if
>> (parameterName.equals("bin_max")) {
>> -
>>  conditionalSampling.setBin_max(parameterValue);
>> -                                       } else if
>> (parameterName.equals("bin_n")) {
>> -
>>  conditionalSampling.setBin_n(parameterValue);
>> -                                       } else if
>> (parameterName.equals("displayOpt")) {
>> -                                               int
>> paramBit=Integer.parseInt(parameterValue);
>> -                                               int bitmaskX = 0x1;
>> -                                               int bitmaskY = 0x2;
>> -                                               int bitmaskZ = 0x4;
>> -
>>  conditionalSampling.setX(Integer.toString(paramBit & bitmaskX, 2));
>> -
>>  conditionalSampling.setY(Integer.toString((paramBit & bitmaskY)>>1,  
>>2));
>> -
>>  conditionalSampling.setZ(Integer.toString((paramBit & bitmaskZ)>>2, 
>>2));
>> -                                       }
>> -                               }
>> -
>>  
>> conditionalSampling.setExecutionPurpose(response.path("purpose").text
>> V
>> alue());
>> -
>>  conditionalSampling.setImage(response.path("plotUrl").textValue());
>> -
>>  conditionalSampling.setDataURL(response.path("dataUrl").textValue());
>> -                               return
>> ok(views.html.climate.conditionalSampling.render(conditionalSampling));
>> -                       }else if
>> (serviceName.equals("2-D-Variable-Time-Series")){
>> -                               for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                       String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                       String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -                                       if
>>(parameterName.equals("model"))
>> {
>> -
>>  twoDVarTimeSeries.setDataSource(parameterValue);
>> -                                       } else if
>> (parameterName.equals("var")) {
>> -
>>  twoDVarTimeSeries.setVariableName(parameterValue);
>> -                                       } else if
>> (parameterName.equals("startT")) {
>> -
>>  twoDVarTimeSeries.setStartYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("endT")) {
>> -
>>  twoDVarTimeSeries.setEndYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat1")) {
>> -
>>  twoDVarTimeSeries.setStartLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat2")) {
>> -
>>  twoDVarTimeSeries.setEndLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon1")) {
>> -
>>  twoDVarTimeSeries.setStartLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon2")) {
>> -
>>  twoDVarTimeSeries.setEndLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("scale")) {
>> -
>>  twoDVarTimeSeries.setVariableScale(parameterValue);
>> -                                       }
>> -                               }
>> -
>>  
>> twoDVarTimeSeries.setExecutionPurpose(response.path("purpose").textVa
>> l
>> ue());
>> -
>>  twoDVarTimeSeries.setImage(response.path("plotUrl").textValue());
>> -
>>  twoDVarTimeSeries.setDataURL(response.path("dataUrl").textValue());
>> -                               return
>> ok(views.html.climate.twoDVariableTimeSeries.render(twoDVarTimeSeries));
>> -                       }else if
>> (serviceName.equals("Regrid-and-Download")){
>> -                               for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                       String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                       String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -                                       if
>>(parameterName.equals("model"))
>> {
>> -
>>  regridAndDownload.setDataSource(parameterValue);
>> -                                       } else if
>> (parameterName.equals("var")) {
>> -
>>  regridAndDownload.setVariableName(parameterValue);
>> -                                       } else if
>> (parameterName.equals("startT")) {
>> -
>>  regridAndDownload.setStartYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("endT")) {
>> -
>>  regridAndDownload.setEndYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat1")) {
>> -
>>  regridAndDownload.setStartLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat2")) {
>> -
>>  regridAndDownload.setEndLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("dlat")) {
>> -
>>  regridAndDownload.setDeltaLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("dlon")) {
>> -
>>  regridAndDownload.setDeltaLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon1")) {
>> -
>>  regridAndDownload.setStartLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon2")) {
>> -
>>  regridAndDownload.setEndLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("plev")) {
>> -
>>  regridAndDownload.setPressureLevel(parameterValue);
>> -                                       }
>> -                               }
>> -
>>  
>> regridAndDownload.setExecutionPurpose(response.path("purpose").textVa
>> l
>> ue());
>> -
>> -
>>  regridAndDownload.setDataURL(response.path("dataUrl").textValue());
>> -                               return
>> ok(views.html.climate.regridAndDownload.render(regridAndDownload));
>> -                       }else if
>> (serviceName.equals("3-D-Variable-Zonal-Mean")){
>> -                               String press1 = "";
>> -                               String press2 = "";
>> -                               for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                       String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                       String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -                                       if 
>>(parameterName.equals("model"))
>> {
>> -
>>  threeDVarZonalMean.setDataSource(parameterValue);
>> -                                       } else if
>> (parameterName.equals("var")) {
>> -
>>  threeDVarZonalMean.setVariableName(parameterValue);
>> -                                       } else if
>> (parameterName.equals("startT")) {
>> -
>>  threeDVarZonalMean.setStartYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("endT")) {
>> -
>>  threeDVarZonalMean.setEndYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat1")) {
>> -
>>  threeDVarZonalMean.setStartLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat2")) {
>> -
>>  threeDVarZonalMean.setEndLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("pres1")) {
>> -                                               press1 = parameterValue;
>> -                                       } else if
>> (parameterName.equals("pres2")) {
>> -                                               press2 = parameterValue;
>> -                                       } else if
>> (parameterName.equals("months")) {
>> -                                               String[] months =
>> parameterValue.split(",");
>> -                                               for (int j = 0; j <
>> months.length; j++) {
>> -                                                       if
>> (months[j].equals("1")) {
>> -
>>  threeDVarZonalMean.addMonth("jan");
>> -                                                       } else if
>> (months[j].equals("2")) {
>> -
>>  threeDVarZonalMean.addMonth("feb");
>> -                                                       } else if
>> (months[j].equals("3")) {
>> -
>>  threeDVarZonalMean.addMonth("mar");
>> -                                                       } else if
>> (months[j].equals("4")) {
>> -
>>  threeDVarZonalMean.addMonth("apr");
>> -                                                       } else if
>> (months[j].equals("5")) {
>> -
>>  threeDVarZonalMean.addMonth("may");
>> -                                                       } else if
>> (months[j].equals("6")) {
>> -
>>  threeDVarZonalMean.addMonth("jun");
>> -                                                       } else if
>> (months[j].equals("7")) {
>> -
>>  threeDVarZonalMean.addMonth("jul");
>> -                                                       } else if
>> (months[j].equals("8")) {
>> -
>>  threeDVarZonalMean.addMonth("aug");
>> -                                                       } else if
>> (months[j].equals("9")) {
>> -
>>  threeDVarZonalMean.addMonth("sep");
>> -                                                       } else if
>> (months[j].equals("10")) {
>> -
>>  threeDVarZonalMean.addMonth("oct");
>> -                                                       } else if
>> (months[j].equals("11")) {
>> -
>>  threeDVarZonalMean.addMonth("nov");
>> -                                                       } else if
>> (months[j].equals("12")) {
>> -
>>  threeDVarZonalMean.addMonth("dec");
>> -                                                       }
>> -                                               }
>> -                                       } else if
>> (parameterName.equals("scale")) {
>> -                                               if
>> (parameterValue.equals("2")) {
>> -
>>  threeDVarZonalMean.setPressureScale("2");
>> -
>>  threeDVarZonalMean.setColorScale("0");
>> -                                               } else if
>> (parameterValue.equals("0")) {
>> -
>>  threeDVarZonalMean.setPressureScale("0");
>> -
>>  threeDVarZonalMean.setColorScale("0");
>> -                                               } else if
>> (parameterValue.equals("4")) {
>> -
>>  threeDVarZonalMean.setPressureScale("0");
>> -
>>  threeDVarZonalMean.setColorScale("4");
>> -                                               } else if
>> (parameterValue.equals("6")) {
>> -
>>  threeDVarZonalMean.setPressureScale("2");
>> -
>>  threeDVarZonalMean.setColorScale("4");
>> -                                               }
>> -                                       }
>> -                               }
>> -                               if (!press1.isEmpty() & 
>>!press2.isEmpty())
>> -
>>  threeDVarZonalMean.setPressureRange("" + (Integer.parseInt(press1) /
>> 100)
>> + "," + (Integer.parseInt(press2) / 100));
>> -
>>  
>> threeDVarZonalMean.setExecutionPurpose(response.path("purpose").textV
>> a
>> lue());
>> -
>>  threeDVarZonalMean.setImage(response.path("plotUrl").textValue());
>> -
>>  threeDVarZonalMean.setDataURL(response.path("dataUrl").textValue());
>> -                               return
>> 
>>ok(views.html.climate.threeDVariableZonalMean.render(threeDVarZonalMea
>>n))
>>;
>> -                       }else if
>> (serviceName.equals("Scatter-and-Histogram-Plot-of-Two-Variables")){
>>             //"19")){
>> -
>>  scatterHistogram.setPressureLevel1("N/A");
>> -
>>  scatterHistogram.setPressureLevel2("N/A");
>> -                                       for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                               String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                               String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -                                               if
>> (parameterName.equals("model1")) {
>> -
>>  scatterHistogram.setSource1(parameterValue);
>> -
>> -                                               } else if
>> (parameterName.equals("model2")) {
>> -
>>  scatterHistogram.setSource2(parameterValue);
>> -
>> -                                               } else if
>> (parameterName.equals("var1")) {
>> -
>>  scatterHistogram.setVaribaleName1(parameterValue);
>> -
>> -                                               } else if
>> (parameterName.equals("var2")) {
>> -
>>  scatterHistogram.setVaribaleName2(parameterValue);
>> -                                               } else if
>> (parameterName.equals("startT")) {
>> -
>>  scatterHistogram.setStartYear(parameterValue);
>> -                                               } else if
>> (parameterName.equals("endT")) {
>> -
>>  scatterHistogram.setEndYear(parameterValue);
>> -                                               } else if
>> (parameterName.equals("lon1")) {
>> -
>>  scatterHistogram.setStartLon(parameterValue);
>> -                                               } else if
>> (parameterName.equals("lon2")) {
>> -
>>  scatterHistogram.setEndLon(parameterValue);
>> -                                               } else if
>> (parameterName.equals("lat1")) {
>> -
>>  scatterHistogram.setStartLat(parameterValue);
>> -                                               } else if
>> (parameterName.equals("lat2")) {
>> -
>>  scatterHistogram.setEndLat(parameterValue);
>> -                                               } else if
>> (parameterName.equals("nSample")) {
>> -
>>  scatterHistogram.setSamples(parameterValue);
>> -                                               }
>> -                                       }
>> -
>>  
>> scatterHistogram.setExecutionPurpose(response.path("purpose").textVal
>> u
>> e());
>> -
>>  scatterHistogram.setImage(response.path("plotUrl").textValue());
>> -
>>  scatterHistogram.setDataUrl(response.path("dataUrl").textValue());
>> -                                       return
>> 
>>ok(views.html.climate.scatterAndHistogramTwoVariable.render(scatterHis
>>tog
>>ram));
>> -                       }else if
>> (serviceName.equals("Difference-Plot-of-Two-Time-Averaged-Variables")){
>>         //"20")){
>> -
>>  diffPlotTwoTimeAvg.setPressureLevel1("N/A");
>> -
>>  Console.println(diffPlotTwoTimeAvg.getPressureLevel1());
>> -
>>  diffPlotTwoTimeAvg.setPressureLevel2("N/A");
>> -                                       for (int i = 0; i < response
>
>




Re: [43/49] incubator-cmda git commit: remove all

Posted by "Mattmann, Chris A (3980)" <ch...@jpl.nasa.gov>.
Well, the short answer James, is no - we need commit notifications
to exist and be sent to the commit list. I think one thing James
was expressing is that many of the commits are difficult to review
since there are tons of files being checked in and out. I’m assuming
that’s b/c it’s the initial check-ins, and that all the commits won’t
be this way. Is that correct?

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chris Mattmann, Ph.D.
Chief Architect
Instrument Software and Science Data Systems Section (398)
NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 168-519, Mailstop: 168-527
Email: chris.a.mattmann@nasa.gov
WWW:  http://sunset.usc.edu/~mattmann/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adjunct Associate Professor, Computer Science Department
University of Southern California, Los Angeles, CA 90089 USA
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++





-----Original Message-----
From: Jia Zhang <ji...@sv.cmu.edu>
Organization: Carnegie Mellon University - Silicon Valley
Reply-To: "dev@cmda.incubator.apache.org" <de...@cmda.incubator.apache.org>,
"jia.zhang@sv.cmu.edu" <ji...@sv.cmu.edu>
Date: Tuesday, September 8, 2015 at 9:56 PM
To: "dev@cmda.incubator.apache.org" <de...@cmda.incubator.apache.org>
Cc: "james@carmanconsulting.com" <ja...@carmanconsulting.com>
Subject: RE: [43/49] incubator-cmda git commit: remove all

>Dear James:
>
>Would you please clarify a little?
>
>Thanks a lot.
>
>Best regards,
>Jia
>
>-----Original Message-----
>From: James Carman [mailto:james@carmanconsulting.com]
>Sent: Tuesday, September 08, 2015 3:46 PM
>To: dev@cmda.incubator.apache.org
>Subject: Re: [43/49] incubator-cmda git commit: remove all
>
>Can we turn these notifications off?
>
>On Tue, Sep 8, 2015 at 6:44 PM <xi...@apache.org> wrote:
>
>>
>> http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/ap
>> p/controllers/ClimateServiceController.java
>> ----------------------------------------------------------------------
>> diff --git a/app/controllers/ClimateServiceController.java
>> b/app/controllers/ClimateServiceController.java
>> deleted file mode 100644
>> index 2c6aa1c..0000000
>> --- a/app/controllers/ClimateServiceController.java
>> +++ /dev/null
>> @@ -1,931 +0,0 @@
>> -/*
>> - * Licensed to the Apache Software Foundation (ASF) under one or more
>> - * contributor license agreements.  See the NOTICE file distributed
>> with
>> - * this work for additional information regarding copyright ownership.
>> - * The ASF licenses this file to You under the Apache License,
>> Version 2.0
>> - * (the "License"); you may not use this file except in compliance
>> with
>> - * the License.  You may obtain a copy of the License at
>> - *
>> - *    http://www.apache.org/licenses/LICENSE-2.0
>> - *
>> - * Unless required by applicable law or agreed to in writing,
>> software
>> - * distributed under the License is distributed on an "AS IS" BASIS,
>> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>> - * See the License for the specific language governing permissions
>> and
>> - * limitations under the License.
>> - */
>> -
>> -package controllers;
>> -
>> -import com.fasterxml.jackson.databind.JsonNode;
>> -import com.fasterxml.jackson.databind.node.ObjectNode;
>> -import models.metadata.ClimateService; -import
>> models.metadata.DiffPlotTwoTimeAveragedVar;
>> -import models.metadata.RegridAndDownload;
>> -import models.metadata.TwoDVarZonalMean; -import
>> models.metadata.TwoDVarMap; -import models.metadata.TwoDVarTimeSeries;
>> -import models.metadata.ThreeDVarZonalMean;
>> -import models.metadata.ThreeDVar2DSlice; -import
>> models.metadata.ThreeDVarAvgVertical4Profile;
>> -import models.metadata.ScatterHistogramTwoVar;
>> -import models.metadata.ConditionalSampling;
>> -import models.metadata.ServiceLog;
>> -import models.metadata.CorrelationMap; -import
>> models.metadata.ConditionalSampling2Var;
>> -import play.Logger;
>> -import play.data.Form;
>> -import play.libs.Json;
>> -import play.mvc.Controller;
>> -import play.mvc.Result;
>> -import scala.Console;
>> -import util.APICall;
>> -import util.APICall.ResponseType;
>> -import util.Constants;
>> -import views.html.climate.*;
>> -import play.data.DynamicForm;
>> -import java.io.File;
>> -import java.io.IOException;
>> -import java.io.UnsupportedEncodingException;
>> -import java.text.DateFormat;
>> -import java.text.SimpleDateFormat;
>> -import java.util.Date;
>> -import java.util.List;
>> -import com.fasterxml.jackson.databind.ObjectMapper;
>> -
>> -public class ClimateServiceController extends Controller {
>> -
>> -       final static Form<ClimateService> climateServiceForm = Form
>> -                       .form(ClimateService.class);
>> -
>> -       public static Result home(String email, String vfile, String
>> dataset) {
>> -               return ok(home.render(email, vfile, dataset));
>> -       }
>> -
>> -       public static Result addClimateServices() {
>> -               return
>>ok(addClimateServices.render(climateServiceForm));
>> -       }
>> -
>> -       public static Result tutorial() {
>> -               return ok(tutorial.render());
>> -       }
>> -
>> -       public static Result climateServices() {
>> -               return ok(climateServices.render(ClimateService.all(),
>> -                               climateServiceForm));
>> -       }
>> -
>> -       public static Result mostRecentlyAddedClimateServices() {
>> -               return
>> 
>>ok(mostRecentlyAddedServices.render(ClimateService.getMostRecentlyAdded()
>>,
>> -                               climateServiceForm));
>> -       }
>> -
>> -       public static Result mostRecentlyUsedClimateServices() {
>> -               return
>> ok(mostRecentlyUsedServices.render(ClimateService.getMostRecentlyUsed(),
>> -                               climateServiceForm));
>> -       }
>> -
>> -       public static Result mostPopularClimateServices() {
>> -               return
>> ok(mostPopularServices.render(ClimateService.getMostPopular(),
>> -                               climateServiceForm));
>> -       }
>> -
>> -       public static Result newClimateService() {
>> -               Form<ClimateService> dc =
>> climateServiceForm.bindFromRequest();
>> -               ObjectNode jsonData = Json.newObject();
>> -               try {
>> -
>> -                       String originalClimateServiceName =
>> dc.field("Name").value();
>> -                       String newClimateServiceName =
>> originalClimateServiceName.replace(' ', '-');
>> -
>> -                       if (newClimateServiceName != null &&
>> !newClimateServiceName.isEmpty()) {
>> -                               jsonData.put("name",
>> newClimateServiceName);
>> -                       }
>> -
>> -                       jsonData.put("creatorId", 1);
>> -                       jsonData.put("purpose",
>> dc.field("Purpose").value());
>> -                       jsonData.put("url", dc.field("Url").value());
>> -                       DateFormat dateFormat = new
>> SimpleDateFormat("yyyy/MM/dd HH:mm");
>> -                       Date date = new Date();
>> -                       jsonData.put("createTime",
>> dateFormat.format(date));
>> -                       jsonData.put("scenario",
>> dc.field("Scenario").value());
>> -                       jsonData.put("versionNo",
>> dc.field("Version").value());
>> -                       jsonData.put("rootServiceId",
>> dc.field("Root_Service").value());
>> -                       JsonNode response =
>> ClimateService.create(jsonData);
>> -                       Application.flashMsg(response);
>> -               } catch (IllegalStateException e) {
>> -                       e.printStackTrace();
>> -                       Application.flashMsg(APICall
>> -
>>  .createResponse(ResponseType.CONVERSIONERROR));
>> -               } catch (Exception e) {
>> -                       e.printStackTrace();
>> -
>>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
>> -               }
>> -               return redirect("/climate/climateServices");
>> -       }
>> -
>> -       public static Result editClimateService() {
>> -
>> -               ObjectNode jsonData = Json.newObject();
>> -               try {
>> -                       DynamicForm df =
>> DynamicForm.form().bindFromRequest();
>> -                       String climateServiceName =
>>df.field("pk").value();
>> -
>> -                       if (climateServiceName != null &&
>> !climateServiceName.isEmpty()) {
>> -                               jsonData.put("name",
>>climateServiceName);
>> -                       }
>> -                       ClimateService originalService =
>> ClimateService.findServiceByName(climateServiceName);
>> -
>> -                       if (originalService == null) {
>> -
>>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
>> -                               return notFound("not found original
>> climateService " + climateServiceName);
>> -                       }
>> -
>> -                       jsonData.put("creatorId", 1);
>> -                       jsonData.put("purpose",
>> originalService.getPurpose());
>> -                       jsonData.put("url", originalService.getUrl());
>> -                       jsonData.put("scenario",
>> originalService.getScenario());
>> -                       jsonData.put("versionNo",
>> originalService.getVersion());
>> -
>> -                       if (originalService.getRootservice() != null)
>> -
>> -                               jsonData.put("rootServiceId",
>> originalService.getRootservice());
>> -                       String editField = df.field("name").value();
>> -
>> -                       if (editField != null && !editField.isEmpty()) {
>> -                               jsonData.put(editField,
>> df.field("value").value());
>> -                       }
>> -
>> -                       if (editField == null || editField.isEmpty()) {
>> -
>>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
>> -                               return notFound("not found edit field");
>> -                       }
>> -
>> -                       JsonNode response =
>> ClimateService.edit(climateServiceName, jsonData);
>> -                       Application.flashMsg(response);
>> -
>> -               } catch (IllegalStateException e) {
>> -                       e.printStackTrace();
>> -                       Application.flashMsg(APICall
>> -
>>  .createResponse(ResponseType.CONVERSIONERROR));
>> -               } catch (Exception e) {
>> -                       e.printStackTrace();
>> -
>>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
>> -               }
>> -               return ok("updated");
>> -
>> -       }
>> -
>> -       public static Result getConfigurationByConfId() {
>> -               String output = "";
>> -               TwoDVarMap twoDVarMap = new TwoDVarMap();
>> -               TwoDVarZonalMean twoDVarZonalMean = new
>>TwoDVarZonalMean();
>> -               ScatterHistogramTwoVar scatterHistogram = new
>> ScatterHistogramTwoVar();
>> -               ThreeDVarAvgVertical4Profile threeDVarAvgVertical = new
>> ThreeDVarAvgVertical4Profile();
>> -               DiffPlotTwoTimeAveragedVar diffPlotTwoTimeAvg = new
>> DiffPlotTwoTimeAveragedVar();
>> -               ThreeDVar2DSlice threeDVar2DSlice = new
>>ThreeDVar2DSlice();
>> -               TwoDVarTimeSeries twoDVarTimeSeries = new
>> TwoDVarTimeSeries();
>> -               ThreeDVarZonalMean threeDVarZonalMean = new
>> ThreeDVarZonalMean();
>> -               ConditionalSampling conditionalSampling = new
>> ConditionalSampling();
>> -               RegridAndDownload regridAndDownload = new
>> RegridAndDownload();
>> -               CorrelationMap correlationMap = new CorrelationMap();
>> -               ConditionalSampling2Var conditionalSampling2Var = new
>> ConditionalSampling2Var();
>> -
>> -               try {
>> -                       DynamicForm df =
>> DynamicForm.form().bindFromRequest();
>> -                       String logId = df.field("logId").value();
>> -
>> -                       if (logId == null || logId.isEmpty()) {
>> -
>>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
>> -                               return notFound("confId is null or
>>empty");
>> -                       }
>> -
>> -                       JsonNode response =
>> APICall.callAPI(Constants.NEW_BACKEND +
>> Constants.SERVICE_EXECUTION_LOG + Constants.SERVICE_EXECUTION_LOG_GET +
>>logId);
>> -                       int configurationId =
>> response.path("serviceConfiguration").path("id").asInt();
>> -                       JsonNode responseConfigItems =
>> APICall.callAPI(Constants.NEW_BACKEND + Constants.CONFIG_ITEM +
>> Constants.GET_CONFIG_ITEMS_BY_CONFIG + configurationId);
>> -                       String serviceName =
>> response.path("climateService").path("name").asText();
>> -                       //TODO:
>> -                       if
>>(serviceName.equals("2-D-Variable-Zonal-Mean"))
>> {
>> -                               //TODO: DO NOT USE
>> node.findPath(key)!!!!!  use find(key) instead to get your immediate
>> children if you know the json structure (and we do).
>> -                               //TODO: (con't) findPath returns the
>>first
>> occurence of a key string, including GRANDCHILDREN
>> -                               for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                       String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                       String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -
>> -                                       if (parameterName.equals("data
>> source")) {
>> -
>>  twoDVarZonalMean.setDataSource(parameterValue);
>> -                                       } else if
>> (parameterName.equals("variable name")) {
>> -
>>  twoDVarZonalMean.setVariableName(parameterValue);
>> -                                       } else if
>> (parameterName.equals("start year-month")) {
>> -
>>  twoDVarZonalMean.setStartYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("end year-month")) {
>> -
>>  twoDVarZonalMean.setEndYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("select months")) {
>> -                                               String[] months =
>> parameterValue.split(",");
>> -                                               for (int j = 0; j <
>> months.length; j++) {
>> -                                                       if
>> (months[j].equals("1")) {
>> -
>>  twoDVarZonalMean.addMonth("jan");
>> -                                                       } else if
>> (months[j].equals("2")) {
>> -
>>  twoDVarZonalMean.addMonth("feb");
>> -                                                       } else if
>> (months[j].equals("3")) {
>> -
>>  twoDVarZonalMean.addMonth("mar");
>> -                                                       } else if
>> (months[j].equals("4")) {
>> -
>>  twoDVarZonalMean.addMonth("apr");
>> -                                                       } else if
>> (months[j].equals("5")) {
>> -
>>  twoDVarZonalMean.addMonth("may");
>> -                                                       } else if
>> (months[j].equals("6")) {
>> -
>>  twoDVarZonalMean.addMonth("jun");
>> -                                                       } else if
>> (months[j].equals("7")) {
>> -
>>  twoDVarZonalMean.addMonth("jul");
>> -                                                       } else if
>> (months[j].equals("8")) {
>> -
>>  twoDVarZonalMean.addMonth("aug");
>> -                                                       } else if
>> (months[j].equals("9")) {
>> -
>>  twoDVarZonalMean.addMonth("sep");
>> -                                                       } else if
>> (months[j].equals("10")) {
>> -
>>  twoDVarZonalMean.addMonth("oct");
>> -                                                       } else if
>> (months[j].equals("11")) {
>> -
>>  twoDVarZonalMean.addMonth("nov");
>> -                                                       } else if
>> (months[j].equals("12")) {
>> -
>>  twoDVarZonalMean.addMonth("dec");
>> -                                                       }
>> -                                               }
>> -
>>  twoDVarZonalMean.changeSelectMonths();
>> -                                       } else if
>> (parameterName.equals("start lat (deg)")) {
>> -
>>  twoDVarZonalMean.setStartLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("end lat (deg)")) {
>> -
>>  twoDVarZonalMean.setEndLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("variable scale")) {
>> -
>>  twoDVarZonalMean.setVariableScale(parameterValue);
>> -                                       }
>> -                               }
>> -
>>  
>> twoDVarZonalMean.setExecutionPurpose(response.path("purpose").textValu
>> e());
>> -
>>  twoDVarZonalMean.setImage(response.path("plotUrl").textValue());
>> -
>>  twoDVarZonalMean.setDataURL(response.path("dataUrl").textValue());
>> -                               return
>> ok(views.html.climate.twoDVariableZonelMean.render(twoDVarZonalMean));
>> -                       }
>> -                       else if
>>(serviceName.equals("2-D-Variable-Map")) {
>> -                               for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                       String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                       String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -                                       if
>>(parameterName.equals("model"))
>> {
>> -
>>  twoDVarMap.setDataSource(parameterValue);
>> -                                       } else if
>> (parameterName.equals("var")) {
>> -
>>  twoDVarMap.setVariableName(parameterValue);
>> -                                       } else if
>> (parameterName.equals("startT")) {
>> -
>>  twoDVarMap.setStartYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("endT")) {
>> -
>>  twoDVarMap.setEndYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("months")) {
>> -                                               String[] months =
>> parameterValue.split(",");
>> -                                               for (int j = 0; j <
>> months.length; j++) {
>> -                                                       if
>> (months[j].equals("1")) {
>> -
>>  twoDVarMap.addMonth("jan");
>> -                                                       } else if
>> (months[j].equals("2")) {
>> -
>>  twoDVarMap.addMonth("feb");
>> -                                                       } else if
>> (months[j].equals("3")) {
>> -
>>  twoDVarMap.addMonth("mar");
>> -                                                       } else if
>> (months[j].equals("4")) {
>> -
>>  twoDVarMap.addMonth("apr");
>> -                                                       } else if
>> (months[j].equals("5")) {
>> -
>>  twoDVarMap.addMonth("may");
>> -                                                       } else if
>> (months[j].equals("6")) {
>> -
>>  twoDVarMap.addMonth("jun");
>> -                                                       } else if
>> (months[j].equals("7")) {
>> -
>>  twoDVarMap.addMonth("jul");
>> -                                                       } else if
>> (months[j].equals("8")) {
>> -
>>  twoDVarMap.addMonth("aug");
>> -                                                       } else if
>> (months[j].equals("9")) {
>> -
>>  twoDVarMap.addMonth("sep");
>> -                                                       } else if
>> (months[j].equals("10")) {
>> -
>>  twoDVarMap.addMonth("oct");
>> -                                                       } else if
>> (months[j].equals("11")) {
>> -
>>  twoDVarMap.addMonth("nov");
>> -                                                       } else if
>> (months[j].equals("12")) {
>> -
>>  twoDVarMap.addMonth("dec");
>> -                                                       }
>> -                                               }
>> -
>>  twoDVarMap.changeSelectMonths();
>> -                                       } else if
>> (parameterName.equals("lat1")) {
>> -
>>  twoDVarMap.setStartLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat2")) {
>> -
>>  twoDVarMap.setEndLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon1")) {
>> -
>>  twoDVarMap.setStartLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon2")) {
>> -
>>  twoDVarMap.setEndLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("scale")) {
>> -
>>  twoDVarMap.setVariableScale(parameterValue);
>> -                                               }
>> -                               }
>> -
>>  twoDVarMap.setExecutionPurpose(response.path("purpose").textValue());
>> -
>>  twoDVarMap.setImage(response.path("plotUrl").textValue());
>> -
>>  twoDVarMap.setDataURL(response.path("dataUrl").textValue());
>> -                               return
>> ok(views.html.climate.twoDVariableMap.render(twoDVarMap));
>> -                       }
>> -                       else if
>> (serviceName.equals("Conditional-Sampling-with-One-Variable")){
>> -                               for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                       String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                       String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -                                       if
>> (parameterName.equals("model2")) {
>> -
>>  conditionalSampling.setDataSourceE(parameterValue);
>> -                                       } else if
>> (parameterName.equals("model1")) {
>> -
>>  conditionalSampling.setDataSourceP(parameterValue);
>> -                                       } else if
>> (parameterName.equals("var2")) {
>> -
>>  conditionalSampling.setVariableNameE(parameterValue);
>> -                                       } else if
>> (parameterName.equals("var1")) {
>> -
>>  conditionalSampling.setVariableNameP(parameterValue);
>> -                                       } else if
>> (parameterName.equals("pre1")) {
>> -
>>  conditionalSampling.setPressureRangeP(parameterValue);
>> -                                       } else if
>> (parameterName.equals("pre2")) {
>> -
>>  conditionalSampling.setPressureRangeE(parameterValue);
>> -                                       } else if
>> (parameterName.equals("startT")) {
>> -
>>  conditionalSampling.setStartYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("endT")) {
>> -
>>  conditionalSampling.setEndYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon1")) {
>> -
>>  conditionalSampling.setStartLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon2")) {
>> -
>>  conditionalSampling.setEndLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat1")) {
>> -
>>  conditionalSampling.setStartLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat2")) {
>> -
>>  conditionalSampling.setEndLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("months")) {
>> -                                               String[] months =
>> parameterValue.split(",");
>> -                                               for (int j = 0; j <
>> months.length; j++) {
>> -                                                       if
>> (months[j].equals("1")) {
>> -
>>  conditionalSampling.addMonth("jan");
>> -                                                       } else if
>> (months[j].equals("2")) {
>> -
>>  conditionalSampling.addMonth("feb");
>> -                                                       } else if
>> (months[j].equals("3")) {
>> -
>>  conditionalSampling.addMonth("mar");
>> -                                                       } else if
>> (months[j].equals("4")) {
>> -
>>  conditionalSampling.addMonth("apr");
>> -                                                       } else if
>> (months[j].equals("5")) {
>> -
>>  conditionalSampling.addMonth("may");
>> -                                                       } else if
>> (months[j].equals("6")) {
>> -
>>  conditionalSampling.addMonth("jun");
>> -                                                       } else if
>> (months[j].equals("7")) {
>> -
>>  conditionalSampling.addMonth("jul");
>> -                                                       } else if
>> (months[j].equals("8")) {
>> -
>>  conditionalSampling.addMonth("aug");
>> -                                                       } else if
>> (months[j].equals("9")) {
>> -
>>  conditionalSampling.addMonth("sep");
>> -                                                       } else if
>> (months[j].equals("10")) {
>> -
>>  conditionalSampling.addMonth("oct");
>> -                                                       } else if
>> (months[j].equals("11")) {
>> -
>>  conditionalSampling.addMonth("nov");
>> -                                                       } else if
>> (months[j].equals("12")) {
>> -
>>  conditionalSampling.addMonth("dec");
>> -                                                       }
>> -
>> -                                               }
>> -
>>  conditionalSampling.changeSelectMonths();
>> -                                       } else if
>> (parameterName.equals("bin_min")) {
>> -
>>  conditionalSampling.setBin_min(parameterValue);
>> -                                       } else if
>> (parameterName.equals("bin_max")) {
>> -
>>  conditionalSampling.setBin_max(parameterValue);
>> -                                       } else if
>> (parameterName.equals("bin_n")) {
>> -
>>  conditionalSampling.setBin_n(parameterValue);
>> -                                       } else if
>> (parameterName.equals("displayOpt")) {
>> -                                               int
>> paramBit=Integer.parseInt(parameterValue);
>> -                                               int bitmaskX = 0x1;
>> -                                               int bitmaskY = 0x2;
>> -                                               int bitmaskZ = 0x4;
>> -
>>  conditionalSampling.setX(Integer.toString(paramBit & bitmaskX, 2));
>> -
>>  conditionalSampling.setY(Integer.toString((paramBit & bitmaskY)>>1,
>> 2));
>> -
>>  conditionalSampling.setZ(Integer.toString((paramBit & bitmaskZ)>>2,
>>2));
>> -                                       }
>> -                               }
>> -
>>  
>> conditionalSampling.setExecutionPurpose(response.path("purpose").textV
>> alue());
>> -
>>  conditionalSampling.setImage(response.path("plotUrl").textValue());
>> -
>>  conditionalSampling.setDataURL(response.path("dataUrl").textValue());
>> -                               return
>> ok(views.html.climate.conditionalSampling.render(conditionalSampling));
>> -                       }else if
>> (serviceName.equals("2-D-Variable-Time-Series")){
>> -                               for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                       String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                       String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -                                       if
>>(parameterName.equals("model"))
>> {
>> -
>>  twoDVarTimeSeries.setDataSource(parameterValue);
>> -                                       } else if
>> (parameterName.equals("var")) {
>> -
>>  twoDVarTimeSeries.setVariableName(parameterValue);
>> -                                       } else if
>> (parameterName.equals("startT")) {
>> -
>>  twoDVarTimeSeries.setStartYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("endT")) {
>> -
>>  twoDVarTimeSeries.setEndYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat1")) {
>> -
>>  twoDVarTimeSeries.setStartLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat2")) {
>> -
>>  twoDVarTimeSeries.setEndLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon1")) {
>> -
>>  twoDVarTimeSeries.setStartLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon2")) {
>> -
>>  twoDVarTimeSeries.setEndLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("scale")) {
>> -
>>  twoDVarTimeSeries.setVariableScale(parameterValue);
>> -                                       }
>> -                               }
>> -
>>  
>> twoDVarTimeSeries.setExecutionPurpose(response.path("purpose").textVal
>> ue());
>> -
>>  twoDVarTimeSeries.setImage(response.path("plotUrl").textValue());
>> -
>>  twoDVarTimeSeries.setDataURL(response.path("dataUrl").textValue());
>> -                               return
>> ok(views.html.climate.twoDVariableTimeSeries.render(twoDVarTimeSeries));
>> -                       }else if
>> (serviceName.equals("Regrid-and-Download")){
>> -                               for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                       String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                       String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -                                       if
>>(parameterName.equals("model"))
>> {
>> -
>>  regridAndDownload.setDataSource(parameterValue);
>> -                                       } else if
>> (parameterName.equals("var")) {
>> -
>>  regridAndDownload.setVariableName(parameterValue);
>> -                                       } else if
>> (parameterName.equals("startT")) {
>> -
>>  regridAndDownload.setStartYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("endT")) {
>> -
>>  regridAndDownload.setEndYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat1")) {
>> -
>>  regridAndDownload.setStartLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat2")) {
>> -
>>  regridAndDownload.setEndLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("dlat")) {
>> -
>>  regridAndDownload.setDeltaLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("dlon")) {
>> -
>>  regridAndDownload.setDeltaLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon1")) {
>> -
>>  regridAndDownload.setStartLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lon2")) {
>> -
>>  regridAndDownload.setEndLon(parameterValue);
>> -                                       } else if
>> (parameterName.equals("plev")) {
>> -
>>  regridAndDownload.setPressureLevel(parameterValue);
>> -                                       }
>> -                               }
>> -
>>  
>> regridAndDownload.setExecutionPurpose(response.path("purpose").textVal
>> ue());
>> -
>> -
>>  regridAndDownload.setDataURL(response.path("dataUrl").textValue());
>> -                               return
>> ok(views.html.climate.regridAndDownload.render(regridAndDownload));
>> -                       }else if
>> (serviceName.equals("3-D-Variable-Zonal-Mean")){
>> -                               String press1 = "";
>> -                               String press2 = "";
>> -                               for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                       String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                       String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -                                       if 
>>(parameterName.equals("model"))
>> {
>> -
>>  threeDVarZonalMean.setDataSource(parameterValue);
>> -                                       } else if
>> (parameterName.equals("var")) {
>> -
>>  threeDVarZonalMean.setVariableName(parameterValue);
>> -                                       } else if
>> (parameterName.equals("startT")) {
>> -
>>  threeDVarZonalMean.setStartYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("endT")) {
>> -
>>  threeDVarZonalMean.setEndYearMonth(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat1")) {
>> -
>>  threeDVarZonalMean.setStartLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("lat2")) {
>> -
>>  threeDVarZonalMean.setEndLat(parameterValue);
>> -                                       } else if
>> (parameterName.equals("pres1")) {
>> -                                               press1 = parameterValue;
>> -                                       } else if
>> (parameterName.equals("pres2")) {
>> -                                               press2 = parameterValue;
>> -                                       } else if
>> (parameterName.equals("months")) {
>> -                                               String[] months =
>> parameterValue.split(",");
>> -                                               for (int j = 0; j <
>> months.length; j++) {
>> -                                                       if
>> (months[j].equals("1")) {
>> -
>>  threeDVarZonalMean.addMonth("jan");
>> -                                                       } else if
>> (months[j].equals("2")) {
>> -
>>  threeDVarZonalMean.addMonth("feb");
>> -                                                       } else if
>> (months[j].equals("3")) {
>> -
>>  threeDVarZonalMean.addMonth("mar");
>> -                                                       } else if
>> (months[j].equals("4")) {
>> -
>>  threeDVarZonalMean.addMonth("apr");
>> -                                                       } else if
>> (months[j].equals("5")) {
>> -
>>  threeDVarZonalMean.addMonth("may");
>> -                                                       } else if
>> (months[j].equals("6")) {
>> -
>>  threeDVarZonalMean.addMonth("jun");
>> -                                                       } else if
>> (months[j].equals("7")) {
>> -
>>  threeDVarZonalMean.addMonth("jul");
>> -                                                       } else if
>> (months[j].equals("8")) {
>> -
>>  threeDVarZonalMean.addMonth("aug");
>> -                                                       } else if
>> (months[j].equals("9")) {
>> -
>>  threeDVarZonalMean.addMonth("sep");
>> -                                                       } else if
>> (months[j].equals("10")) {
>> -
>>  threeDVarZonalMean.addMonth("oct");
>> -                                                       } else if
>> (months[j].equals("11")) {
>> -
>>  threeDVarZonalMean.addMonth("nov");
>> -                                                       } else if
>> (months[j].equals("12")) {
>> -
>>  threeDVarZonalMean.addMonth("dec");
>> -                                                       }
>> -                                               }
>> -                                       } else if
>> (parameterName.equals("scale")) {
>> -                                               if
>> (parameterValue.equals("2")) {
>> -
>>  threeDVarZonalMean.setPressureScale("2");
>> -
>>  threeDVarZonalMean.setColorScale("0");
>> -                                               } else if
>> (parameterValue.equals("0")) {
>> -
>>  threeDVarZonalMean.setPressureScale("0");
>> -
>>  threeDVarZonalMean.setColorScale("0");
>> -                                               } else if
>> (parameterValue.equals("4")) {
>> -
>>  threeDVarZonalMean.setPressureScale("0");
>> -
>>  threeDVarZonalMean.setColorScale("4");
>> -                                               } else if
>> (parameterValue.equals("6")) {
>> -
>>  threeDVarZonalMean.setPressureScale("2");
>> -
>>  threeDVarZonalMean.setColorScale("4");
>> -                                               }
>> -                                       }
>> -                               }
>> -                               if (!press1.isEmpty() & 
>>!press2.isEmpty())
>> -
>>  threeDVarZonalMean.setPressureRange("" + (Integer.parseInt(press1) / 
>> 100)
>> + "," + (Integer.parseInt(press2) / 100));
>> -
>>  
>> threeDVarZonalMean.setExecutionPurpose(response.path("purpose").textVa
>> lue());
>> -
>>  threeDVarZonalMean.setImage(response.path("plotUrl").textValue());
>> -
>>  threeDVarZonalMean.setDataURL(response.path("dataUrl").textValue());
>> -                               return
>> 
>>ok(views.html.climate.threeDVariableZonalMean.render(threeDVarZonalMean))
>>;
>> -                       }else if
>> (serviceName.equals("Scatter-and-Histogram-Plot-of-Two-Variables")){
>>             //"19")){
>> -
>>  scatterHistogram.setPressureLevel1("N/A");
>> -
>>  scatterHistogram.setPressureLevel2("N/A");
>> -                                       for (int i = 0; i <
>> responseConfigItems.size(); i++) {
>> -                                               String parameterName =
>> 
>>responseConfigItems.get(i).path("parameter").path("purpose").textValue();
>> -                                               String parameterValue =
>> responseConfigItems.get(i).path("value").textValue();
>> -                                               if
>> (parameterName.equals("model1")) {
>> -
>>  scatterHistogram.setSource1(parameterValue);
>> -
>> -                                               } else if
>> (parameterName.equals("model2")) {
>> -
>>  scatterHistogram.setSource2(parameterValue);
>> -
>> -                                               } else if
>> (parameterName.equals("var1")) {
>> -
>>  scatterHistogram.setVaribaleName1(parameterValue);
>> -
>> -                                               } else if
>> (parameterName.equals("var2")) {
>> -
>>  scatterHistogram.setVaribaleName2(parameterValue);
>> -                                               } else if
>> (parameterName.equals("startT")) {
>> -
>>  scatterHistogram.setStartYear(parameterValue);
>> -                                               } else if
>> (parameterName.equals("endT")) {
>> -
>>  scatterHistogram.setEndYear(parameterValue);
>> -                                               } else if
>> (parameterName.equals("lon1")) {
>> -
>>  scatterHistogram.setStartLon(parameterValue);
>> -                                               } else if
>> (parameterName.equals("lon2")) {
>> -
>>  scatterHistogram.setEndLon(parameterValue);
>> -                                               } else if
>> (parameterName.equals("lat1")) {
>> -
>>  scatterHistogram.setStartLat(parameterValue);
>> -                                               } else if
>> (parameterName.equals("lat2")) {
>> -
>>  scatterHistogram.setEndLat(parameterValue);
>> -                                               } else if
>> (parameterName.equals("nSample")) {
>> -
>>  scatterHistogram.setSamples(parameterValue);
>> -                                               }
>> -                                       }
>> -
>>  
>> scatterHistogram.setExecutionPurpose(response.path("purpose").textValu
>> e());
>> -
>>  scatterHistogram.setImage(response.path("plotUrl").textValue());
>> -
>>  scatterHistogram.setDataUrl(response.path("dataUrl").textValue());
>> -                                       return
>> 
>>ok(views.html.climate.scatterAndHistogramTwoVariable.render(scatterHistog
>>ram));
>> -                       }else if
>> (serviceName.equals("Difference-Plot-of-Two-Time-Averaged-Variables")){
>>         //"20")){
>> -
>>  diffPlotTwoTimeAvg.setPressureLevel1("N/A");
>> -
>>  Console.println(diffPlotTwoTimeAvg.getPressureLevel1());
>> -
>>  diffPlotTwoTimeAvg.setPressureLevel2("N/A");
>> -                                       for (int i = 0; i < response
>
>


RE: [43/49] incubator-cmda git commit: remove all

Posted by Jia Zhang <ji...@sv.cmu.edu>.
Dear James:

Would you please clarify a little?

Thanks a lot.

Best regards,
Jia

-----Original Message-----
From: James Carman [mailto:james@carmanconsulting.com] 
Sent: Tuesday, September 08, 2015 3:46 PM
To: dev@cmda.incubator.apache.org
Subject: Re: [43/49] incubator-cmda git commit: remove all

Can we turn these notifications off?

On Tue, Sep 8, 2015 at 6:44 PM <xi...@apache.org> wrote:

>
> http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/ap
> p/controllers/ClimateServiceController.java
> ----------------------------------------------------------------------
> diff --git a/app/controllers/ClimateServiceController.java
> b/app/controllers/ClimateServiceController.java
> deleted file mode 100644
> index 2c6aa1c..0000000
> --- a/app/controllers/ClimateServiceController.java
> +++ /dev/null
> @@ -1,931 +0,0 @@
> -/*
> - * Licensed to the Apache Software Foundation (ASF) under one or more
> - * contributor license agreements.  See the NOTICE file distributed 
> with
> - * this work for additional information regarding copyright ownership.
> - * The ASF licenses this file to You under the Apache License, 
> Version 2.0
> - * (the "License"); you may not use this file except in compliance 
> with
> - * the License.  You may obtain a copy of the License at
> - *
> - *    http://www.apache.org/licenses/LICENSE-2.0
> - *
> - * Unless required by applicable law or agreed to in writing, 
> software
> - * distributed under the License is distributed on an "AS IS" BASIS,
> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 
> implied.
> - * See the License for the specific language governing permissions 
> and
> - * limitations under the License.
> - */
> -
> -package controllers;
> -
> -import com.fasterxml.jackson.databind.JsonNode;
> -import com.fasterxml.jackson.databind.node.ObjectNode;
> -import models.metadata.ClimateService; -import 
> models.metadata.DiffPlotTwoTimeAveragedVar;
> -import models.metadata.RegridAndDownload;
> -import models.metadata.TwoDVarZonalMean; -import 
> models.metadata.TwoDVarMap; -import models.metadata.TwoDVarTimeSeries;
> -import models.metadata.ThreeDVarZonalMean;
> -import models.metadata.ThreeDVar2DSlice; -import 
> models.metadata.ThreeDVarAvgVertical4Profile;
> -import models.metadata.ScatterHistogramTwoVar;
> -import models.metadata.ConditionalSampling;
> -import models.metadata.ServiceLog;
> -import models.metadata.CorrelationMap; -import 
> models.metadata.ConditionalSampling2Var;
> -import play.Logger;
> -import play.data.Form;
> -import play.libs.Json;
> -import play.mvc.Controller;
> -import play.mvc.Result;
> -import scala.Console;
> -import util.APICall;
> -import util.APICall.ResponseType;
> -import util.Constants;
> -import views.html.climate.*;
> -import play.data.DynamicForm;
> -import java.io.File;
> -import java.io.IOException;
> -import java.io.UnsupportedEncodingException;
> -import java.text.DateFormat;
> -import java.text.SimpleDateFormat;
> -import java.util.Date;
> -import java.util.List;
> -import com.fasterxml.jackson.databind.ObjectMapper;
> -
> -public class ClimateServiceController extends Controller {
> -
> -       final static Form<ClimateService> climateServiceForm = Form
> -                       .form(ClimateService.class);
> -
> -       public static Result home(String email, String vfile, String
> dataset) {
> -               return ok(home.render(email, vfile, dataset));
> -       }
> -
> -       public static Result addClimateServices() {
> -               return ok(addClimateServices.render(climateServiceForm));
> -       }
> -
> -       public static Result tutorial() {
> -               return ok(tutorial.render());
> -       }
> -
> -       public static Result climateServices() {
> -               return ok(climateServices.render(ClimateService.all(),
> -                               climateServiceForm));
> -       }
> -
> -       public static Result mostRecentlyAddedClimateServices() {
> -               return
> ok(mostRecentlyAddedServices.render(ClimateService.getMostRecentlyAdded(),
> -                               climateServiceForm));
> -       }
> -
> -       public static Result mostRecentlyUsedClimateServices() {
> -               return
> ok(mostRecentlyUsedServices.render(ClimateService.getMostRecentlyUsed(),
> -                               climateServiceForm));
> -       }
> -
> -       public static Result mostPopularClimateServices() {
> -               return
> ok(mostPopularServices.render(ClimateService.getMostPopular(),
> -                               climateServiceForm));
> -       }
> -
> -       public static Result newClimateService() {
> -               Form<ClimateService> dc =
> climateServiceForm.bindFromRequest();
> -               ObjectNode jsonData = Json.newObject();
> -               try {
> -
> -                       String originalClimateServiceName =
> dc.field("Name").value();
> -                       String newClimateServiceName =
> originalClimateServiceName.replace(' ', '-');
> -
> -                       if (newClimateServiceName != null &&
> !newClimateServiceName.isEmpty()) {
> -                               jsonData.put("name",
> newClimateServiceName);
> -                       }
> -
> -                       jsonData.put("creatorId", 1);
> -                       jsonData.put("purpose",
> dc.field("Purpose").value());
> -                       jsonData.put("url", dc.field("Url").value());
> -                       DateFormat dateFormat = new
> SimpleDateFormat("yyyy/MM/dd HH:mm");
> -                       Date date = new Date();
> -                       jsonData.put("createTime",
> dateFormat.format(date));
> -                       jsonData.put("scenario",
> dc.field("Scenario").value());
> -                       jsonData.put("versionNo",
> dc.field("Version").value());
> -                       jsonData.put("rootServiceId",
> dc.field("Root_Service").value());
> -                       JsonNode response =
> ClimateService.create(jsonData);
> -                       Application.flashMsg(response);
> -               } catch (IllegalStateException e) {
> -                       e.printStackTrace();
> -                       Application.flashMsg(APICall
> -
>  .createResponse(ResponseType.CONVERSIONERROR));
> -               } catch (Exception e) {
> -                       e.printStackTrace();
> -
>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
> -               }
> -               return redirect("/climate/climateServices");
> -       }
> -
> -       public static Result editClimateService() {
> -
> -               ObjectNode jsonData = Json.newObject();
> -               try {
> -                       DynamicForm df =
> DynamicForm.form().bindFromRequest();
> -                       String climateServiceName = df.field("pk").value();
> -
> -                       if (climateServiceName != null &&
> !climateServiceName.isEmpty()) {
> -                               jsonData.put("name", climateServiceName);
> -                       }
> -                       ClimateService originalService =
> ClimateService.findServiceByName(climateServiceName);
> -
> -                       if (originalService == null) {
> -
>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
> -                               return notFound("not found original
> climateService " + climateServiceName);
> -                       }
> -
> -                       jsonData.put("creatorId", 1);
> -                       jsonData.put("purpose",
> originalService.getPurpose());
> -                       jsonData.put("url", originalService.getUrl());
> -                       jsonData.put("scenario",
> originalService.getScenario());
> -                       jsonData.put("versionNo",
> originalService.getVersion());
> -
> -                       if (originalService.getRootservice() != null)
> -
> -                               jsonData.put("rootServiceId",
> originalService.getRootservice());
> -                       String editField = df.field("name").value();
> -
> -                       if (editField != null && !editField.isEmpty()) {
> -                               jsonData.put(editField,
> df.field("value").value());
> -                       }
> -
> -                       if (editField == null || editField.isEmpty()) {
> -
>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
> -                               return notFound("not found edit field");
> -                       }
> -
> -                       JsonNode response =
> ClimateService.edit(climateServiceName, jsonData);
> -                       Application.flashMsg(response);
> -
> -               } catch (IllegalStateException e) {
> -                       e.printStackTrace();
> -                       Application.flashMsg(APICall
> -
>  .createResponse(ResponseType.CONVERSIONERROR));
> -               } catch (Exception e) {
> -                       e.printStackTrace();
> -
>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
> -               }
> -               return ok("updated");
> -
> -       }
> -
> -       public static Result getConfigurationByConfId() {
> -               String output = "";
> -               TwoDVarMap twoDVarMap = new TwoDVarMap();
> -               TwoDVarZonalMean twoDVarZonalMean = new TwoDVarZonalMean();
> -               ScatterHistogramTwoVar scatterHistogram = new
> ScatterHistogramTwoVar();
> -               ThreeDVarAvgVertical4Profile threeDVarAvgVertical = new
> ThreeDVarAvgVertical4Profile();
> -               DiffPlotTwoTimeAveragedVar diffPlotTwoTimeAvg = new
> DiffPlotTwoTimeAveragedVar();
> -               ThreeDVar2DSlice threeDVar2DSlice = new ThreeDVar2DSlice();
> -               TwoDVarTimeSeries twoDVarTimeSeries = new
> TwoDVarTimeSeries();
> -               ThreeDVarZonalMean threeDVarZonalMean = new
> ThreeDVarZonalMean();
> -               ConditionalSampling conditionalSampling = new
> ConditionalSampling();
> -               RegridAndDownload regridAndDownload = new
> RegridAndDownload();
> -               CorrelationMap correlationMap = new CorrelationMap();
> -               ConditionalSampling2Var conditionalSampling2Var = new
> ConditionalSampling2Var();
> -
> -               try {
> -                       DynamicForm df =
> DynamicForm.form().bindFromRequest();
> -                       String logId = df.field("logId").value();
> -
> -                       if (logId == null || logId.isEmpty()) {
> -
>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
> -                               return notFound("confId is null or empty");
> -                       }
> -
> -                       JsonNode response =
> APICall.callAPI(Constants.NEW_BACKEND + 
> Constants.SERVICE_EXECUTION_LOG + Constants.SERVICE_EXECUTION_LOG_GET + logId);
> -                       int configurationId =
> response.path("serviceConfiguration").path("id").asInt();
> -                       JsonNode responseConfigItems =
> APICall.callAPI(Constants.NEW_BACKEND + Constants.CONFIG_ITEM + 
> Constants.GET_CONFIG_ITEMS_BY_CONFIG + configurationId);
> -                       String serviceName =
> response.path("climateService").path("name").asText();
> -                       //TODO:
> -                       if (serviceName.equals("2-D-Variable-Zonal-Mean"))
> {
> -                               //TODO: DO NOT USE
> node.findPath(key)!!!!!  use find(key) instead to get your immediate 
> children if you know the json structure (and we do).
> -                               //TODO: (con't) findPath returns the first
> occurence of a key string, including GRANDCHILDREN
> -                               for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                       String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                       String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -
> -                                       if (parameterName.equals("data
> source")) {
> -
>  twoDVarZonalMean.setDataSource(parameterValue);
> -                                       } else if
> (parameterName.equals("variable name")) {
> -
>  twoDVarZonalMean.setVariableName(parameterValue);
> -                                       } else if
> (parameterName.equals("start year-month")) {
> -
>  twoDVarZonalMean.setStartYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("end year-month")) {
> -
>  twoDVarZonalMean.setEndYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("select months")) {
> -                                               String[] months =
> parameterValue.split(",");
> -                                               for (int j = 0; j <
> months.length; j++) {
> -                                                       if
> (months[j].equals("1")) {
> -
>  twoDVarZonalMean.addMonth("jan");
> -                                                       } else if
> (months[j].equals("2")) {
> -
>  twoDVarZonalMean.addMonth("feb");
> -                                                       } else if
> (months[j].equals("3")) {
> -
>  twoDVarZonalMean.addMonth("mar");
> -                                                       } else if
> (months[j].equals("4")) {
> -
>  twoDVarZonalMean.addMonth("apr");
> -                                                       } else if
> (months[j].equals("5")) {
> -
>  twoDVarZonalMean.addMonth("may");
> -                                                       } else if
> (months[j].equals("6")) {
> -
>  twoDVarZonalMean.addMonth("jun");
> -                                                       } else if
> (months[j].equals("7")) {
> -
>  twoDVarZonalMean.addMonth("jul");
> -                                                       } else if
> (months[j].equals("8")) {
> -
>  twoDVarZonalMean.addMonth("aug");
> -                                                       } else if
> (months[j].equals("9")) {
> -
>  twoDVarZonalMean.addMonth("sep");
> -                                                       } else if
> (months[j].equals("10")) {
> -
>  twoDVarZonalMean.addMonth("oct");
> -                                                       } else if
> (months[j].equals("11")) {
> -
>  twoDVarZonalMean.addMonth("nov");
> -                                                       } else if
> (months[j].equals("12")) {
> -
>  twoDVarZonalMean.addMonth("dec");
> -                                                       }
> -                                               }
> -
>  twoDVarZonalMean.changeSelectMonths();
> -                                       } else if
> (parameterName.equals("start lat (deg)")) {
> -
>  twoDVarZonalMean.setStartLat(parameterValue);
> -                                       } else if
> (parameterName.equals("end lat (deg)")) {
> -
>  twoDVarZonalMean.setEndLat(parameterValue);
> -                                       } else if
> (parameterName.equals("variable scale")) {
> -
>  twoDVarZonalMean.setVariableScale(parameterValue);
> -                                       }
> -                               }
> -
>  
> twoDVarZonalMean.setExecutionPurpose(response.path("purpose").textValu
> e());
> -
>  twoDVarZonalMean.setImage(response.path("plotUrl").textValue());
> -
>  twoDVarZonalMean.setDataURL(response.path("dataUrl").textValue());
> -                               return
> ok(views.html.climate.twoDVariableZonelMean.render(twoDVarZonalMean));
> -                       }
> -                       else if (serviceName.equals("2-D-Variable-Map")) {
> -                               for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                       String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                       String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -                                       if (parameterName.equals("model"))
> {
> -
>  twoDVarMap.setDataSource(parameterValue);
> -                                       } else if
> (parameterName.equals("var")) {
> -
>  twoDVarMap.setVariableName(parameterValue);
> -                                       } else if
> (parameterName.equals("startT")) {
> -
>  twoDVarMap.setStartYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("endT")) {
> -
>  twoDVarMap.setEndYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("months")) {
> -                                               String[] months =
> parameterValue.split(",");
> -                                               for (int j = 0; j <
> months.length; j++) {
> -                                                       if
> (months[j].equals("1")) {
> -
>  twoDVarMap.addMonth("jan");
> -                                                       } else if
> (months[j].equals("2")) {
> -
>  twoDVarMap.addMonth("feb");
> -                                                       } else if
> (months[j].equals("3")) {
> -
>  twoDVarMap.addMonth("mar");
> -                                                       } else if
> (months[j].equals("4")) {
> -
>  twoDVarMap.addMonth("apr");
> -                                                       } else if
> (months[j].equals("5")) {
> -
>  twoDVarMap.addMonth("may");
> -                                                       } else if
> (months[j].equals("6")) {
> -
>  twoDVarMap.addMonth("jun");
> -                                                       } else if
> (months[j].equals("7")) {
> -
>  twoDVarMap.addMonth("jul");
> -                                                       } else if
> (months[j].equals("8")) {
> -
>  twoDVarMap.addMonth("aug");
> -                                                       } else if
> (months[j].equals("9")) {
> -
>  twoDVarMap.addMonth("sep");
> -                                                       } else if
> (months[j].equals("10")) {
> -
>  twoDVarMap.addMonth("oct");
> -                                                       } else if
> (months[j].equals("11")) {
> -
>  twoDVarMap.addMonth("nov");
> -                                                       } else if
> (months[j].equals("12")) {
> -
>  twoDVarMap.addMonth("dec");
> -                                                       }
> -                                               }
> -
>  twoDVarMap.changeSelectMonths();
> -                                       } else if
> (parameterName.equals("lat1")) {
> -
>  twoDVarMap.setStartLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lat2")) {
> -
>  twoDVarMap.setEndLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lon1")) {
> -
>  twoDVarMap.setStartLon(parameterValue);
> -                                       } else if
> (parameterName.equals("lon2")) {
> -
>  twoDVarMap.setEndLon(parameterValue);
> -                                       } else if
> (parameterName.equals("scale")) {
> -
>  twoDVarMap.setVariableScale(parameterValue);
> -                                               }
> -                               }
> -
>  twoDVarMap.setExecutionPurpose(response.path("purpose").textValue());
> -
>  twoDVarMap.setImage(response.path("plotUrl").textValue());
> -
>  twoDVarMap.setDataURL(response.path("dataUrl").textValue());
> -                               return
> ok(views.html.climate.twoDVariableMap.render(twoDVarMap));
> -                       }
> -                       else if
> (serviceName.equals("Conditional-Sampling-with-One-Variable")){
> -                               for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                       String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                       String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -                                       if
> (parameterName.equals("model2")) {
> -
>  conditionalSampling.setDataSourceE(parameterValue);
> -                                       } else if
> (parameterName.equals("model1")) {
> -
>  conditionalSampling.setDataSourceP(parameterValue);
> -                                       } else if
> (parameterName.equals("var2")) {
> -
>  conditionalSampling.setVariableNameE(parameterValue);
> -                                       } else if
> (parameterName.equals("var1")) {
> -
>  conditionalSampling.setVariableNameP(parameterValue);
> -                                       } else if
> (parameterName.equals("pre1")) {
> -
>  conditionalSampling.setPressureRangeP(parameterValue);
> -                                       } else if
> (parameterName.equals("pre2")) {
> -
>  conditionalSampling.setPressureRangeE(parameterValue);
> -                                       } else if
> (parameterName.equals("startT")) {
> -
>  conditionalSampling.setStartYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("endT")) {
> -
>  conditionalSampling.setEndYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("lon1")) {
> -
>  conditionalSampling.setStartLon(parameterValue);
> -                                       } else if
> (parameterName.equals("lon2")) {
> -
>  conditionalSampling.setEndLon(parameterValue);
> -                                       } else if
> (parameterName.equals("lat1")) {
> -
>  conditionalSampling.setStartLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lat2")) {
> -
>  conditionalSampling.setEndLat(parameterValue);
> -                                       } else if
> (parameterName.equals("months")) {
> -                                               String[] months =
> parameterValue.split(",");
> -                                               for (int j = 0; j <
> months.length; j++) {
> -                                                       if
> (months[j].equals("1")) {
> -
>  conditionalSampling.addMonth("jan");
> -                                                       } else if
> (months[j].equals("2")) {
> -
>  conditionalSampling.addMonth("feb");
> -                                                       } else if
> (months[j].equals("3")) {
> -
>  conditionalSampling.addMonth("mar");
> -                                                       } else if
> (months[j].equals("4")) {
> -
>  conditionalSampling.addMonth("apr");
> -                                                       } else if
> (months[j].equals("5")) {
> -
>  conditionalSampling.addMonth("may");
> -                                                       } else if
> (months[j].equals("6")) {
> -
>  conditionalSampling.addMonth("jun");
> -                                                       } else if
> (months[j].equals("7")) {
> -
>  conditionalSampling.addMonth("jul");
> -                                                       } else if
> (months[j].equals("8")) {
> -
>  conditionalSampling.addMonth("aug");
> -                                                       } else if
> (months[j].equals("9")) {
> -
>  conditionalSampling.addMonth("sep");
> -                                                       } else if
> (months[j].equals("10")) {
> -
>  conditionalSampling.addMonth("oct");
> -                                                       } else if
> (months[j].equals("11")) {
> -
>  conditionalSampling.addMonth("nov");
> -                                                       } else if
> (months[j].equals("12")) {
> -
>  conditionalSampling.addMonth("dec");
> -                                                       }
> -
> -                                               }
> -
>  conditionalSampling.changeSelectMonths();
> -                                       } else if
> (parameterName.equals("bin_min")) {
> -
>  conditionalSampling.setBin_min(parameterValue);
> -                                       } else if
> (parameterName.equals("bin_max")) {
> -
>  conditionalSampling.setBin_max(parameterValue);
> -                                       } else if
> (parameterName.equals("bin_n")) {
> -
>  conditionalSampling.setBin_n(parameterValue);
> -                                       } else if
> (parameterName.equals("displayOpt")) {
> -                                               int
> paramBit=Integer.parseInt(parameterValue);
> -                                               int bitmaskX = 0x1;
> -                                               int bitmaskY = 0x2;
> -                                               int bitmaskZ = 0x4;
> -
>  conditionalSampling.setX(Integer.toString(paramBit & bitmaskX, 2));
> -
>  conditionalSampling.setY(Integer.toString((paramBit & bitmaskY)>>1, 
> 2));
> -
>  conditionalSampling.setZ(Integer.toString((paramBit & bitmaskZ)>>2, 2));
> -                                       }
> -                               }
> -
>  
> conditionalSampling.setExecutionPurpose(response.path("purpose").textV
> alue());
> -
>  conditionalSampling.setImage(response.path("plotUrl").textValue());
> -
>  conditionalSampling.setDataURL(response.path("dataUrl").textValue());
> -                               return
> ok(views.html.climate.conditionalSampling.render(conditionalSampling));
> -                       }else if
> (serviceName.equals("2-D-Variable-Time-Series")){
> -                               for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                       String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                       String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -                                       if (parameterName.equals("model"))
> {
> -
>  twoDVarTimeSeries.setDataSource(parameterValue);
> -                                       } else if
> (parameterName.equals("var")) {
> -
>  twoDVarTimeSeries.setVariableName(parameterValue);
> -                                       } else if
> (parameterName.equals("startT")) {
> -
>  twoDVarTimeSeries.setStartYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("endT")) {
> -
>  twoDVarTimeSeries.setEndYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("lat1")) {
> -
>  twoDVarTimeSeries.setStartLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lat2")) {
> -
>  twoDVarTimeSeries.setEndLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lon1")) {
> -
>  twoDVarTimeSeries.setStartLon(parameterValue);
> -                                       } else if
> (parameterName.equals("lon2")) {
> -
>  twoDVarTimeSeries.setEndLon(parameterValue);
> -                                       } else if
> (parameterName.equals("scale")) {
> -
>  twoDVarTimeSeries.setVariableScale(parameterValue);
> -                                       }
> -                               }
> -
>  
> twoDVarTimeSeries.setExecutionPurpose(response.path("purpose").textVal
> ue());
> -
>  twoDVarTimeSeries.setImage(response.path("plotUrl").textValue());
> -
>  twoDVarTimeSeries.setDataURL(response.path("dataUrl").textValue());
> -                               return
> ok(views.html.climate.twoDVariableTimeSeries.render(twoDVarTimeSeries));
> -                       }else if
> (serviceName.equals("Regrid-and-Download")){
> -                               for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                       String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                       String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -                                       if (parameterName.equals("model"))
> {
> -
>  regridAndDownload.setDataSource(parameterValue);
> -                                       } else if
> (parameterName.equals("var")) {
> -
>  regridAndDownload.setVariableName(parameterValue);
> -                                       } else if
> (parameterName.equals("startT")) {
> -
>  regridAndDownload.setStartYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("endT")) {
> -
>  regridAndDownload.setEndYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("lat1")) {
> -
>  regridAndDownload.setStartLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lat2")) {
> -
>  regridAndDownload.setEndLat(parameterValue);
> -                                       } else if
> (parameterName.equals("dlat")) {
> -
>  regridAndDownload.setDeltaLat(parameterValue);
> -                                       } else if
> (parameterName.equals("dlon")) {
> -
>  regridAndDownload.setDeltaLon(parameterValue);
> -                                       } else if
> (parameterName.equals("lon1")) {
> -
>  regridAndDownload.setStartLon(parameterValue);
> -                                       } else if
> (parameterName.equals("lon2")) {
> -
>  regridAndDownload.setEndLon(parameterValue);
> -                                       } else if
> (parameterName.equals("plev")) {
> -
>  regridAndDownload.setPressureLevel(parameterValue);
> -                                       }
> -                               }
> -
>  
> regridAndDownload.setExecutionPurpose(response.path("purpose").textVal
> ue());
> -
> -
>  regridAndDownload.setDataURL(response.path("dataUrl").textValue());
> -                               return
> ok(views.html.climate.regridAndDownload.render(regridAndDownload));
> -                       }else if
> (serviceName.equals("3-D-Variable-Zonal-Mean")){
> -                               String press1 = "";
> -                               String press2 = "";
> -                               for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                       String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                       String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -                                       if (parameterName.equals("model"))
> {
> -
>  threeDVarZonalMean.setDataSource(parameterValue);
> -                                       } else if
> (parameterName.equals("var")) {
> -
>  threeDVarZonalMean.setVariableName(parameterValue);
> -                                       } else if
> (parameterName.equals("startT")) {
> -
>  threeDVarZonalMean.setStartYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("endT")) {
> -
>  threeDVarZonalMean.setEndYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("lat1")) {
> -
>  threeDVarZonalMean.setStartLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lat2")) {
> -
>  threeDVarZonalMean.setEndLat(parameterValue);
> -                                       } else if
> (parameterName.equals("pres1")) {
> -                                               press1 = parameterValue;
> -                                       } else if
> (parameterName.equals("pres2")) {
> -                                               press2 = parameterValue;
> -                                       } else if
> (parameterName.equals("months")) {
> -                                               String[] months =
> parameterValue.split(",");
> -                                               for (int j = 0; j <
> months.length; j++) {
> -                                                       if
> (months[j].equals("1")) {
> -
>  threeDVarZonalMean.addMonth("jan");
> -                                                       } else if
> (months[j].equals("2")) {
> -
>  threeDVarZonalMean.addMonth("feb");
> -                                                       } else if
> (months[j].equals("3")) {
> -
>  threeDVarZonalMean.addMonth("mar");
> -                                                       } else if
> (months[j].equals("4")) {
> -
>  threeDVarZonalMean.addMonth("apr");
> -                                                       } else if
> (months[j].equals("5")) {
> -
>  threeDVarZonalMean.addMonth("may");
> -                                                       } else if
> (months[j].equals("6")) {
> -
>  threeDVarZonalMean.addMonth("jun");
> -                                                       } else if
> (months[j].equals("7")) {
> -
>  threeDVarZonalMean.addMonth("jul");
> -                                                       } else if
> (months[j].equals("8")) {
> -
>  threeDVarZonalMean.addMonth("aug");
> -                                                       } else if
> (months[j].equals("9")) {
> -
>  threeDVarZonalMean.addMonth("sep");
> -                                                       } else if
> (months[j].equals("10")) {
> -
>  threeDVarZonalMean.addMonth("oct");
> -                                                       } else if
> (months[j].equals("11")) {
> -
>  threeDVarZonalMean.addMonth("nov");
> -                                                       } else if
> (months[j].equals("12")) {
> -
>  threeDVarZonalMean.addMonth("dec");
> -                                                       }
> -                                               }
> -                                       } else if
> (parameterName.equals("scale")) {
> -                                               if
> (parameterValue.equals("2")) {
> -
>  threeDVarZonalMean.setPressureScale("2");
> -
>  threeDVarZonalMean.setColorScale("0");
> -                                               } else if
> (parameterValue.equals("0")) {
> -
>  threeDVarZonalMean.setPressureScale("0");
> -
>  threeDVarZonalMean.setColorScale("0");
> -                                               } else if
> (parameterValue.equals("4")) {
> -
>  threeDVarZonalMean.setPressureScale("0");
> -
>  threeDVarZonalMean.setColorScale("4");
> -                                               } else if
> (parameterValue.equals("6")) {
> -
>  threeDVarZonalMean.setPressureScale("2");
> -
>  threeDVarZonalMean.setColorScale("4");
> -                                               }
> -                                       }
> -                               }
> -                               if (!press1.isEmpty() & !press2.isEmpty())
> -
>  threeDVarZonalMean.setPressureRange("" + (Integer.parseInt(press1) / 
> 100)
> + "," + (Integer.parseInt(press2) / 100));
> -
>  
> threeDVarZonalMean.setExecutionPurpose(response.path("purpose").textVa
> lue());
> -
>  threeDVarZonalMean.setImage(response.path("plotUrl").textValue());
> -
>  threeDVarZonalMean.setDataURL(response.path("dataUrl").textValue());
> -                               return
> ok(views.html.climate.threeDVariableZonalMean.render(threeDVarZonalMean));
> -                       }else if
> (serviceName.equals("Scatter-and-Histogram-Plot-of-Two-Variables")){
>             //"19")){
> -
>  scatterHistogram.setPressureLevel1("N/A");
> -
>  scatterHistogram.setPressureLevel2("N/A");
> -                                       for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                               String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                               String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -                                               if
> (parameterName.equals("model1")) {
> -
>  scatterHistogram.setSource1(parameterValue);
> -
> -                                               } else if
> (parameterName.equals("model2")) {
> -
>  scatterHistogram.setSource2(parameterValue);
> -
> -                                               } else if
> (parameterName.equals("var1")) {
> -
>  scatterHistogram.setVaribaleName1(parameterValue);
> -
> -                                               } else if
> (parameterName.equals("var2")) {
> -
>  scatterHistogram.setVaribaleName2(parameterValue);
> -                                               } else if
> (parameterName.equals("startT")) {
> -
>  scatterHistogram.setStartYear(parameterValue);
> -                                               } else if
> (parameterName.equals("endT")) {
> -
>  scatterHistogram.setEndYear(parameterValue);
> -                                               } else if
> (parameterName.equals("lon1")) {
> -
>  scatterHistogram.setStartLon(parameterValue);
> -                                               } else if
> (parameterName.equals("lon2")) {
> -
>  scatterHistogram.setEndLon(parameterValue);
> -                                               } else if
> (parameterName.equals("lat1")) {
> -
>  scatterHistogram.setStartLat(parameterValue);
> -                                               } else if
> (parameterName.equals("lat2")) {
> -
>  scatterHistogram.setEndLat(parameterValue);
> -                                               } else if
> (parameterName.equals("nSample")) {
> -
>  scatterHistogram.setSamples(parameterValue);
> -                                               }
> -                                       }
> -
>  
> scatterHistogram.setExecutionPurpose(response.path("purpose").textValu
> e());
> -
>  scatterHistogram.setImage(response.path("plotUrl").textValue());
> -
>  scatterHistogram.setDataUrl(response.path("dataUrl").textValue());
> -                                       return
> ok(views.html.climate.scatterAndHistogramTwoVariable.render(scatterHistogram));
> -                       }else if
> (serviceName.equals("Difference-Plot-of-Two-Time-Averaged-Variables")){
>         //"20")){
> -
>  diffPlotTwoTimeAvg.setPressureLevel1("N/A");
> -
>  Console.println(diffPlotTwoTimeAvg.getPressureLevel1());
> -
>  diffPlotTwoTimeAvg.setPressureLevel2("N/A");
> -                                       for (int i = 0; i < response



Re: [43/49] incubator-cmda git commit: remove all

Posted by James Carman <ja...@carmanconsulting.com>.
Can we turn these notifications off?

On Tue, Sep 8, 2015 at 6:44 PM <xi...@apache.org> wrote:

>
> http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/controllers/ClimateServiceController.java
> ----------------------------------------------------------------------
> diff --git a/app/controllers/ClimateServiceController.java
> b/app/controllers/ClimateServiceController.java
> deleted file mode 100644
> index 2c6aa1c..0000000
> --- a/app/controllers/ClimateServiceController.java
> +++ /dev/null
> @@ -1,931 +0,0 @@
> -/*
> - * Licensed to the Apache Software Foundation (ASF) under one or more
> - * contributor license agreements.  See the NOTICE file distributed with
> - * this work for additional information regarding copyright ownership.
> - * The ASF licenses this file to You under the Apache License, Version 2.0
> - * (the "License"); you may not use this file except in compliance with
> - * the License.  You may obtain a copy of the License at
> - *
> - *    http://www.apache.org/licenses/LICENSE-2.0
> - *
> - * Unless required by applicable law or agreed to in writing, software
> - * distributed under the License is distributed on an "AS IS" BASIS,
> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> - * See the License for the specific language governing permissions and
> - * limitations under the License.
> - */
> -
> -package controllers;
> -
> -import com.fasterxml.jackson.databind.JsonNode;
> -import com.fasterxml.jackson.databind.node.ObjectNode;
> -import models.metadata.ClimateService;
> -import models.metadata.DiffPlotTwoTimeAveragedVar;
> -import models.metadata.RegridAndDownload;
> -import models.metadata.TwoDVarZonalMean;
> -import models.metadata.TwoDVarMap;
> -import models.metadata.TwoDVarTimeSeries;
> -import models.metadata.ThreeDVarZonalMean;
> -import models.metadata.ThreeDVar2DSlice;
> -import models.metadata.ThreeDVarAvgVertical4Profile;
> -import models.metadata.ScatterHistogramTwoVar;
> -import models.metadata.ConditionalSampling;
> -import models.metadata.ServiceLog;
> -import models.metadata.CorrelationMap;
> -import models.metadata.ConditionalSampling2Var;
> -import play.Logger;
> -import play.data.Form;
> -import play.libs.Json;
> -import play.mvc.Controller;
> -import play.mvc.Result;
> -import scala.Console;
> -import util.APICall;
> -import util.APICall.ResponseType;
> -import util.Constants;
> -import views.html.climate.*;
> -import play.data.DynamicForm;
> -import java.io.File;
> -import java.io.IOException;
> -import java.io.UnsupportedEncodingException;
> -import java.text.DateFormat;
> -import java.text.SimpleDateFormat;
> -import java.util.Date;
> -import java.util.List;
> -import com.fasterxml.jackson.databind.ObjectMapper;
> -
> -public class ClimateServiceController extends Controller {
> -
> -       final static Form<ClimateService> climateServiceForm = Form
> -                       .form(ClimateService.class);
> -
> -       public static Result home(String email, String vfile, String
> dataset) {
> -               return ok(home.render(email, vfile, dataset));
> -       }
> -
> -       public static Result addClimateServices() {
> -               return ok(addClimateServices.render(climateServiceForm));
> -       }
> -
> -       public static Result tutorial() {
> -               return ok(tutorial.render());
> -       }
> -
> -       public static Result climateServices() {
> -               return ok(climateServices.render(ClimateService.all(),
> -                               climateServiceForm));
> -       }
> -
> -       public static Result mostRecentlyAddedClimateServices() {
> -               return
> ok(mostRecentlyAddedServices.render(ClimateService.getMostRecentlyAdded(),
> -                               climateServiceForm));
> -       }
> -
> -       public static Result mostRecentlyUsedClimateServices() {
> -               return
> ok(mostRecentlyUsedServices.render(ClimateService.getMostRecentlyUsed(),
> -                               climateServiceForm));
> -       }
> -
> -       public static Result mostPopularClimateServices() {
> -               return
> ok(mostPopularServices.render(ClimateService.getMostPopular(),
> -                               climateServiceForm));
> -       }
> -
> -       public static Result newClimateService() {
> -               Form<ClimateService> dc =
> climateServiceForm.bindFromRequest();
> -               ObjectNode jsonData = Json.newObject();
> -               try {
> -
> -                       String originalClimateServiceName =
> dc.field("Name").value();
> -                       String newClimateServiceName =
> originalClimateServiceName.replace(' ', '-');
> -
> -                       if (newClimateServiceName != null &&
> !newClimateServiceName.isEmpty()) {
> -                               jsonData.put("name",
> newClimateServiceName);
> -                       }
> -
> -                       jsonData.put("creatorId", 1);
> -                       jsonData.put("purpose",
> dc.field("Purpose").value());
> -                       jsonData.put("url", dc.field("Url").value());
> -                       DateFormat dateFormat = new
> SimpleDateFormat("yyyy/MM/dd HH:mm");
> -                       Date date = new Date();
> -                       jsonData.put("createTime",
> dateFormat.format(date));
> -                       jsonData.put("scenario",
> dc.field("Scenario").value());
> -                       jsonData.put("versionNo",
> dc.field("Version").value());
> -                       jsonData.put("rootServiceId",
> dc.field("Root_Service").value());
> -                       JsonNode response =
> ClimateService.create(jsonData);
> -                       Application.flashMsg(response);
> -               } catch (IllegalStateException e) {
> -                       e.printStackTrace();
> -                       Application.flashMsg(APICall
> -
>  .createResponse(ResponseType.CONVERSIONERROR));
> -               } catch (Exception e) {
> -                       e.printStackTrace();
> -
>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
> -               }
> -               return redirect("/climate/climateServices");
> -       }
> -
> -       public static Result editClimateService() {
> -
> -               ObjectNode jsonData = Json.newObject();
> -               try {
> -                       DynamicForm df =
> DynamicForm.form().bindFromRequest();
> -                       String climateServiceName = df.field("pk").value();
> -
> -                       if (climateServiceName != null &&
> !climateServiceName.isEmpty()) {
> -                               jsonData.put("name", climateServiceName);
> -                       }
> -                       ClimateService originalService =
> ClimateService.findServiceByName(climateServiceName);
> -
> -                       if (originalService == null) {
> -
>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
> -                               return notFound("not found original
> climateService " + climateServiceName);
> -                       }
> -
> -                       jsonData.put("creatorId", 1);
> -                       jsonData.put("purpose",
> originalService.getPurpose());
> -                       jsonData.put("url", originalService.getUrl());
> -                       jsonData.put("scenario",
> originalService.getScenario());
> -                       jsonData.put("versionNo",
> originalService.getVersion());
> -
> -                       if (originalService.getRootservice() != null)
> -
> -                               jsonData.put("rootServiceId",
> originalService.getRootservice());
> -                       String editField = df.field("name").value();
> -
> -                       if (editField != null && !editField.isEmpty()) {
> -                               jsonData.put(editField,
> df.field("value").value());
> -                       }
> -
> -                       if (editField == null || editField.isEmpty()) {
> -
>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
> -                               return notFound("not found edit field");
> -                       }
> -
> -                       JsonNode response =
> ClimateService.edit(climateServiceName, jsonData);
> -                       Application.flashMsg(response);
> -
> -               } catch (IllegalStateException e) {
> -                       e.printStackTrace();
> -                       Application.flashMsg(APICall
> -
>  .createResponse(ResponseType.CONVERSIONERROR));
> -               } catch (Exception e) {
> -                       e.printStackTrace();
> -
>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
> -               }
> -               return ok("updated");
> -
> -       }
> -
> -       public static Result getConfigurationByConfId() {
> -               String output = "";
> -               TwoDVarMap twoDVarMap = new TwoDVarMap();
> -               TwoDVarZonalMean twoDVarZonalMean = new TwoDVarZonalMean();
> -               ScatterHistogramTwoVar scatterHistogram = new
> ScatterHistogramTwoVar();
> -               ThreeDVarAvgVertical4Profile threeDVarAvgVertical = new
> ThreeDVarAvgVertical4Profile();
> -               DiffPlotTwoTimeAveragedVar diffPlotTwoTimeAvg = new
> DiffPlotTwoTimeAveragedVar();
> -               ThreeDVar2DSlice threeDVar2DSlice = new ThreeDVar2DSlice();
> -               TwoDVarTimeSeries twoDVarTimeSeries = new
> TwoDVarTimeSeries();
> -               ThreeDVarZonalMean threeDVarZonalMean = new
> ThreeDVarZonalMean();
> -               ConditionalSampling conditionalSampling = new
> ConditionalSampling();
> -               RegridAndDownload regridAndDownload = new
> RegridAndDownload();
> -               CorrelationMap correlationMap = new CorrelationMap();
> -               ConditionalSampling2Var conditionalSampling2Var = new
> ConditionalSampling2Var();
> -
> -               try {
> -                       DynamicForm df =
> DynamicForm.form().bindFromRequest();
> -                       String logId = df.field("logId").value();
> -
> -                       if (logId == null || logId.isEmpty()) {
> -
>  Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
> -                               return notFound("confId is null or empty");
> -                       }
> -
> -                       JsonNode response =
> APICall.callAPI(Constants.NEW_BACKEND + Constants.SERVICE_EXECUTION_LOG +
> Constants.SERVICE_EXECUTION_LOG_GET + logId);
> -                       int configurationId =
> response.path("serviceConfiguration").path("id").asInt();
> -                       JsonNode responseConfigItems =
> APICall.callAPI(Constants.NEW_BACKEND + Constants.CONFIG_ITEM +
> Constants.GET_CONFIG_ITEMS_BY_CONFIG + configurationId);
> -                       String serviceName =
> response.path("climateService").path("name").asText();
> -                       //TODO:
> -                       if (serviceName.equals("2-D-Variable-Zonal-Mean"))
> {
> -                               //TODO: DO NOT USE
> node.findPath(key)!!!!!  use find(key) instead to get your immediate
> children if you know the json structure (and we do).
> -                               //TODO: (con't) findPath returns the first
> occurence of a key string, including GRANDCHILDREN
> -                               for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                       String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                       String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -
> -                                       if (parameterName.equals("data
> source")) {
> -
>  twoDVarZonalMean.setDataSource(parameterValue);
> -                                       } else if
> (parameterName.equals("variable name")) {
> -
>  twoDVarZonalMean.setVariableName(parameterValue);
> -                                       } else if
> (parameterName.equals("start year-month")) {
> -
>  twoDVarZonalMean.setStartYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("end year-month")) {
> -
>  twoDVarZonalMean.setEndYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("select months")) {
> -                                               String[] months =
> parameterValue.split(",");
> -                                               for (int j = 0; j <
> months.length; j++) {
> -                                                       if
> (months[j].equals("1")) {
> -
>  twoDVarZonalMean.addMonth("jan");
> -                                                       } else if
> (months[j].equals("2")) {
> -
>  twoDVarZonalMean.addMonth("feb");
> -                                                       } else if
> (months[j].equals("3")) {
> -
>  twoDVarZonalMean.addMonth("mar");
> -                                                       } else if
> (months[j].equals("4")) {
> -
>  twoDVarZonalMean.addMonth("apr");
> -                                                       } else if
> (months[j].equals("5")) {
> -
>  twoDVarZonalMean.addMonth("may");
> -                                                       } else if
> (months[j].equals("6")) {
> -
>  twoDVarZonalMean.addMonth("jun");
> -                                                       } else if
> (months[j].equals("7")) {
> -
>  twoDVarZonalMean.addMonth("jul");
> -                                                       } else if
> (months[j].equals("8")) {
> -
>  twoDVarZonalMean.addMonth("aug");
> -                                                       } else if
> (months[j].equals("9")) {
> -
>  twoDVarZonalMean.addMonth("sep");
> -                                                       } else if
> (months[j].equals("10")) {
> -
>  twoDVarZonalMean.addMonth("oct");
> -                                                       } else if
> (months[j].equals("11")) {
> -
>  twoDVarZonalMean.addMonth("nov");
> -                                                       } else if
> (months[j].equals("12")) {
> -
>  twoDVarZonalMean.addMonth("dec");
> -                                                       }
> -                                               }
> -
>  twoDVarZonalMean.changeSelectMonths();
> -                                       } else if
> (parameterName.equals("start lat (deg)")) {
> -
>  twoDVarZonalMean.setStartLat(parameterValue);
> -                                       } else if
> (parameterName.equals("end lat (deg)")) {
> -
>  twoDVarZonalMean.setEndLat(parameterValue);
> -                                       } else if
> (parameterName.equals("variable scale")) {
> -
>  twoDVarZonalMean.setVariableScale(parameterValue);
> -                                       }
> -                               }
> -
>  twoDVarZonalMean.setExecutionPurpose(response.path("purpose").textValue());
> -
>  twoDVarZonalMean.setImage(response.path("plotUrl").textValue());
> -
>  twoDVarZonalMean.setDataURL(response.path("dataUrl").textValue());
> -                               return
> ok(views.html.climate.twoDVariableZonelMean.render(twoDVarZonalMean));
> -                       }
> -                       else if (serviceName.equals("2-D-Variable-Map")) {
> -                               for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                       String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                       String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -                                       if (parameterName.equals("model"))
> {
> -
>  twoDVarMap.setDataSource(parameterValue);
> -                                       } else if
> (parameterName.equals("var")) {
> -
>  twoDVarMap.setVariableName(parameterValue);
> -                                       } else if
> (parameterName.equals("startT")) {
> -
>  twoDVarMap.setStartYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("endT")) {
> -
>  twoDVarMap.setEndYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("months")) {
> -                                               String[] months =
> parameterValue.split(",");
> -                                               for (int j = 0; j <
> months.length; j++) {
> -                                                       if
> (months[j].equals("1")) {
> -
>  twoDVarMap.addMonth("jan");
> -                                                       } else if
> (months[j].equals("2")) {
> -
>  twoDVarMap.addMonth("feb");
> -                                                       } else if
> (months[j].equals("3")) {
> -
>  twoDVarMap.addMonth("mar");
> -                                                       } else if
> (months[j].equals("4")) {
> -
>  twoDVarMap.addMonth("apr");
> -                                                       } else if
> (months[j].equals("5")) {
> -
>  twoDVarMap.addMonth("may");
> -                                                       } else if
> (months[j].equals("6")) {
> -
>  twoDVarMap.addMonth("jun");
> -                                                       } else if
> (months[j].equals("7")) {
> -
>  twoDVarMap.addMonth("jul");
> -                                                       } else if
> (months[j].equals("8")) {
> -
>  twoDVarMap.addMonth("aug");
> -                                                       } else if
> (months[j].equals("9")) {
> -
>  twoDVarMap.addMonth("sep");
> -                                                       } else if
> (months[j].equals("10")) {
> -
>  twoDVarMap.addMonth("oct");
> -                                                       } else if
> (months[j].equals("11")) {
> -
>  twoDVarMap.addMonth("nov");
> -                                                       } else if
> (months[j].equals("12")) {
> -
>  twoDVarMap.addMonth("dec");
> -                                                       }
> -                                               }
> -
>  twoDVarMap.changeSelectMonths();
> -                                       } else if
> (parameterName.equals("lat1")) {
> -
>  twoDVarMap.setStartLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lat2")) {
> -
>  twoDVarMap.setEndLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lon1")) {
> -
>  twoDVarMap.setStartLon(parameterValue);
> -                                       } else if
> (parameterName.equals("lon2")) {
> -
>  twoDVarMap.setEndLon(parameterValue);
> -                                       } else if
> (parameterName.equals("scale")) {
> -
>  twoDVarMap.setVariableScale(parameterValue);
> -                                               }
> -                               }
> -
>  twoDVarMap.setExecutionPurpose(response.path("purpose").textValue());
> -
>  twoDVarMap.setImage(response.path("plotUrl").textValue());
> -
>  twoDVarMap.setDataURL(response.path("dataUrl").textValue());
> -                               return
> ok(views.html.climate.twoDVariableMap.render(twoDVarMap));
> -                       }
> -                       else if
> (serviceName.equals("Conditional-Sampling-with-One-Variable")){
> -                               for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                       String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                       String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -                                       if
> (parameterName.equals("model2")) {
> -
>  conditionalSampling.setDataSourceE(parameterValue);
> -                                       } else if
> (parameterName.equals("model1")) {
> -
>  conditionalSampling.setDataSourceP(parameterValue);
> -                                       } else if
> (parameterName.equals("var2")) {
> -
>  conditionalSampling.setVariableNameE(parameterValue);
> -                                       } else if
> (parameterName.equals("var1")) {
> -
>  conditionalSampling.setVariableNameP(parameterValue);
> -                                       } else if
> (parameterName.equals("pre1")) {
> -
>  conditionalSampling.setPressureRangeP(parameterValue);
> -                                       } else if
> (parameterName.equals("pre2")) {
> -
>  conditionalSampling.setPressureRangeE(parameterValue);
> -                                       } else if
> (parameterName.equals("startT")) {
> -
>  conditionalSampling.setStartYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("endT")) {
> -
>  conditionalSampling.setEndYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("lon1")) {
> -
>  conditionalSampling.setStartLon(parameterValue);
> -                                       } else if
> (parameterName.equals("lon2")) {
> -
>  conditionalSampling.setEndLon(parameterValue);
> -                                       } else if
> (parameterName.equals("lat1")) {
> -
>  conditionalSampling.setStartLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lat2")) {
> -
>  conditionalSampling.setEndLat(parameterValue);
> -                                       } else if
> (parameterName.equals("months")) {
> -                                               String[] months =
> parameterValue.split(",");
> -                                               for (int j = 0; j <
> months.length; j++) {
> -                                                       if
> (months[j].equals("1")) {
> -
>  conditionalSampling.addMonth("jan");
> -                                                       } else if
> (months[j].equals("2")) {
> -
>  conditionalSampling.addMonth("feb");
> -                                                       } else if
> (months[j].equals("3")) {
> -
>  conditionalSampling.addMonth("mar");
> -                                                       } else if
> (months[j].equals("4")) {
> -
>  conditionalSampling.addMonth("apr");
> -                                                       } else if
> (months[j].equals("5")) {
> -
>  conditionalSampling.addMonth("may");
> -                                                       } else if
> (months[j].equals("6")) {
> -
>  conditionalSampling.addMonth("jun");
> -                                                       } else if
> (months[j].equals("7")) {
> -
>  conditionalSampling.addMonth("jul");
> -                                                       } else if
> (months[j].equals("8")) {
> -
>  conditionalSampling.addMonth("aug");
> -                                                       } else if
> (months[j].equals("9")) {
> -
>  conditionalSampling.addMonth("sep");
> -                                                       } else if
> (months[j].equals("10")) {
> -
>  conditionalSampling.addMonth("oct");
> -                                                       } else if
> (months[j].equals("11")) {
> -
>  conditionalSampling.addMonth("nov");
> -                                                       } else if
> (months[j].equals("12")) {
> -
>  conditionalSampling.addMonth("dec");
> -                                                       }
> -
> -                                               }
> -
>  conditionalSampling.changeSelectMonths();
> -                                       } else if
> (parameterName.equals("bin_min")) {
> -
>  conditionalSampling.setBin_min(parameterValue);
> -                                       } else if
> (parameterName.equals("bin_max")) {
> -
>  conditionalSampling.setBin_max(parameterValue);
> -                                       } else if
> (parameterName.equals("bin_n")) {
> -
>  conditionalSampling.setBin_n(parameterValue);
> -                                       } else if
> (parameterName.equals("displayOpt")) {
> -                                               int
> paramBit=Integer.parseInt(parameterValue);
> -                                               int bitmaskX = 0x1;
> -                                               int bitmaskY = 0x2;
> -                                               int bitmaskZ = 0x4;
> -
>  conditionalSampling.setX(Integer.toString(paramBit & bitmaskX, 2));
> -
>  conditionalSampling.setY(Integer.toString((paramBit & bitmaskY)>>1, 2));
> -
>  conditionalSampling.setZ(Integer.toString((paramBit & bitmaskZ)>>2, 2));
> -                                       }
> -                               }
> -
>  conditionalSampling.setExecutionPurpose(response.path("purpose").textValue());
> -
>  conditionalSampling.setImage(response.path("plotUrl").textValue());
> -
>  conditionalSampling.setDataURL(response.path("dataUrl").textValue());
> -                               return
> ok(views.html.climate.conditionalSampling.render(conditionalSampling));
> -                       }else if
> (serviceName.equals("2-D-Variable-Time-Series")){
> -                               for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                       String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                       String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -                                       if (parameterName.equals("model"))
> {
> -
>  twoDVarTimeSeries.setDataSource(parameterValue);
> -                                       } else if
> (parameterName.equals("var")) {
> -
>  twoDVarTimeSeries.setVariableName(parameterValue);
> -                                       } else if
> (parameterName.equals("startT")) {
> -
>  twoDVarTimeSeries.setStartYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("endT")) {
> -
>  twoDVarTimeSeries.setEndYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("lat1")) {
> -
>  twoDVarTimeSeries.setStartLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lat2")) {
> -
>  twoDVarTimeSeries.setEndLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lon1")) {
> -
>  twoDVarTimeSeries.setStartLon(parameterValue);
> -                                       } else if
> (parameterName.equals("lon2")) {
> -
>  twoDVarTimeSeries.setEndLon(parameterValue);
> -                                       } else if
> (parameterName.equals("scale")) {
> -
>  twoDVarTimeSeries.setVariableScale(parameterValue);
> -                                       }
> -                               }
> -
>  twoDVarTimeSeries.setExecutionPurpose(response.path("purpose").textValue());
> -
>  twoDVarTimeSeries.setImage(response.path("plotUrl").textValue());
> -
>  twoDVarTimeSeries.setDataURL(response.path("dataUrl").textValue());
> -                               return
> ok(views.html.climate.twoDVariableTimeSeries.render(twoDVarTimeSeries));
> -                       }else if
> (serviceName.equals("Regrid-and-Download")){
> -                               for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                       String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                       String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -                                       if (parameterName.equals("model"))
> {
> -
>  regridAndDownload.setDataSource(parameterValue);
> -                                       } else if
> (parameterName.equals("var")) {
> -
>  regridAndDownload.setVariableName(parameterValue);
> -                                       } else if
> (parameterName.equals("startT")) {
> -
>  regridAndDownload.setStartYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("endT")) {
> -
>  regridAndDownload.setEndYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("lat1")) {
> -
>  regridAndDownload.setStartLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lat2")) {
> -
>  regridAndDownload.setEndLat(parameterValue);
> -                                       } else if
> (parameterName.equals("dlat")) {
> -
>  regridAndDownload.setDeltaLat(parameterValue);
> -                                       } else if
> (parameterName.equals("dlon")) {
> -
>  regridAndDownload.setDeltaLon(parameterValue);
> -                                       } else if
> (parameterName.equals("lon1")) {
> -
>  regridAndDownload.setStartLon(parameterValue);
> -                                       } else if
> (parameterName.equals("lon2")) {
> -
>  regridAndDownload.setEndLon(parameterValue);
> -                                       } else if
> (parameterName.equals("plev")) {
> -
>  regridAndDownload.setPressureLevel(parameterValue);
> -                                       }
> -                               }
> -
>  regridAndDownload.setExecutionPurpose(response.path("purpose").textValue());
> -
> -
>  regridAndDownload.setDataURL(response.path("dataUrl").textValue());
> -                               return
> ok(views.html.climate.regridAndDownload.render(regridAndDownload));
> -                       }else if
> (serviceName.equals("3-D-Variable-Zonal-Mean")){
> -                               String press1 = "";
> -                               String press2 = "";
> -                               for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                       String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                       String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -                                       if (parameterName.equals("model"))
> {
> -
>  threeDVarZonalMean.setDataSource(parameterValue);
> -                                       } else if
> (parameterName.equals("var")) {
> -
>  threeDVarZonalMean.setVariableName(parameterValue);
> -                                       } else if
> (parameterName.equals("startT")) {
> -
>  threeDVarZonalMean.setStartYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("endT")) {
> -
>  threeDVarZonalMean.setEndYearMonth(parameterValue);
> -                                       } else if
> (parameterName.equals("lat1")) {
> -
>  threeDVarZonalMean.setStartLat(parameterValue);
> -                                       } else if
> (parameterName.equals("lat2")) {
> -
>  threeDVarZonalMean.setEndLat(parameterValue);
> -                                       } else if
> (parameterName.equals("pres1")) {
> -                                               press1 = parameterValue;
> -                                       } else if
> (parameterName.equals("pres2")) {
> -                                               press2 = parameterValue;
> -                                       } else if
> (parameterName.equals("months")) {
> -                                               String[] months =
> parameterValue.split(",");
> -                                               for (int j = 0; j <
> months.length; j++) {
> -                                                       if
> (months[j].equals("1")) {
> -
>  threeDVarZonalMean.addMonth("jan");
> -                                                       } else if
> (months[j].equals("2")) {
> -
>  threeDVarZonalMean.addMonth("feb");
> -                                                       } else if
> (months[j].equals("3")) {
> -
>  threeDVarZonalMean.addMonth("mar");
> -                                                       } else if
> (months[j].equals("4")) {
> -
>  threeDVarZonalMean.addMonth("apr");
> -                                                       } else if
> (months[j].equals("5")) {
> -
>  threeDVarZonalMean.addMonth("may");
> -                                                       } else if
> (months[j].equals("6")) {
> -
>  threeDVarZonalMean.addMonth("jun");
> -                                                       } else if
> (months[j].equals("7")) {
> -
>  threeDVarZonalMean.addMonth("jul");
> -                                                       } else if
> (months[j].equals("8")) {
> -
>  threeDVarZonalMean.addMonth("aug");
> -                                                       } else if
> (months[j].equals("9")) {
> -
>  threeDVarZonalMean.addMonth("sep");
> -                                                       } else if
> (months[j].equals("10")) {
> -
>  threeDVarZonalMean.addMonth("oct");
> -                                                       } else if
> (months[j].equals("11")) {
> -
>  threeDVarZonalMean.addMonth("nov");
> -                                                       } else if
> (months[j].equals("12")) {
> -
>  threeDVarZonalMean.addMonth("dec");
> -                                                       }
> -                                               }
> -                                       } else if
> (parameterName.equals("scale")) {
> -                                               if
> (parameterValue.equals("2")) {
> -
>  threeDVarZonalMean.setPressureScale("2");
> -
>  threeDVarZonalMean.setColorScale("0");
> -                                               } else if
> (parameterValue.equals("0")) {
> -
>  threeDVarZonalMean.setPressureScale("0");
> -
>  threeDVarZonalMean.setColorScale("0");
> -                                               } else if
> (parameterValue.equals("4")) {
> -
>  threeDVarZonalMean.setPressureScale("0");
> -
>  threeDVarZonalMean.setColorScale("4");
> -                                               } else if
> (parameterValue.equals("6")) {
> -
>  threeDVarZonalMean.setPressureScale("2");
> -
>  threeDVarZonalMean.setColorScale("4");
> -                                               }
> -                                       }
> -                               }
> -                               if (!press1.isEmpty() & !press2.isEmpty())
> -
>  threeDVarZonalMean.setPressureRange("" + (Integer.parseInt(press1) / 100)
> + "," + (Integer.parseInt(press2) / 100));
> -
>  threeDVarZonalMean.setExecutionPurpose(response.path("purpose").textValue());
> -
>  threeDVarZonalMean.setImage(response.path("plotUrl").textValue());
> -
>  threeDVarZonalMean.setDataURL(response.path("dataUrl").textValue());
> -                               return
> ok(views.html.climate.threeDVariableZonalMean.render(threeDVarZonalMean));
> -                       }else if
> (serviceName.equals("Scatter-and-Histogram-Plot-of-Two-Variables")){
>             //"19")){
> -
>  scatterHistogram.setPressureLevel1("N/A");
> -
>  scatterHistogram.setPressureLevel2("N/A");
> -                                       for (int i = 0; i <
> responseConfigItems.size(); i++) {
> -                                               String parameterName =
> responseConfigItems.get(i).path("parameter").path("purpose").textValue();
> -                                               String parameterValue =
> responseConfigItems.get(i).path("value").textValue();
> -                                               if
> (parameterName.equals("model1")) {
> -
>  scatterHistogram.setSource1(parameterValue);
> -
> -                                               } else if
> (parameterName.equals("model2")) {
> -
>  scatterHistogram.setSource2(parameterValue);
> -
> -                                               } else if
> (parameterName.equals("var1")) {
> -
>  scatterHistogram.setVaribaleName1(parameterValue);
> -
> -                                               } else if
> (parameterName.equals("var2")) {
> -
>  scatterHistogram.setVaribaleName2(parameterValue);
> -                                               } else if
> (parameterName.equals("startT")) {
> -
>  scatterHistogram.setStartYear(parameterValue);
> -                                               } else if
> (parameterName.equals("endT")) {
> -
>  scatterHistogram.setEndYear(parameterValue);
> -                                               } else if
> (parameterName.equals("lon1")) {
> -
>  scatterHistogram.setStartLon(parameterValue);
> -                                               } else if
> (parameterName.equals("lon2")) {
> -
>  scatterHistogram.setEndLon(parameterValue);
> -                                               } else if
> (parameterName.equals("lat1")) {
> -
>  scatterHistogram.setStartLat(parameterValue);
> -                                               } else if
> (parameterName.equals("lat2")) {
> -
>  scatterHistogram.setEndLat(parameterValue);
> -                                               } else if
> (parameterName.equals("nSample")) {
> -
>  scatterHistogram.setSamples(parameterValue);
> -                                               }
> -                                       }
> -
>  scatterHistogram.setExecutionPurpose(response.path("purpose").textValue());
> -
>  scatterHistogram.setImage(response.path("plotUrl").textValue());
> -
>  scatterHistogram.setDataUrl(response.path("dataUrl").textValue());
> -                                       return
> ok(views.html.climate.scatterAndHistogramTwoVariable.render(scatterHistogram));
> -                       }else if
> (serviceName.equals("Difference-Plot-of-Two-Time-Averaged-Variables")){
>         //"20")){
> -
>  diffPlotTwoTimeAvg.setPressureLevel1("N/A");
> -
>  Console.println(diffPlotTwoTimeAvg.getPressureLevel1());
> -
>  diffPlotTwoTimeAvg.setPressureLevel2("N/A");
> -                                       for (int i = 0; i < response

[43/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/controllers/ClimateServiceController.java
----------------------------------------------------------------------
diff --git a/app/controllers/ClimateServiceController.java b/app/controllers/ClimateServiceController.java
deleted file mode 100644
index 2c6aa1c..0000000
--- a/app/controllers/ClimateServiceController.java
+++ /dev/null
@@ -1,931 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package controllers;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import models.metadata.ClimateService;
-import models.metadata.DiffPlotTwoTimeAveragedVar;
-import models.metadata.RegridAndDownload;
-import models.metadata.TwoDVarZonalMean;
-import models.metadata.TwoDVarMap;
-import models.metadata.TwoDVarTimeSeries;
-import models.metadata.ThreeDVarZonalMean;
-import models.metadata.ThreeDVar2DSlice;
-import models.metadata.ThreeDVarAvgVertical4Profile;
-import models.metadata.ScatterHistogramTwoVar;
-import models.metadata.ConditionalSampling;
-import models.metadata.ServiceLog;
-import models.metadata.CorrelationMap;
-import models.metadata.ConditionalSampling2Var;
-import play.Logger;
-import play.data.Form;
-import play.libs.Json;
-import play.mvc.Controller;
-import play.mvc.Result;
-import scala.Console;
-import util.APICall;
-import util.APICall.ResponseType;
-import util.Constants;
-import views.html.climate.*;
-import play.data.DynamicForm;
-import java.io.File;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class ClimateServiceController extends Controller {
-
-	final static Form<ClimateService> climateServiceForm = Form
-			.form(ClimateService.class);
-
-	public static Result home(String email, String vfile, String dataset) {
-		return ok(home.render(email, vfile, dataset));
-	}
-
-	public static Result addClimateServices() {
-		return ok(addClimateServices.render(climateServiceForm));
-	}
-
-	public static Result tutorial() {
-		return ok(tutorial.render());
-	}
-
-	public static Result climateServices() {
-		return ok(climateServices.render(ClimateService.all(),
-				climateServiceForm));
-	}
-	
-	public static Result mostRecentlyAddedClimateServices() {
-		return ok(mostRecentlyAddedServices.render(ClimateService.getMostRecentlyAdded(),
-				climateServiceForm));
-	}
-	
-	public static Result mostRecentlyUsedClimateServices() {
-		return ok(mostRecentlyUsedServices.render(ClimateService.getMostRecentlyUsed(),
-				climateServiceForm));
-	}
-	
-	public static Result mostPopularClimateServices() {
-		return ok(mostPopularServices.render(ClimateService.getMostPopular(),
-				climateServiceForm));
-	}
-
-	public static Result newClimateService() {
-		Form<ClimateService> dc = climateServiceForm.bindFromRequest();
-		ObjectNode jsonData = Json.newObject();
-		try {
-
-			String originalClimateServiceName = dc.field("Name").value();
-			String newClimateServiceName = originalClimateServiceName.replace(' ', '-');
-
-			if (newClimateServiceName != null && !newClimateServiceName.isEmpty()) {
-				jsonData.put("name", newClimateServiceName);
-			}
-			
-			jsonData.put("creatorId", 1);
-			jsonData.put("purpose", dc.field("Purpose").value());
-			jsonData.put("url", dc.field("Url").value());
-			DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm");
-			Date date = new Date();
-			jsonData.put("createTime", dateFormat.format(date));
-			jsonData.put("scenario", dc.field("Scenario").value());
-			jsonData.put("versionNo", dc.field("Version").value());
-			jsonData.put("rootServiceId", dc.field("Root_Service").value());
-			JsonNode response = ClimateService.create(jsonData);
-			Application.flashMsg(response);
-		} catch (IllegalStateException e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall
-					.createResponse(ResponseType.CONVERSIONERROR));
-		} catch (Exception e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-		}
-		return redirect("/climate/climateServices");
-	}
-
-	public static Result editClimateService() {
-
-		ObjectNode jsonData = Json.newObject();
-		try {
-			DynamicForm df = DynamicForm.form().bindFromRequest();
-			String climateServiceName = df.field("pk").value();
-
-			if (climateServiceName != null && !climateServiceName.isEmpty()) {
-				jsonData.put("name", climateServiceName);
-			}
-			ClimateService originalService = ClimateService.findServiceByName(climateServiceName);
-			
-			if (originalService == null) {
-				Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-				return notFound("not found original climateService " + climateServiceName);
-			}
-
-			jsonData.put("creatorId", 1);
-			jsonData.put("purpose", originalService.getPurpose());
-			jsonData.put("url", originalService.getUrl());
-			jsonData.put("scenario", originalService.getScenario());
-			jsonData.put("versionNo", originalService.getVersion());
-			
-			if (originalService.getRootservice() != null)
-				
-				jsonData.put("rootServiceId", originalService.getRootservice());
-			String editField = df.field("name").value();
-			
-			if (editField != null && !editField.isEmpty()) {
-				jsonData.put(editField, df.field("value").value());
-			}
-			
-			if (editField == null || editField.isEmpty()) {
-				Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-				return notFound("not found edit field");
-			}
-
-			JsonNode response = ClimateService.edit(climateServiceName, jsonData);
-			Application.flashMsg(response);
-
-		} catch (IllegalStateException e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall
-					.createResponse(ResponseType.CONVERSIONERROR));
-		} catch (Exception e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-		}
-		return ok("updated");
-
-	}
-
-	public static Result getConfigurationByConfId() {
-		String output = "";
-		TwoDVarMap twoDVarMap = new TwoDVarMap();
-		TwoDVarZonalMean twoDVarZonalMean = new TwoDVarZonalMean();
-		ScatterHistogramTwoVar scatterHistogram = new ScatterHistogramTwoVar();
-		ThreeDVarAvgVertical4Profile threeDVarAvgVertical = new ThreeDVarAvgVertical4Profile();
-		DiffPlotTwoTimeAveragedVar diffPlotTwoTimeAvg = new DiffPlotTwoTimeAveragedVar();
-		ThreeDVar2DSlice threeDVar2DSlice = new ThreeDVar2DSlice();
-		TwoDVarTimeSeries twoDVarTimeSeries = new TwoDVarTimeSeries();
-		ThreeDVarZonalMean threeDVarZonalMean = new ThreeDVarZonalMean();
-		ConditionalSampling conditionalSampling = new ConditionalSampling();
-		RegridAndDownload regridAndDownload = new RegridAndDownload();
-		CorrelationMap correlationMap = new CorrelationMap();
-		ConditionalSampling2Var conditionalSampling2Var = new ConditionalSampling2Var();
-		
-		try {
-			DynamicForm df = DynamicForm.form().bindFromRequest();
-			String logId = df.field("logId").value();
-
-			if (logId == null || logId.isEmpty()) {
-				Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-				return notFound("confId is null or empty");
-			}
-
-			JsonNode response = APICall.callAPI(Constants.NEW_BACKEND + Constants.SERVICE_EXECUTION_LOG + Constants.SERVICE_EXECUTION_LOG_GET + logId);
-			int configurationId = response.path("serviceConfiguration").path("id").asInt();
-			JsonNode responseConfigItems = APICall.callAPI(Constants.NEW_BACKEND + Constants.CONFIG_ITEM + Constants.GET_CONFIG_ITEMS_BY_CONFIG + configurationId);
-			String serviceName = response.path("climateService").path("name").asText();
-			//TODO:
-			if (serviceName.equals("2-D-Variable-Zonal-Mean")) {
-				//TODO: DO NOT USE node.findPath(key)!!!!!  use find(key) instead to get your immediate children if you know the json structure (and we do).
-				//TODO: (con't) findPath returns the first occurence of a key string, including GRANDCHILDREN
-				for (int i = 0; i < responseConfigItems.size(); i++) {
-					String parameterName = responseConfigItems.get(i).path("parameter").path("purpose").textValue();
-					String parameterValue = responseConfigItems.get(i).path("value").textValue();
-
-					if (parameterName.equals("data source")) {
-						twoDVarZonalMean.setDataSource(parameterValue);
-					} else if (parameterName.equals("variable name")) {
-						twoDVarZonalMean.setVariableName(parameterValue);
-					} else if (parameterName.equals("start year-month")) {
-						twoDVarZonalMean.setStartYearMonth(parameterValue);
-					} else if (parameterName.equals("end year-month")) {
-						twoDVarZonalMean.setEndYearMonth(parameterValue);
-					} else if (parameterName.equals("select months")) {
-						String[] months = parameterValue.split(",");
-						for (int j = 0; j < months.length; j++) {
-							if (months[j].equals("1")) {
-								twoDVarZonalMean.addMonth("jan");
-							} else if (months[j].equals("2")) {
-								twoDVarZonalMean.addMonth("feb");
-							} else if (months[j].equals("3")) {
-								twoDVarZonalMean.addMonth("mar");
-							} else if (months[j].equals("4")) {
-								twoDVarZonalMean.addMonth("apr");
-							} else if (months[j].equals("5")) {
-								twoDVarZonalMean.addMonth("may");
-							} else if (months[j].equals("6")) {
-								twoDVarZonalMean.addMonth("jun");
-							} else if (months[j].equals("7")) {
-								twoDVarZonalMean.addMonth("jul");
-							} else if (months[j].equals("8")) {
-								twoDVarZonalMean.addMonth("aug");
-							} else if (months[j].equals("9")) {
-								twoDVarZonalMean.addMonth("sep");
-							} else if (months[j].equals("10")) {
-								twoDVarZonalMean.addMonth("oct");
-							} else if (months[j].equals("11")) {
-								twoDVarZonalMean.addMonth("nov");
-							} else if (months[j].equals("12")) {
-								twoDVarZonalMean.addMonth("dec");
-							}
-						}
-						twoDVarZonalMean.changeSelectMonths();
-					} else if (parameterName.equals("start lat (deg)")) {
-						twoDVarZonalMean.setStartLat(parameterValue);
-					} else if (parameterName.equals("end lat (deg)")) {
-						twoDVarZonalMean.setEndLat(parameterValue);
-					} else if (parameterName.equals("variable scale")) {
-						twoDVarZonalMean.setVariableScale(parameterValue);
-					}
-				}
-				twoDVarZonalMean.setExecutionPurpose(response.path("purpose").textValue());
-				twoDVarZonalMean.setImage(response.path("plotUrl").textValue());
-				twoDVarZonalMean.setDataURL(response.path("dataUrl").textValue());
-				return ok(views.html.climate.twoDVariableZonelMean.render(twoDVarZonalMean));
-			}
-			else if (serviceName.equals("2-D-Variable-Map")) {
-				for (int i = 0; i < responseConfigItems.size(); i++) {
-					String parameterName = responseConfigItems.get(i).path("parameter").path("purpose").textValue();
-					String parameterValue = responseConfigItems.get(i).path("value").textValue();
-					if (parameterName.equals("model")) {
-						twoDVarMap.setDataSource(parameterValue);
-					} else if (parameterName.equals("var")) {
-						twoDVarMap.setVariableName(parameterValue);
-					} else if (parameterName.equals("startT")) {
-						twoDVarMap.setStartYearMonth(parameterValue);
-					} else if (parameterName.equals("endT")) {
-						twoDVarMap.setEndYearMonth(parameterValue);
-					} else if (parameterName.equals("months")) {
-						String[] months = parameterValue.split(",");
-						for (int j = 0; j < months.length; j++) {
-							if (months[j].equals("1")) {
-								twoDVarMap.addMonth("jan");
-							} else if (months[j].equals("2")) {
-								twoDVarMap.addMonth("feb");
-							} else if (months[j].equals("3")) {
-								twoDVarMap.addMonth("mar");
-							} else if (months[j].equals("4")) {
-								twoDVarMap.addMonth("apr");
-							} else if (months[j].equals("5")) {
-								twoDVarMap.addMonth("may");
-							} else if (months[j].equals("6")) {
-								twoDVarMap.addMonth("jun");
-							} else if (months[j].equals("7")) {
-								twoDVarMap.addMonth("jul");
-							} else if (months[j].equals("8")) {
-								twoDVarMap.addMonth("aug");
-							} else if (months[j].equals("9")) {
-								twoDVarMap.addMonth("sep");
-							} else if (months[j].equals("10")) {
-								twoDVarMap.addMonth("oct");
-							} else if (months[j].equals("11")) {
-								twoDVarMap.addMonth("nov");
-							} else if (months[j].equals("12")) {
-								twoDVarMap.addMonth("dec");
-							}
-						}
-						twoDVarMap.changeSelectMonths();
-					} else if (parameterName.equals("lat1")) {
-						twoDVarMap.setStartLat(parameterValue);
-					} else if (parameterName.equals("lat2")) {
-						twoDVarMap.setEndLat(parameterValue);
-					} else if (parameterName.equals("lon1")) {
-						twoDVarMap.setStartLon(parameterValue);
-					} else if (parameterName.equals("lon2")) {
-						twoDVarMap.setEndLon(parameterValue);
-					} else if (parameterName.equals("scale")) {
-						twoDVarMap.setVariableScale(parameterValue);
-						}
-				}
-				twoDVarMap.setExecutionPurpose(response.path("purpose").textValue());
-				twoDVarMap.setImage(response.path("plotUrl").textValue());
-				twoDVarMap.setDataURL(response.path("dataUrl").textValue());
-				return ok(views.html.climate.twoDVariableMap.render(twoDVarMap));
-			}
-			else if (serviceName.equals("Conditional-Sampling-with-One-Variable")){
-				for (int i = 0; i < responseConfigItems.size(); i++) {
-					String parameterName = responseConfigItems.get(i).path("parameter").path("purpose").textValue();
-					String parameterValue = responseConfigItems.get(i).path("value").textValue();
-					if (parameterName.equals("model2")) {
-						conditionalSampling.setDataSourceE(parameterValue);
-					} else if (parameterName.equals("model1")) {
-						conditionalSampling.setDataSourceP(parameterValue);
-					} else if (parameterName.equals("var2")) {
-						conditionalSampling.setVariableNameE(parameterValue);
-					} else if (parameterName.equals("var1")) {
-						conditionalSampling.setVariableNameP(parameterValue);
-					} else if (parameterName.equals("pre1")) {
-						conditionalSampling.setPressureRangeP(parameterValue);
-					} else if (parameterName.equals("pre2")) {
-						conditionalSampling.setPressureRangeE(parameterValue);
-					} else if (parameterName.equals("startT")) {
-						conditionalSampling.setStartYearMonth(parameterValue);
-					} else if (parameterName.equals("endT")) {
-						conditionalSampling.setEndYearMonth(parameterValue);
-					} else if (parameterName.equals("lon1")) {
-						conditionalSampling.setStartLon(parameterValue);
-					} else if (parameterName.equals("lon2")) {
-						conditionalSampling.setEndLon(parameterValue);
-					} else if (parameterName.equals("lat1")) {
-						conditionalSampling.setStartLat(parameterValue);
-					} else if (parameterName.equals("lat2")) {
-						conditionalSampling.setEndLat(parameterValue);
-					} else if (parameterName.equals("months")) {
-						String[] months = parameterValue.split(",");
-						for (int j = 0; j < months.length; j++) {
-							if (months[j].equals("1")) {
-								conditionalSampling.addMonth("jan");
-							} else if (months[j].equals("2")) {
-								conditionalSampling.addMonth("feb");
-							} else if (months[j].equals("3")) {
-								conditionalSampling.addMonth("mar");
-							} else if (months[j].equals("4")) {
-								conditionalSampling.addMonth("apr");
-							} else if (months[j].equals("5")) {
-								conditionalSampling.addMonth("may");
-							} else if (months[j].equals("6")) {
-								conditionalSampling.addMonth("jun");
-							} else if (months[j].equals("7")) {
-								conditionalSampling.addMonth("jul");
-							} else if (months[j].equals("8")) {
-								conditionalSampling.addMonth("aug");
-							} else if (months[j].equals("9")) {
-								conditionalSampling.addMonth("sep");
-							} else if (months[j].equals("10")) {
-								conditionalSampling.addMonth("oct");
-							} else if (months[j].equals("11")) {
-								conditionalSampling.addMonth("nov");
-							} else if (months[j].equals("12")) {
-								conditionalSampling.addMonth("dec");
-							}
-
-						}
-						conditionalSampling.changeSelectMonths();
-					} else if (parameterName.equals("bin_min")) {
-						conditionalSampling.setBin_min(parameterValue);
-					} else if (parameterName.equals("bin_max")) {
-						conditionalSampling.setBin_max(parameterValue);
-					} else if (parameterName.equals("bin_n")) {
-						conditionalSampling.setBin_n(parameterValue);
-					} else if (parameterName.equals("displayOpt")) {
-						int paramBit=Integer.parseInt(parameterValue);
-						int bitmaskX = 0x1;
-						int bitmaskY = 0x2;
-						int bitmaskZ = 0x4;
-						conditionalSampling.setX(Integer.toString(paramBit & bitmaskX, 2));
-						conditionalSampling.setY(Integer.toString((paramBit & bitmaskY)>>1, 2));
-						conditionalSampling.setZ(Integer.toString((paramBit & bitmaskZ)>>2, 2));
-					}
-				}
-				conditionalSampling.setExecutionPurpose(response.path("purpose").textValue());
-				conditionalSampling.setImage(response.path("plotUrl").textValue());
-				conditionalSampling.setDataURL(response.path("dataUrl").textValue());
-				return ok(views.html.climate.conditionalSampling.render(conditionalSampling));
-			}else if (serviceName.equals("2-D-Variable-Time-Series")){
-				for (int i = 0; i < responseConfigItems.size(); i++) {
-					String parameterName = responseConfigItems.get(i).path("parameter").path("purpose").textValue();
-					String parameterValue = responseConfigItems.get(i).path("value").textValue();
-					if (parameterName.equals("model")) {
-						twoDVarTimeSeries.setDataSource(parameterValue);
-					} else if (parameterName.equals("var")) {
-						twoDVarTimeSeries.setVariableName(parameterValue);
-					} else if (parameterName.equals("startT")) {
-						twoDVarTimeSeries.setStartYearMonth(parameterValue);
-					} else if (parameterName.equals("endT")) {
-						twoDVarTimeSeries.setEndYearMonth(parameterValue);
-					} else if (parameterName.equals("lat1")) {
-						twoDVarTimeSeries.setStartLat(parameterValue);
-					} else if (parameterName.equals("lat2")) {
-						twoDVarTimeSeries.setEndLat(parameterValue);
-					} else if (parameterName.equals("lon1")) {
-						twoDVarTimeSeries.setStartLon(parameterValue);
-					} else if (parameterName.equals("lon2")) {
-						twoDVarTimeSeries.setEndLon(parameterValue);
-					} else if (parameterName.equals("scale")) {
-						twoDVarTimeSeries.setVariableScale(parameterValue);
-					}
-				}
-				twoDVarTimeSeries.setExecutionPurpose(response.path("purpose").textValue());
-				twoDVarTimeSeries.setImage(response.path("plotUrl").textValue());
-				twoDVarTimeSeries.setDataURL(response.path("dataUrl").textValue());
-				return ok(views.html.climate.twoDVariableTimeSeries.render(twoDVarTimeSeries));
-			}else if (serviceName.equals("Regrid-and-Download")){
-				for (int i = 0; i < responseConfigItems.size(); i++) {
-					String parameterName = responseConfigItems.get(i).path("parameter").path("purpose").textValue();
-					String parameterValue = responseConfigItems.get(i).path("value").textValue();
-					if (parameterName.equals("model")) {
-						regridAndDownload.setDataSource(parameterValue);
-					} else if (parameterName.equals("var")) {
-						regridAndDownload.setVariableName(parameterValue);
-					} else if (parameterName.equals("startT")) {
-						regridAndDownload.setStartYearMonth(parameterValue);
-					} else if (parameterName.equals("endT")) {
-						regridAndDownload.setEndYearMonth(parameterValue);
-					} else if (parameterName.equals("lat1")) {
-						regridAndDownload.setStartLat(parameterValue);
-					} else if (parameterName.equals("lat2")) {
-						regridAndDownload.setEndLat(parameterValue);
-					} else if (parameterName.equals("dlat")) {
-						regridAndDownload.setDeltaLat(parameterValue);
-					} else if (parameterName.equals("dlon")) {
-						regridAndDownload.setDeltaLon(parameterValue);
-					} else if (parameterName.equals("lon1")) {
-						regridAndDownload.setStartLon(parameterValue);
-					} else if (parameterName.equals("lon2")) {
-						regridAndDownload.setEndLon(parameterValue);
-					} else if (parameterName.equals("plev")) {
-						regridAndDownload.setPressureLevel(parameterValue);
-					}
-				}
-				regridAndDownload.setExecutionPurpose(response.path("purpose").textValue());
-				
-				regridAndDownload.setDataURL(response.path("dataUrl").textValue());
-				return ok(views.html.climate.regridAndDownload.render(regridAndDownload));
-			}else if (serviceName.equals("3-D-Variable-Zonal-Mean")){
-				String press1 = "";
-				String press2 = "";
-				for (int i = 0; i < responseConfigItems.size(); i++) {
-					String parameterName = responseConfigItems.get(i).path("parameter").path("purpose").textValue();
-					String parameterValue = responseConfigItems.get(i).path("value").textValue();
-					if (parameterName.equals("model")) {
-						threeDVarZonalMean.setDataSource(parameterValue);
-					} else if (parameterName.equals("var")) {
-						threeDVarZonalMean.setVariableName(parameterValue);
-					} else if (parameterName.equals("startT")) {
-						threeDVarZonalMean.setStartYearMonth(parameterValue);
-					} else if (parameterName.equals("endT")) {
-						threeDVarZonalMean.setEndYearMonth(parameterValue);
-					} else if (parameterName.equals("lat1")) {
-						threeDVarZonalMean.setStartLat(parameterValue);
-					} else if (parameterName.equals("lat2")) {
-						threeDVarZonalMean.setEndLat(parameterValue);
-					} else if (parameterName.equals("pres1")) {
-						press1 = parameterValue;
-					} else if (parameterName.equals("pres2")) {
-						press2 = parameterValue;
-					} else if (parameterName.equals("months")) {
-						String[] months = parameterValue.split(",");
-						for (int j = 0; j < months.length; j++) {
-							if (months[j].equals("1")) {
-								threeDVarZonalMean.addMonth("jan");
-							} else if (months[j].equals("2")) {
-								threeDVarZonalMean.addMonth("feb");
-							} else if (months[j].equals("3")) {
-								threeDVarZonalMean.addMonth("mar");
-							} else if (months[j].equals("4")) {
-								threeDVarZonalMean.addMonth("apr");
-							} else if (months[j].equals("5")) {
-								threeDVarZonalMean.addMonth("may");
-							} else if (months[j].equals("6")) {
-								threeDVarZonalMean.addMonth("jun");
-							} else if (months[j].equals("7")) {
-								threeDVarZonalMean.addMonth("jul");
-							} else if (months[j].equals("8")) {
-								threeDVarZonalMean.addMonth("aug");
-							} else if (months[j].equals("9")) {
-								threeDVarZonalMean.addMonth("sep");
-							} else if (months[j].equals("10")) {
-								threeDVarZonalMean.addMonth("oct");
-							} else if (months[j].equals("11")) {
-								threeDVarZonalMean.addMonth("nov");
-							} else if (months[j].equals("12")) {
-								threeDVarZonalMean.addMonth("dec");
-							}
-						}
-					} else if (parameterName.equals("scale")) {
-						if (parameterValue.equals("2")) {
-							threeDVarZonalMean.setPressureScale("2");
-							threeDVarZonalMean.setColorScale("0");
-						} else if (parameterValue.equals("0")) {
-							threeDVarZonalMean.setPressureScale("0");
-							threeDVarZonalMean.setColorScale("0");
-						} else if (parameterValue.equals("4")) {
-							threeDVarZonalMean.setPressureScale("0");
-							threeDVarZonalMean.setColorScale("4");
-						} else if (parameterValue.equals("6")) {
-							threeDVarZonalMean.setPressureScale("2");
-							threeDVarZonalMean.setColorScale("4");
-						}
-					}
-				}
-				if (!press1.isEmpty() & !press2.isEmpty())
-					threeDVarZonalMean.setPressureRange("" + (Integer.parseInt(press1) / 100) + "," + (Integer.parseInt(press2) / 100));
-				threeDVarZonalMean.setExecutionPurpose(response.path("purpose").textValue());
-				threeDVarZonalMean.setImage(response.path("plotUrl").textValue());
-				threeDVarZonalMean.setDataURL(response.path("dataUrl").textValue());
-				return ok(views.html.climate.threeDVariableZonalMean.render(threeDVarZonalMean));
-			}else if (serviceName.equals("Scatter-and-Histogram-Plot-of-Two-Variables")){                    //"19")){
-					scatterHistogram.setPressureLevel1("N/A");
-					scatterHistogram.setPressureLevel2("N/A");
-					for (int i = 0; i < responseConfigItems.size(); i++) {
-						String parameterName = responseConfigItems.get(i).path("parameter").path("purpose").textValue();
-						String parameterValue = responseConfigItems.get(i).path("value").textValue();
-						if (parameterName.equals("model1")) {
-							scatterHistogram.setSource1(parameterValue);
-
-						} else if (parameterName.equals("model2")) {
-							scatterHistogram.setSource2(parameterValue);
-
-						} else if (parameterName.equals("var1")) {
-							scatterHistogram.setVaribaleName1(parameterValue);
-
-						} else if (parameterName.equals("var2")) {
-							scatterHistogram.setVaribaleName2(parameterValue);
-						} else if (parameterName.equals("startT")) {
-							scatterHistogram.setStartYear(parameterValue);
-						} else if (parameterName.equals("endT")) {
-							scatterHistogram.setEndYear(parameterValue);
-						} else if (parameterName.equals("lon1")) {
-							scatterHistogram.setStartLon(parameterValue);
-						} else if (parameterName.equals("lon2")) {
-							scatterHistogram.setEndLon(parameterValue);
-						} else if (parameterName.equals("lat1")) {
-							scatterHistogram.setStartLat(parameterValue);
-						} else if (parameterName.equals("lat2")) {
-							scatterHistogram.setEndLat(parameterValue);
-						} else if (parameterName.equals("nSample")) {
-							scatterHistogram.setSamples(parameterValue);
-						}
-					}
-					scatterHistogram.setExecutionPurpose(response.path("purpose").textValue());
-					scatterHistogram.setImage(response.path("plotUrl").textValue());
-					scatterHistogram.setDataUrl(response.path("dataUrl").textValue());
-					return ok(views.html.climate.scatterAndHistogramTwoVariable.render(scatterHistogram));
-			}else if (serviceName.equals("Difference-Plot-of-Two-Time-Averaged-Variables")){            //"20")){
-					diffPlotTwoTimeAvg.setPressureLevel1("N/A");
-					Console.println(diffPlotTwoTimeAvg.getPressureLevel1());
-					diffPlotTwoTimeAvg.setPressureLevel2("N/A");
-					for (int i = 0; i < responseConfigItems.size(); i++) {
-						String parameterName = responseConfigItems.get(i).path("parameter").path("purpose").textValue();
-						String parameterValue = responseConfigItems.get(i).path("value").textValue();
-						if (parameterName.equals("model1")) {
-							diffPlotTwoTimeAvg.setSource1(parameterValue);
-						} else if (parameterName.equals("model2")) {
-							diffPlotTwoTimeAvg.setSource2(parameterValue);
-						} else if (parameterName.equals("var1")) {
-							diffPlotTwoTimeAvg.setVaribaleName1(parameterValue);
-						} else if (parameterName.equals("var2")) {
-							diffPlotTwoTimeAvg.setVaribaleName2(parameterValue);
-						} else if (parameterName.equals("pre1")) {
-							diffPlotTwoTimeAvg.setPressureLevel1(parameterValue);
-						} else if (parameterName.equals("pre2")) {
-							diffPlotTwoTimeAvg.setPressureLevel2(parameterValue);
-						} else if (parameterName.equals("startT")) {
-							diffPlotTwoTimeAvg.setStartYear(parameterValue);
-						} else if (parameterName.equals("endT")) {
-							diffPlotTwoTimeAvg.setEndYear(parameterValue);
-						} else if (parameterName.equals("lon1")) {
-							diffPlotTwoTimeAvg.setStartLon(parameterValue);
-						} else if (parameterName.equals("lon2")) {
-							diffPlotTwoTimeAvg.setEndLon(parameterValue);
-						} else if (parameterName.equals("lat1")) {
-							diffPlotTwoTimeAvg.setStartLat(parameterValue);
-						} else if (parameterName.equals("lat2")) {
-							diffPlotTwoTimeAvg.setEndLat(parameterValue);
-						}
-					}
-					diffPlotTwoTimeAvg.setExecutionPurpose(response.path("purpose").textValue());
-					diffPlotTwoTimeAvg.setImage(response.path("plotUrl").textValue());
-					diffPlotTwoTimeAvg.setDataUrl(response.path("dataUrl").textValue());
-					return ok(views.html.climate.differencePlotTwoTimeAveragedVariables.render(diffPlotTwoTimeAvg));
-			}else if (serviceName.equals("3-D-Variable-Average-Vertical-Profile")){ //"18")){
-					for (int i = 0; i < responseConfigItems.size(); i++) {
-						String parameterName = responseConfigItems.get(i).path("parameter").path("purpose").textValue();
-						String parameterValue = responseConfigItems.get(i).path("value").textValue();
-						if (parameterName.equals("model")) {
-							threeDVarAvgVertical.setDataSource(parameterValue);
-						} else if (parameterName.equals("var")) {
-							threeDVarAvgVertical.setVariableName(parameterValue);
-						} else if (parameterName.equals("startT")) {
-							threeDVarAvgVertical.setStartYearMonth(parameterValue);
-						} else if (parameterName.equals("endT")) {
-							threeDVarAvgVertical.setEndYearMonth(parameterValue);
-						} else if (parameterName.equals("lon1")) {
-							threeDVarAvgVertical.setStartLon(parameterValue);
-						} else if (parameterName.equals("lon2")) {
-							threeDVarAvgVertical.setEndLon(parameterValue);
-						} else if (parameterName.equals("lat1")) {
-							threeDVarAvgVertical.setStartLat(parameterValue);
-						} else if (parameterName.equals("lat2")) {
-							threeDVarAvgVertical.setEndLat(parameterValue);
-						} else if (parameterName.equals("months")) {
-							String[] months = parameterValue.split(",");
-							for (int j = 0; j < months.length; j++) {
-								if (months[j].equals("1")) {
-									threeDVarAvgVertical.addMonth("jan");
-								} else if (months[j].equals("2")) {
-									threeDVarAvgVertical.addMonth("feb");
-								} else if (months[j].equals("3")) {
-									threeDVarAvgVertical.addMonth("mar");
-								} else if (months[j].equals("4")) {
-									threeDVarAvgVertical.addMonth("apr");
-								} else if (months[j].equals("5")) {
-									threeDVarAvgVertical.addMonth("may");
-								} else if (months[j].equals("6")) {
-									threeDVarAvgVertical.addMonth("jun");
-								} else if (months[j].equals("7")) {
-									threeDVarAvgVertical.addMonth("jul");
-								} else if (months[j].equals("8")) {
-									threeDVarAvgVertical.addMonth("aug");
-								} else if (months[j].equals("9")) {
-									threeDVarAvgVertical.addMonth("sep");
-								} else if (months[j].equals("10")) {
-									threeDVarAvgVertical.addMonth("oct");
-								} else if (months[j].equals("11")) {
-									threeDVarAvgVertical.addMonth("nov");
-								} else if (months[j].equals("12")) {
-									threeDVarAvgVertical.addMonth("dec");
-								}
-							}
-							threeDVarAvgVertical.changeSelectMonths();
-						} else if (parameterName.equals("scale")) {
-							if (parameterValue.equals("2")) {
-								threeDVarAvgVertical.setPressureLevelScale("2");
-								threeDVarAvgVertical.setVariableScale("0");
-							} else if (parameterValue.equals("0")) {
-								threeDVarAvgVertical.setPressureLevelScale("0");
-								threeDVarAvgVertical.setVariableScale("0");
-							} else if (parameterValue.equals("1")) {
-								threeDVarAvgVertical.setPressureLevelScale("0");
-								threeDVarAvgVertical.setVariableScale("1");
-							} else if (parameterValue.equals("3")) {
-								threeDVarAvgVertical.setPressureLevelScale("2");
-								threeDVarAvgVertical.setVariableScale("1");
-							}
-
-						}
-					}
-					threeDVarAvgVertical.setExecutionPurpose(response.path("purpose").textValue());
-					threeDVarAvgVertical.setImage(response.path("plotUrl").textValue());
-					threeDVarAvgVertical.setDataURL(response.path("dataUrl").textValue());
-					return ok(views.html.climate.threeDVariableAerageVerticalProfile.render(threeDVarAvgVertical));
-			}else if (serviceName.equals("3-D-Variable-2-D-Slice")){ //"16")){
-					for (int i = 0; i < responseConfigItems.size(); i++) {
-						String parameterName = responseConfigItems.get(i).path("parameter").path("purpose").textValue();
-						String parameterValue = responseConfigItems.get(i).path("value").textValue();
-						if (parameterName.equals("model")) {
-							threeDVar2DSlice.setDataSource(parameterValue);
-						} else if (parameterName.equals("var")) {
-							threeDVar2DSlice.setVariableName(parameterValue);
-						} else if (parameterName.equals("pr")) {
-							threeDVar2DSlice.setPressureLevel(parameterValue);
-						} else if (parameterName.equals("startT")) {
-							threeDVar2DSlice.setStartYearMonth(parameterValue);
-						} else if (parameterName.equals("endT")) {
-							threeDVar2DSlice.setEndYearMonth(parameterValue);
-						} else if (parameterName.equals("lon1")) {
-							threeDVar2DSlice.setStartLon(parameterValue);
-						} else if (parameterName.equals("lon2")) {
-							threeDVar2DSlice.setEndLon(parameterValue);
-						} else if (parameterName.equals("lat1")) {
-							threeDVar2DSlice.setStartLat(parameterValue);
-						} else if (parameterName.equals("lat2")) {
-							threeDVar2DSlice.setEndLat(parameterValue);
-						} else if (parameterName.equals("months")) {
-							String[] months = parameterValue.split(",");
-							for (int j = 0; j < months.length; j++) {
-								if (months[j].equals("1")) {
-									threeDVar2DSlice.addMonth("jan");
-								} else if (months[j].equals("2")) {
-									threeDVar2DSlice.addMonth("feb");
-								} else if (months[j].equals("3")) {
-									threeDVar2DSlice.addMonth("mar");
-								} else if (months[j].equals("4")) {
-									threeDVar2DSlice.addMonth("apr");
-								} else if (months[j].equals("5")) {
-									threeDVar2DSlice.addMonth("may");
-								} else if (months[j].equals("6")) {
-									threeDVar2DSlice.addMonth("jun");
-								} else if (months[j].equals("7")) {
-									threeDVar2DSlice.addMonth("jul");
-								} else if (months[j].equals("8")) {
-									threeDVar2DSlice.addMonth("aug");
-								} else if (months[j].equals("9")) {
-									threeDVar2DSlice.addMonth("sep");
-								} else if (months[j].equals("10")) {
-									threeDVar2DSlice.addMonth("oct");
-								} else if (months[j].equals("11")) {
-									threeDVar2DSlice.addMonth("nov");
-								} else if (months[j].equals("12")) {
-									threeDVar2DSlice.addMonth("dec");
-								}
-							}
-							threeDVar2DSlice.changeSelectMonths();
-						} else if (parameterName.equals("scale")) {
-							threeDVar2DSlice.setColorScale(parameterValue);
-						}
-					}
-					threeDVar2DSlice.setExecutionPurpose(response.path("purpose").textValue());
-					threeDVar2DSlice.setImage(response.path("plotUrl").textValue());
-					threeDVar2DSlice.setDataURL(response.path("dataUrl").textValue());
-					return ok(views.html.climate.threeDVariableTwoDSlice.render(threeDVar2DSlice));
-
-			}else if(serviceName.equals("Time-Lagged-Correlation-Map-of-Two-Variables")){
-				correlationMap.setPressureLevel1("N/A");
-				Console.println(correlationMap.getPressureLevel1());
-				correlationMap.setPressureLevel2("N/A");
-				for(int i = 0; i < responseConfigItems.size(); i++){
-					String parameterName = responseConfigItems.get(i).path("parameter").path("purpose").textValue();
-					String parameterValue = responseConfigItems.get(i).path("value").textValue();
-					if (parameterName.equals("model1")) {
-						correlationMap.setSource1(parameterValue);
-					} else if (parameterName.equals("model2")) {
-						correlationMap.setSource2(parameterValue);
-					} else if (parameterName.equals("var1")) {
-						correlationMap.setVariableName1(parameterValue);
-					} else if (parameterName.equals("var2")) {
-						correlationMap.setVariableName2(parameterValue);
-					} else if (parameterName.equals("pres1")) {
-						correlationMap.setPressureLevel1(parameterValue);
-					} else if (parameterName.equals("pres2")) {
-						correlationMap.setPressureLevel2(parameterValue);
-					} else if (parameterName.equals("startT")) {
-						correlationMap.setStartYear(parameterValue);
-					} else if (parameterName.equals("endT")) {
-						correlationMap.setEndYear(parameterValue);
-					} else if (parameterName.equals("lon1")) {
-						correlationMap.setStartLon(parameterValue);
-					} else if (parameterName.equals("lon2")) {
-						correlationMap.setEndLon(parameterValue);
-					} else if (parameterName.equals("lat1")) {
-						correlationMap.setStartLat(parameterValue);
-					} else if (parameterName.equals("lat2")) {
-						correlationMap.setEndLat(parameterValue);
-					}else if (parameterName.equals("laggedTime")) {
-						correlationMap.setLaggedTime(parameterValue);
-					}
-				}
-				correlationMap.setExecutionPurpose(response.path("purpose").textValue());
-				correlationMap.setImage(response.path("plotUrl").textValue());
-				correlationMap.setDataURL(response.path("dataUrl").textValue());
-				return ok(views.html.climate.correlationMap.render(correlationMap));
-			
-			}else if (serviceName.equals("Conditional-Sampling-with-Two-Variables")){
-				for (int i = 0; i < responseConfigItems.size(); i++) {
-					String parameterName = responseConfigItems.get(i).path("parameter").path("purpose").textValue();
-					String parameterValue = responseConfigItems.get(i).path("value").textValue();
-					if (parameterName.equals("model1")) {
-						conditionalSampling2Var.setDataSourceP(parameterValue);
-					} else if (parameterName.equals("model2")) {
-						conditionalSampling2Var.setDataSourceE1(parameterValue);
-					} else if (parameterName.equals("model3")) {
-						conditionalSampling2Var.setDataSourceE2(parameterValue);
-					} else if (parameterName.equals("var1")) {
-						conditionalSampling2Var.setVariableNameP(parameterValue);
-					} else if (parameterName.equals("var2")) {
-						conditionalSampling2Var.setVariableNameE1(parameterValue);
-					} else if (parameterName.equals("var3")) {
-						conditionalSampling2Var.setVariableNameE2(parameterValue);
-					} else if (parameterName.equals("pres1")) {
-						conditionalSampling2Var.setPressureRange1(parameterValue);
-					} else if (parameterName.equals("pres2")) {
-						conditionalSampling2Var.setPressureRange2(parameterValue);
-					} else if (parameterName.equals("startT")) {
-						conditionalSampling2Var.setStartYearMonth(parameterValue);
-					} else if (parameterName.equals("endT")) {
-						conditionalSampling2Var.setEndYearMonth(parameterValue);
-					} else if (parameterName.equals("lon1")) {
-						conditionalSampling2Var.setStartLon(parameterValue);
-					} else if (parameterName.equals("lon2")) {
-						conditionalSampling2Var.setEndLon(parameterValue);
-					} else if (parameterName.equals("lat1")) {
-						conditionalSampling2Var.setStartLat(parameterValue);
-					} else if (parameterName.equals("lat2")) {
-						conditionalSampling2Var.setEndLat(parameterValue);
-					} else if (parameterName.equals("months")) {
-						String[] months = parameterValue.split(",");
-						for (int j = 0; j < months.length; j++) {
-							if (months[j].equals("1")) {
-								conditionalSampling2Var.addMonth("jan");
-							} else if (months[j].equals("2")) {
-								conditionalSampling2Var.addMonth("feb");
-							} else if (months[j].equals("3")) {
-								conditionalSampling2Var.addMonth("mar");
-							} else if (months[j].equals("4")) {
-								conditionalSampling2Var.addMonth("apr");
-							} else if (months[j].equals("5")) {
-								conditionalSampling2Var.addMonth("may");
-							} else if (months[j].equals("6")) {
-								conditionalSampling2Var.addMonth("jun");
-							} else if (months[j].equals("7")) {
-								conditionalSampling2Var.addMonth("jul");
-							} else if (months[j].equals("8")) {
-								conditionalSampling2Var.addMonth("aug");
-							} else if (months[j].equals("9")) {
-								conditionalSampling2Var.addMonth("sep");
-							} else if (months[j].equals("10")) {
-								conditionalSampling2Var.addMonth("oct");
-							} else if (months[j].equals("11")) {
-								conditionalSampling2Var.addMonth("nov");
-							} else if (months[j].equals("12")) {
-								conditionalSampling2Var.addMonth("dec");
-							}
-						}
-						conditionalSampling2Var.changeSelectMonths();
-					} else if (parameterName.equals("bin_min1")) {
-						conditionalSampling2Var.setBin_min1(parameterValue);
-					} else if (parameterName.equals("bin_max1")) {
-						conditionalSampling2Var.setBin_max1(parameterValue);
-					} else if (parameterName.equals("bin_n1")) {
-						conditionalSampling2Var.setBin_n1(parameterValue);
-					} else if (parameterName.equals("bin_min2")) {
-						conditionalSampling2Var.setBin_min2(parameterValue);
-					} else if (parameterName.equals("bin_max2")) {
-						conditionalSampling2Var.setBin_max2(parameterValue);
-					} else if (parameterName.equals("bin_n2")) {
-						conditionalSampling2Var.setBin_n2(parameterValue);
-					} else if (parameterName.equals("env_var_plev1")) {
-						conditionalSampling2Var.setEnableVarPlev1(parameterValue);
-					} else if (parameterName.equals("env_var_plev2")) {
-						conditionalSampling2Var.setEnableVarPlev2(parameterValue);
-					} else if (parameterName.equals("displayOpt")) {
-						int paramBit=Integer.parseInt(parameterValue);
-						int bitmaskX = 0x1;
-						int bitmaskY = 0x2;
-						int bitmaskZ = 0x4;
-						conditionalSampling2Var.setX(Integer.toString(paramBit & bitmaskX, 2));
-						conditionalSampling2Var.setY(Integer.toString((paramBit & bitmaskY)>>1, 2));
-						conditionalSampling2Var.setZ(Integer.toString((paramBit & bitmaskZ)>>2, 2));
-					}
-				}
-				conditionalSampling2Var.setExecutionPurpose(response.path("purpose").textValue());
-				conditionalSampling2Var.setImage(response.path("plotUrl").textValue());
-				conditionalSampling2Var.setDataURL(response.path("dataUrl").textValue());
-				return ok(views.html.climate.conditionalSampling2Var.render(conditionalSampling2Var));
-			}else{
-				
-			}
-			Application.flashMsg(response);
-			Application.flashMsg(response);
-		}catch (IllegalStateException e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall
-					.createResponse(ResponseType.CONVERSIONERROR));
-		} catch (Exception e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-		}
-		Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-
-		return ok();
-	}
-
-	public static Result deleteClimateService() throws UnsupportedEncodingException {
-		DynamicForm df = DynamicForm.form().bindFromRequest();
-		String climateServiceId = df.field("idHolder").value();
-		Logger.debug(climateServiceId);
-		JsonNode response = ClimateService.delete(climateServiceId);
-		Application.flashMsg(response);
-		return redirect("/climate/climateServices");
-	}
-
-	public static Result deleteServiceLog() throws UnsupportedEncodingException {
-		DynamicForm df = DynamicForm.form().bindFromRequest();
-		String confId = df.field("idHolder").value();
-		Logger.debug(confId);
-		JsonNode response = ServiceLog.deleteServiceLog(confId);
-		Application.flashMsg(response);
-		return redirect("/serviceLog");
-	}
-
-	public static Result downloadClimateService() {
-		List<ClimateService> user = ClimateService.all();
-		ObjectMapper mapper = new ObjectMapper();
-		File file = new File("user.json");
-		try {
-			mapper.writeValue(file, user);
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		response().setContentType("application/x-download");
-		response().setHeader("Content-disposition",
-				"attachment; filename=user.json");
-		return ok(file);
-	}
-	
-	public static Result oneService(String url) {
-		return ok(oneService.render("/assets/html/" + url));
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/controllers/DatasetController.java
----------------------------------------------------------------------
diff --git a/app/controllers/DatasetController.java b/app/controllers/DatasetController.java
deleted file mode 100644
index 0a226b6..0000000
--- a/app/controllers/DatasetController.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package controllers;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import models.DataSet;
-import play.data.Form;
-import play.libs.Json;
-import play.mvc.Controller;
-import play.mvc.Result;
-import util.APICall;
-import util.APICall.ResponseType;
-import views.html.climate.*;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-public class DatasetController extends Controller{
-	final static Form<DataSet> dataSetForm = Form
-			.form(DataSet.class);
-	
-	public static Result datasetList() {
-		return ok(dataSetList.render(DataSet.all(),
-				dataSetForm));
-	}
-	
-	public static Result searchDataset(){
-		return ok(searchDataSet.render(dataSetForm));
-	}
-	
-	public static Result getSearchResult(){
-		Form<DataSet> dc = dataSetForm.bindFromRequest();
-		ObjectNode jsonData = Json.newObject();
-		String dataSetName = "";
-		String agency = "";
-		String instrument = "";
-		String physicalVariable = "";
-		String gridDimension = "";
-		String startTime = "";
-		String endTime = "";
-		Date dataSetStartTime = new Date(0), dataSetEndTime = new Date();
-		
-		try {
-			dataSetName = dc.field("Dataset Name").value();
-			agency = dc.field("Agency").value();
-			instrument = dc.field("Instrument").value();
-			physicalVariable = dc.field("Physical Variable").value();
-			gridDimension = dc.field("Grid Dimension").value();
-			startTime = dc.field("Dataset Start Time").value();
-			endTime = dc.field("Dataset End Time").value();
-			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMM");
-			
-			if (!startTime.isEmpty()) {
-				try {
-					dataSetStartTime = simpleDateFormat.parse(startTime);
-					Date min = new Date(0);
-					Date max = new Date();
-					if (dataSetStartTime.before(min)) {
-						dataSetStartTime = min;
-					} else if (dataSetStartTime.after(max)) {
-						dataSetStartTime = max;
-					}
-				} catch (ParseException e) {
-					System.out.println("Wrong Date Format :" + startTime);
-					return badRequest("Wrong Date Format :" + startTime);
-				}
-			}
-			
-			if (!endTime.isEmpty()) {
-				try {
-					dataSetEndTime = simpleDateFormat.parse(endTime);
-					Date min = new Date(0);
-					Date max = new Date();
-					if (dataSetEndTime.before(min)) {
-						dataSetEndTime = min;
-					}
-					else if (dataSetEndTime.after(max)) {
-						dataSetEndTime = max;
-					}
-				} catch (ParseException e) {
-					System.out.println("Wrong Date Format :" + endTime);
-					return badRequest("Wrong Date Format :" + endTime);
-				}
-			}
-		} catch (IllegalStateException e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall
-					.createResponse(ResponseType.CONVERSIONERROR));
-		} catch (Exception e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-		}
-		List<DataSet> response = DataSet.queryDataSet(dataSetName, agency, instrument, physicalVariable, gridDimension, dataSetStartTime, dataSetEndTime);
-		return ok(dataSetList.render(response, dataSetForm));
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/controllers/HttpHelper.java
----------------------------------------------------------------------
diff --git a/app/controllers/HttpHelper.java b/app/controllers/HttpHelper.java
deleted file mode 100644
index 9dc17d0..0000000
--- a/app/controllers/HttpHelper.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package controllers;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import com.google.gson.JsonObject;
-
-public class HttpHelper {
-	public static String HttpUserReg(String urlStr, JsonObject jsonObj, String operation)
-			throws Exception {
-        if (operation.equals("post")) {
-            System.out.println("Reached inside post");
-            return httpPost(urlStr, jsonObj.toString());
-        }
-        else if (operation.equals("get")) {
-            System.out.println("Reached inside get");
-            return httpGet(urlStr);
-        } else if  (operation.equals("delete")) {
-            System.out.println("Reached inside delete");
-            return httpDelete(urlStr);
-        }
-        return null;
-	}
-
-	public static String httpPost(String urlStr,
-                                  String jsonString) throws Exception {
-        URL url = new URL(urlStr);
-        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
-        conn.setRequestMethod("POST");
-        conn.setRequestProperty("Content-Type", "application/json");
-        conn.setRequestProperty("Accept", "application/json");
-        conn.setDoOutput(true);
-        OutputStream out = conn.getOutputStream();
-        Writer writer = new OutputStreamWriter(out, "UTF-8");
-        writer.write(jsonString);
-        writer.close();
-        out.close();
-        return getHttpResponse(conn, 200);
-	}
-
-    public static String httpPostText(String urlStr,
-                                      String textString) throws Exception {
-        URL url = new URL(urlStr);
-        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
-        conn.setRequestMethod("POST");
-        conn.setRequestProperty("Content-Type", "text/plain");
-        conn.setRequestProperty("Accept", "application/json");
-        conn.setDoOutput(true);
-        OutputStream out = conn.getOutputStream();
-        Writer writer = new OutputStreamWriter(out, "UTF-8");
-        writer.write(textString);
-        writer.close();
-        out.close();
-        return getHttpResponse(conn, 200);
-    }
-    
-	public static String httpDelete(String urlStr)
-			throws Exception {
-        URL url = new URL(urlStr);
-        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
-        conn.setRequestMethod("DELETE");
-        conn.setDoOutput(true);
-        conn.connect();
-        return getHttpResponse(conn, 201);
-	}
-
-    public static String httpGet(String urlStr)
-            throws Exception {
-        URL url = new URL(urlStr);
-        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
-        conn.setRequestMethod("GET");
-        conn.setDoOutput(true);
-        conn.connect();
-        return getHttpResponse(conn, 200);
-    }
-
-    private static String getHttpResponse(HttpURLConnection conn, int expectedReturnCode) throws IOException {
-        System.out.println("response code:" + conn.getResponseMessage());
-        if (conn.getResponseCode() != expectedReturnCode) {
-            System.out.println("Custom Error:" + conn.getResponseCode());
-            throw new IOException(conn.getResponseMessage());
-        }
-
-        BufferedReader rd = new BufferedReader(new InputStreamReader(
-                conn.getInputStream()));
-        StringBuilder sb = new StringBuilder();
-        String line;
-        while ((line = rd.readLine()) != null) {
-            sb.append(line);
-        }
-        rd.close();
-        conn.disconnect();
-        return sb.toString();
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/.NasaRegistration.java.swp
----------------------------------------------------------------------
diff --git a/app/models/.NasaRegistration.java.swp b/app/models/.NasaRegistration.java.swp
deleted file mode 100644
index 081771e..0000000
Binary files a/app/models/.NasaRegistration.java.swp and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/BugReport.java
----------------------------------------------------------------------
diff --git a/app/models/BugReport.java b/app/models/BugReport.java
deleted file mode 100644
index 9842e09..0000000
--- a/app/models/BugReport.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models;
-
-import java.util.*;
-import javax.persistence.*;
-import play.data.format.*;
-import play.data.validation.*;
-import java.sql.*;
-import java.sql.Date;
-import play.db.*;
-import play.db.jpa.*;
-
-public class BugReport {
-
-	@Id
-	private int id;
-
-	@Constraints.Required
-	private String title;
-
-	@Constraints.Required
-	private String email;
-
-	@Constraints.Required
-	private String name;
-
-	private String organization;
-	private String description;
-	private int solved = 0;
-
-	public BugReport() {
-
-	}
-
-	public BugReport(String title, String email, String name,
-			String organization, String description, int solved,
-			Date creationDate, Date updateDate) {
-		super();
-		this.title = title;
-		this.email = email;
-		this.name = name;
-		this.organization = organization;
-		this.description = description;
-		this.solved = solved;
-		this.creationDate = creationDate;
-		this.updateDate = updateDate;
-	}
-
-	@Formats.DateTime(pattern = "MM/dd/yy")
-	public java.sql.Date creationDate;
-
-	@Formats.DateTime(pattern = "MM/dd/yy")
-	public java.sql.Date updateDate;
-
-	@play.db.jpa.Transactional
-	public static List getAll() {
-		Connection connection = DB.getConnection();
-
-		try {
-			Query query = JPA.em().createNativeQuery(
-					"CREATE TABLE BUG_REPORT (id INT auto_increment, "
-							+ "title VARCHAR(255), " 
-							+ "name VARCHAR(255), "
-							+ "email VARCHAR(255), "
-							+ "organization VARCHAR(255), "
-							+ "description VARCHAR(255), " 
-							+ "solved TINYINT)");
-			query.executeUpdate();
-			System.out.println("created bug report table");
-		} catch (Exception e) {
-			System.out.println("Didn't create table");
-		} finally {
-			if (connection != null) {
-				try {
-					connection.close();
-		        } catch (SQLException e) { 
-		        	System.out.println(e);
-		        }
-			}
-		}
-
-		Query query2 = JPA.em().createNativeQuery("SELECT * FROM BUG_REPORT order by solved");
-		List<Object[]> list = query2.getResultList();
-		return list;
-	}
-
-	@play.db.jpa.Transactional
-	public boolean save() {
-		Connection connection = DB.getConnection();
-
-		try {
-			
-			Statement statement = connection.createStatement();
-			String queryText = "INSERT INTO BUG_REPORT (title, name, email, organization, description, solved) VALUES ('"
-					+ this.title.replaceAll("\'", "\'\'")
-					+ "', '"
-					+ this.name.replaceAll("\'", "\'\'")
-					+ "', '"
-					+ this.email.replaceAll("\'", "\'\'")
-					+ "', '"
-					+ this.organization.replaceAll("\'", "\'\'")
-					+ "', '"
-					+ this.description.replaceAll("\'", "\'\'") + "', 0)";
-			statement.executeUpdate(queryText);
-		} catch (Exception e) {
-			System.out.println(e.toString());
-			return false;
-		}
-		finally {
-			if (connection != null) {
-				try {
-					connection.close();
-		        } catch (SQLException e) { 
-		        	System.out.println(e);
-		        }
-			}
-		}
-		return true;
-	}
-
-	@play.db.jpa.Transactional
-	public static boolean delete(int id) {
-		Connection connection = DB.getConnection();
-
-		try {
-
-			Statement statement = connection.createStatement();
-			String deleteText = "DELETE FROM BUG_REPORT WHERE ID = " + id;
-			statement.executeUpdate(deleteText);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return false;
-		}
-		finally {
-			if (connection != null) {
-				try {
-					connection.close();
-		        } catch (SQLException e) { 
-		        	System.out.println(e);
-		        }
-			}
-		}
-		return true;
-	}
-	
-	@play.db.jpa.Transactional
-	public static boolean solve(int id) {
-		Connection connection = DB.getConnection();
-		try {
-
-			Statement statement = connection.createStatement();
-			String solveText = "UPDATE BUG_REPORT SET SOLVED = 1 WHERE ID = " + id;
-			statement.executeUpdate(solveText);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return false;
-		}
-		finally {
-			if (connection != null) {
-				try {
-					connection.close();
-		        } catch (SQLException e) { 
-		        	System.out.println(e);
-		        }
-			}
-		}
-		return true;
-	}
-
-	public int getId() {
-		return id;
-	}
-
-	public void setId(int id) {
-		this.id = id;
-	}
-
-	public String toString() {
-		return "BugReport #" + id;
-	}
-
-	public String getTitle() {
-		return this.title;
-	}
-
-	public void setTitle(String title) {
-		this.title = title;
-	}
-
-	public String getDescription() {
-		return this.description;
-	}
-
-	public String getEmail() {
-		return email;
-	}
-
-	public void setEmail(String email) {
-		this.email = email;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public String getOrganization() {
-		return organization;
-	}
-
-	public void setOrganization(String organization) {
-		this.organization = organization;
-	}
-
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	public int getSolved() {
-		return solved;
-	}
-
-	public void setSolved(int solved) {
-		this.solved = solved;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/DataSet.java
----------------------------------------------------------------------
diff --git a/app/models/DataSet.java b/app/models/DataSet.java
deleted file mode 100644
index 929dce7..0000000
--- a/app/models/DataSet.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import util.APICall;
-import util.Constants;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class DataSet {
-
-	private String id;
-	private String dataSetName;
-	private String agencyId;
-	private String instrument;
-	private String physicalVariable;
-	private String CMIP5VarName;
-	private String units;
-	private String gridDimension;
-	private String source;
-	private String status;
-	private String ResponsiblePerson;
-	private String comments;
-	private String dataSourceName;
-	private String variableName;
-	private String dataSourceInput;
-	private String variableNameInput;
-	private String startTime;
-	private String endTime;
-	
-	public String getStartTime() {
-		return startTime;
-	}
-	
-	public String getEndTime() {
-		return endTime;
-	}
-	
-	public void setEndTime(String dataSetEndTime) {
-		this.endTime = dataSetEndTime;
-	}
-	
-	public void setStartTime(String dataSetStartTime) {
-		this.startTime = dataSetStartTime;
-	}
-	
-	public String getDataSetName() {
-		return dataSetName;
-	}
-	public void setDataSetName(String dataSetName) {
-		this.dataSetName = dataSetName;
-	}
-	public String getId() {
-		return id;
-	}
-	public void setId(String id) {
-		this.id = id;
-	}
-	public String getAgencyId() {
-		return agencyId;
-	}
-	public void setAgencyId(String agencyId) {
-		this.agencyId = agencyId;
-	}
-	public String getInstrument() {
-		return instrument;
-	}
-	public void setInstrument(String instrument) {
-		this.instrument = instrument;
-	}
-	public String getPhysicalVariable() {
-		return physicalVariable;
-	}
-	public void setPhysicalVariable(String physicalVariable) {
-		this.physicalVariable = physicalVariable;
-	}
-	public String getCMIP5VarName() {
-		return CMIP5VarName;
-	}
-	public void setCMIP5VarName(String cMIP5VarName) {
-		CMIP5VarName = cMIP5VarName;
-	}
-	public String getUnits() {
-		return units;
-	}
-	public void setUnits(String units) {
-		this.units = units;
-	}
-	public String getGridDimension() {
-		return gridDimension;
-	}
-	public void setGridDimension(String gridDimension) {
-		this.gridDimension = gridDimension;
-	}
-	public String getSource() {
-		return source;
-	}
-	public void setSource(String source) {
-		this.source = source;
-	}
-	public String getStatus() {
-		return status;
-	}
-	public void setStatus(String status) {
-		this.status = status;
-	}
-	public String getResponsiblePerson() {
-		return ResponsiblePerson;
-	}
-	public void setResponsiblePerson(String responsiblePerson) {
-		ResponsiblePerson = responsiblePerson;
-	}
-	public String getComments() {
-		return comments;
-	}
-	public void setComments(String comments) {
-		this.comments = comments;
-	}
-	public String getDataSourceName() {
-		return dataSourceName;
-	}
-	public void setDataSourceName(String dataSourceName) {
-		this.dataSourceName = dataSourceName;
-	}
-	public String getVariableName() {
-		return variableName;
-	}
-	public void setVariableName(String variableName) {
-		this.variableName = variableName;
-	}
-	public String getDataSourceInput() {
-		return dataSourceInput;
-	}
-	public void setDataSourceInput(String dataSourceInput) {
-		this.dataSourceInput = dataSourceInput;
-	}
-	public String getVariableNameInput() {
-		return variableNameInput;
-	}
-	public void setVariableNameInput(String variableNameInput) {
-		this.variableNameInput = variableNameInput;
-	}
-	
-	private static final String GET_ALL_DATASET = Constants.NEW_BACKEND + "dataset/getAllDatasets/json";
-	private static final String DATASET_QUERY = Constants.NEW_BACKEND + "dataset/queryDataset";
-	
-	public static List<DataSet> all() {
-
-		List<DataSet> dataSets = new ArrayList<DataSet>();
-
-		JsonNode dataSetNode = APICall.callAPI(GET_ALL_DATASET);
-
-		if (dataSetNode == null || dataSetNode.has("error")
-				|| !dataSetNode.isArray()) {
-			return dataSets;
-		}
-
-		for (int i = 0; i < dataSetNode.size(); i++) {
-			JsonNode json = dataSetNode.path(i);
-			DataSet dataset = new DataSet();
-			dataset.setId(json.get("id").asText());
-			dataset.setDataSetName(json.get("name").asText());
-			dataset.setAgencyId(json.get("agencyId").asText());
-			dataset.setInstrument(json.get("instrument").get("name").asText());
-			dataset.setPhysicalVariable(json.get("physicalVariable").asText());
-			dataset.setCMIP5VarName(json.get("CMIP5VarName").asText());
-			dataset.setUnits(json.get("units").asText());
-			dataset.setGridDimension(json.get("gridDimension").asText());
-			dataset.setSource(json.get("source").asText());
-			dataset.setStatus(json.get("status").asText());
-			dataset.setResponsiblePerson(json.get("responsiblePerson").asText());
-			dataset.setDataSourceName(json.get("dataSourceNameinWebInterface").asText());
-			dataset.setVariableName(json.get("variableNameInWebInterface").asText());
-			dataset.setDataSourceInput(json.get("dataSourceInputParameterToCallScienceApplicationCode").asText());
-			dataset.setVariableNameInput(json.get("variableNameInputParameterToCallScienceApplicationCode").asText());
-			String startTime = json.findPath("startTime").asText();
-			String endTime = json.findPath("endTime").asText();
-			Date tmpTime = null;
-			
-			try {
-				tmpTime = (new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a")).parse(startTime);
-				
-				if (tmpTime != null) {
-					dataset.setStartTime(new SimpleDateFormat("YYYYMM").format(tmpTime));
-				}
-		    } catch (ParseException e){	    
-
-		    }
-			
-			try {
-				tmpTime = (new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a")).parse(endTime);
-				
-				if (tmpTime != null) {
-					dataset.setEndTime(new SimpleDateFormat("YYYYMM").format(tmpTime));
-				}
-		    } catch (ParseException e){	    
-
-		    }
-			dataSets.add(dataset);
-		}
-		return dataSets;
-	}
-	
-public static List<DataSet> queryDataSet(String dataSetName, String agency, String instrument, String physicalVariable, String gridDimension, Date dataSetStartTime, Date dataSetEndTime) {
-		
-		List<DataSet> dataset = new ArrayList<DataSet>();
-		ObjectMapper mapper = new ObjectMapper();
-		ObjectNode queryJson = mapper.createObjectNode();
-		queryJson.put("name", dataSetName);
-		queryJson.put("agencyId", agency);
-		queryJson.put("instrument", instrument);
-		queryJson.put("physicalVariable", physicalVariable);
-		queryJson.put("gridDimension", gridDimension);
-		
-		if (dataSetEndTime != null) {
-			queryJson.put("dataSetEndTime", dataSetEndTime.getTime());
-		}
-		
-		if (dataSetStartTime != null) {
-			queryJson.put("dataSetStartTime", dataSetStartTime.getTime());
-		}
-		JsonNode dataSetNode = APICall.postAPI(DATASET_QUERY, queryJson);
-		
-		if (dataSetNode == null || dataSetNode.has("error")
-				|| !dataSetNode.isArray()) {
-			return dataset;
-		}
-
-		for (int i = 0; i < dataSetNode.size(); i++) {
-			JsonNode json = dataSetNode.path(i);
-			DataSet newDataSet = deserializeJsonToDataSet(json);
-			dataset.add(newDataSet);
-		}
-		return dataset;
-	}
-
-	private static DataSet deserializeJsonToDataSet(JsonNode json) {
-		DataSet newDataSet = new DataSet();
-		newDataSet.setId(json.get("id").asText());
-		newDataSet.setDataSetName(json.get("name").asText());
-		newDataSet.setAgencyId(json.get("agencyId").asText());
-		newDataSet.setInstrument(json.get("instrument").get("name").asText());
-		newDataSet.setPhysicalVariable(json.get("physicalVariable").asText());
-		newDataSet.setCMIP5VarName(json.get("CMIP5VarName").asText());
-		newDataSet.setUnits(json.get("units").asText());
-		newDataSet.setGridDimension(json.get("gridDimension").asText());
-		newDataSet.setSource(json.get("source").asText());
-		newDataSet.setStatus(json.get("status").asText());
-		newDataSet.setResponsiblePerson(json.get("responsiblePerson").asText());
-		newDataSet.setDataSourceName(json.get("dataSourceNameinWebInterface").asText());
-		newDataSet.setVariableName(json.get("variableNameInWebInterface").asText());
-		newDataSet.setDataSourceInput(json.get("dataSourceInputParameterToCallScienceApplicationCode").asText());
-		newDataSet.setVariableNameInput(json.get("variableNameInputParameterToCallScienceApplicationCode").asText());
-		String startTime = json.findPath("startTime").asText();
-		String endTime = json.findPath("endTime").asText();
-		Date tmpTime = null;
-		
-		try {
-			tmpTime = (new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a")).parse(startTime);
-			
-			if (tmpTime != null) {
-				newDataSet.setStartTime(new SimpleDateFormat("YYYYMM").format(tmpTime));
-			}
-	    } catch (ParseException e){	    
-	    }
-		
-		try {
-			tmpTime = (new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a")).parse(endTime);
-			
-			if (tmpTime != null) {
-				newDataSet.setEndTime(new SimpleDateFormat("YYYYMM").format(tmpTime));
-			}
-	    } catch (ParseException e){	    
-	    	
-	    }
-		return newDataSet;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/User.java
----------------------------------------------------------------------
diff --git a/app/models/User.java b/app/models/User.java
deleted file mode 100644
index becc703..0000000
--- a/app/models/User.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package models;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-
-import play.data.validation.Constraints;
-
-@Entity
-public class User {
-
-	@Id
-	@GeneratedValue(strategy = GenerationType.AUTO)
-	private long id;
-
-	private String userName;
-	@Constraints.Required
-	private String password;
-	@Constraints.Required
-	private String firstName;
-	@Constraints.Required
-	private String lastName;
-	private String middleInitial;
-	private String affiliation;
-	private String title;
-	@Constraints.Required
-	private String email;
-	private String mailingAddress;
-	private String phoneNumber;
-	private String faxNumber;
-	private String researchFields;
-	private String highestDegree;
-
-	// @OneToMany(mappedBy = "user", cascade={CascadeType.ALL})
-	// private Set<ClimateService> climateServices = new
-	// HashSet<ClimateService>();
-
-	public User() {
-	}
-
-	public User(String userName, String password, String firstName,
-			String lastName, String middleInitial, String affiliation,
-			String title, String email, String mailingAddress,
-			String phoneNumber, String faxNumber, String researchFields,
-			String highestDegree) {
-		super();
-		this.userName = userName;
-		this.password = password;
-		this.firstName = firstName;
-		this.lastName = lastName;
-		this.middleInitial = middleInitial;
-		this.affiliation = affiliation;
-		this.title = title;
-		this.email = email;
-		this.mailingAddress = mailingAddress;
-		this.phoneNumber = phoneNumber;
-		this.faxNumber = faxNumber;
-		this.researchFields = researchFields;
-		this.highestDegree = highestDegree;
-	}
-
-	public long getId() {
-		return id;
-	}
-
-	public String getUserName() {
-		return userName;
-	}
-
-	public String getPassword() {
-		return password;
-	}
-
-	public String getFirstName() {
-		return firstName;
-	}
-
-	public String getLastName() {
-		return lastName;
-	}
-
-	public String getMiddleInitial() {
-		return middleInitial;
-	}
-
-	public String getAffiliation() {
-		return affiliation;
-	}
-
-	public String getTitle() {
-		return title;
-	}
-
-	public String getEmail() {
-		return email;
-	}
-
-	public String getMailingAddress() {
-		return mailingAddress;
-	}
-
-	public String getPhoneNumber() {
-		return phoneNumber;
-	}
-
-	public String getFaxNumber() {
-		return faxNumber;
-	}
-
-	public String getResearchFields() {
-		return researchFields;
-	}
-
-	public String getHighestDegree() {
-		return highestDegree;
-	}
-	
-	public void setId(long id) {
-		this.id = id;
-	}
-
-	public void setUserName(String userName) {
-		this.userName = userName;
-	}
-
-	public void setPassword(String password) {
-		this.password = password;
-	}
-
-	public void setFirstName(String firstName) {
-		this.firstName = firstName;
-	}
-
-	public void setLastName(String lastName) {
-		this.lastName = lastName;
-	}
-
-	public void setMiddleInitial(String middleInitial) {
-		this.middleInitial = middleInitial;
-	}
-
-	public void setAffiliation(String affiliation) {
-		this.affiliation = affiliation;
-	}
-
-	public void setTitle(String title) {
-		this.title = title;
-	}
-
-	public void setEmail(String email) {
-		this.email = email;
-	}
-
-	public void setMailingAddress(String mailingAddress) {
-		this.mailingAddress = mailingAddress;
-	}
-
-	public void setPhoneNumber(String phoneNumber) {
-		this.phoneNumber = phoneNumber;
-	}
-
-	public void setFaxNumber(String faxNumber) {
-		this.faxNumber = faxNumber;
-	}
-
-	public void setResearchFields(String researchFields) {
-		this.researchFields = researchFields;
-	}
-
-	public void setHighestDegree(String highestDegree) {
-		this.highestDegree = highestDegree;
-	}
-
-	@Override
-	public String toString() {
-		return "User [id=" + id + ", userName=" + userName + ", password="
-				+ password + ", firstName=" + firstName + ", lastName="
-				+ lastName + ", middleInitial=" + middleInitial
-				+ ", affiliation=" + affiliation + ", title=" + title
-				+ ", email=" + email + ", mailingAddress=" + mailingAddress
-				+ ", phoneNumber=" + phoneNumber + ", faxNumber=" + faxNumber
-				+ ", researchFields=" + researchFields + ", highestDegree="
-				+ highestDegree + "]";
-	}
-
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/ClimateService.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/ClimateService.java b/app/models/metadata/ClimateService.java
deleted file mode 100644
index 63711e6..0000000
--- a/app/models/metadata/ClimateService.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.*;
-import com.fasterxml.jackson.databind.JsonNode;
-import util.APICall;
-import util.Constants;
-
-public class ClimateService {
-
-	private String id;
-	private String climateServiceName;
-	private String purpose;
-	private String url;
-	private String scenario;
-	private String version;
-	private String rootservice;
-	private String photo;
-
-	public String getScenario() {
-		return scenario;
-	}
-
-	public void setScenario(String scenario) {
-		this.scenario = scenario;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public void setVersion(String version) {
-		this.version = version;
-	}
-
-	public String getRootservice() {
-		return rootservice;
-	}
-
-	public void setRootservice(String rootservice) {
-		this.rootservice = rootservice;
-	}
-
-	private static final String GET_CLIMATE_SERVICES_CALL = Constants.NEW_BACKEND+"climateService/getAllClimateServices/json";
-
-	private static final String GET_MOST_RECENTLY_ADDED_CLIMATE_SERVICES_CALL = Constants.NEW_BACKEND+"climateService/getAllMostRecentClimateServicesByCreateTime/json";
-	
-	private static final String GET_MOST_RECENTLY_USED_CLIMATE_SERVICES_CALL = Constants.NEW_BACKEND+"climateService/getAllMostRecentClimateServicesByLatestAccessTime/json";
-	
-	private static final String GET_MOST_POPULAR_CLIMATE_SERVICES_CALL = Constants.NEW_BACKEND+"climateService/getAllMostUsedClimateServices/json";
-	
-	private static final String ADD_CLIMATE_SERVICE_CALL = Constants.NEW_BACKEND+"climateService/addClimateService";
-
-	private static final String DELETE_CLIMATE_SERVICE_CALL = Constants.NEW_BACKEND + util.Constants.NEW_DELETE_CLIMATE_SERVICE;
-	private static final String EDIT_CLIMATE_SERVICE_CALL = Constants.NEW_BACKEND+ "climateService/"
-			+ util.Constants.NEW_EDIT_CLIMATE_SERVICE + "/name/";
-
-	public ClimateService() {
-		// TODO Auto-generated constructor stub
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public String getClimateServiceName() {
-		return climateServiceName;
-	}
-
-	public String getPurpose() {
-		return purpose;
-	}
-
-	public String getUrl() {
-		return url;
-	}
-
-	public void setId(String id) {
-		this.id = id;
-	}
-
-	public void setClimateServiceName(String climateServiceName) {
-		this.climateServiceName = climateServiceName;
-	}
-
-	public void setPurpose(String purpose) {
-		this.purpose = purpose;
-	}
-
-	public void setUrl(String url) {
-		this.url = url;
-		setPhoto();
-	}
-
-	public static ClimateService find(String id) {
-		ClimateService climateService = new ClimateService();
-		climateService.setId(id);
-		return climateService;
-	}
-
-	/**
-	 * find a climateService by its name
-	 *
-	 * @param climateServiceName
-	 * @return the founded result. If not found, return null
-	 */
-	public static ClimateService findServiceByName(String climateServiceName){
-		List<ClimateService> allList = all();
-		for (ClimateService element : allList) {
-			String elementUri = element.getClimateServiceName();
-			if (elementUri.equals(climateServiceName))
-				return element;
-		}
-		return null;
-	}
-
-	/**
-	 * Generate the list of all sensor categories
-	 *
-	 * @return a list of all the sensor categories
-	 */
-	public static List<ClimateService> all() {
-
-		List<ClimateService> climateServices = new ArrayList<ClimateService>();
-
-		JsonNode climateServicesNode = APICall
-				.callAPI(GET_CLIMATE_SERVICES_CALL);
-
-		if (climateServicesNode == null || climateServicesNode.has("error")
-				|| !climateServicesNode.isArray()) {
-			return climateServices;
-		}
-
-		for (int i = 0; i < climateServicesNode.size(); i++) {
-			JsonNode json = climateServicesNode.path(i);
-			ClimateService newService = new ClimateService();
-			newService.setId(json.path("id").asText());
-			newService.setClimateServiceName(json.get(
-					"name").asText());
-			newService.setPurpose(json.path("purpose").asText());
-			newService.setUrl(json.path("url").asText());
-			//newService.setCreateTime(json.path("createTime").asText());
-			newService.setScenario(json.path("scenario").asText());
-			newService.setVersion(json.path("versionNo").asText());
-			newService.setRootservice(json.path("rootServiceId").asText());
-			climateServices.add(newService);
-		}
-		return climateServices;
-	}
-	
-	public static List<ClimateService> getMostRecentlyAdded() {
-
-		List<ClimateService> climateServices = new ArrayList<ClimateService>();
-
-		JsonNode climateServicesNode = APICall
-				.callAPI(GET_MOST_RECENTLY_ADDED_CLIMATE_SERVICES_CALL);
-		if (climateServicesNode == null || climateServicesNode.has("error")
-				|| !climateServicesNode.isArray()) {
-			return climateServices;
-		}
-
-		for (int i = 0; i < climateServicesNode.size(); i++) {
-			JsonNode json = climateServicesNode.path(i);
-			ClimateService newService = new ClimateService();
-			newService.setId(json.get("id").asText());
-			newService.setClimateServiceName(json.get(
-					"name").asText());
-			newService.setPurpose(json.findPath("purpose").asText());
-			newService.setUrl(json.findPath("url").asText());
-			newService.setScenario(json.findPath("scenario").asText());
-			newService.setVersion(json.findPath("versionNo").asText());
-			newService.setRootservice(json.findPath("rootServiceId").asText());
-			climateServices.add(newService);
-		}
-		return climateServices;
-	}
-	
-	public static List<ClimateService> getMostRecentlyUsed() {
-
-		List<ClimateService> climateServices = new ArrayList<ClimateService>();
-
-		JsonNode climateServicesNode = APICall
-				.callAPI(GET_MOST_RECENTLY_USED_CLIMATE_SERVICES_CALL);
-
-		if (climateServicesNode == null || climateServicesNode.has("error")
-				|| !climateServicesNode.isArray()) {
-			return climateServices;
-		}
-
-		for (int i = 0; i < climateServicesNode.size(); i++) {
-			JsonNode json = climateServicesNode.path(i);
-			ClimateService newService = new ClimateService();
-			newService.setId(json.get("id").asText());
-			newService.setClimateServiceName(json.get(
-					"name").asText());
-			newService.setPurpose(json.findPath("purpose").asText());
-			newService.setUrl(json.findPath("url").asText());
-			newService.setScenario(json.findPath("scenario").asText());
-			newService.setVersion(json.findPath("versionNo").asText());
-			newService.setRootservice(json.findPath("rootServiceId").asText());
-			climateServices.add(newService);
-		}
-		return climateServices;
-	}
-	
-	public static List<ClimateService> getMostPopular() {
-
-		List<ClimateService> climateServices = new ArrayList<ClimateService>();
-
-		JsonNode climateServicesNode = APICall
-				.callAPI(GET_MOST_POPULAR_CLIMATE_SERVICES_CALL);
-
-		if (climateServicesNode == null || climateServicesNode.has("error")
-				|| !climateServicesNode.isArray()) {
-			return climateServices;
-		}
-
-		for (int i = 0; i < climateServicesNode.size(); i++) {
-			JsonNode json = climateServicesNode.path(i);
-			ClimateService newService = new ClimateService();
-			newService.setId(json.get("id").asText());
-			newService.setClimateServiceName(json.get(
-					"name").asText());
-			newService.setPurpose(json.findPath("purpose").asText());
-			newService.setUrl(json.findPath("url").asText());
-			newService.setScenario(json.findPath("scenario").asText());
-			newService.setVersion(json.findPath("versionNo").asText());
-			newService.setRootservice(json.findPath("rootServiceId").asText());
-			climateServices.add(newService);
-		}
-		return climateServices;
-	}
-
-	/**
-	 * Create a new climate service
-	 *
-	 * @param jsonData
-	 * @return the response from the API server
-	 */
-	public static JsonNode create(JsonNode jsonData) {
-		return APICall.postAPI(ADD_CLIMATE_SERVICE_CALL, jsonData);
-	}
-
-	/**
-	 * Edit a climate service
-	 *
-	 * @param jsonData
-	 * @return
-	 * @throws UnsupportedEncodingException
-	 */
-	public static JsonNode edit(String climateServiceName, JsonNode jsonData) throws UnsupportedEncodingException {
-		return APICall.putAPI(EDIT_CLIMATE_SERVICE_CALL + URLEncoder.encode(climateServiceName, "UTF-8"), jsonData);
-	}
-
-	/**
-	 * Delete a sensor category
-	 *
-	 * @param climateServiceId
-	 * @return
-	 * @throws UnsupportedEncodingException
-	 */
-	public static JsonNode delete(String climateServiceId) throws UnsupportedEncodingException {
-		return APICall.deleteAPI(DELETE_CLIMATE_SERVICE_CALL
-				+ URLEncoder.encode(climateServiceId, "UTF-8"));
-	}
-
-	/**
-	 * Generate a list of climate service names
-	 *
-	 * @return a list of climate service names
-	 */
-	public static List<String> allClimateServiceName() {
-		List<ClimateService> allList = all();
-		List<String> resultList = new ArrayList<String>();
-		for (ClimateService element : allList) {
-			String elementName = element.getClimateServiceName();
-			if (elementName != null)
-				resultList.add(elementName);
-		}
-		return resultList;
-	}
-
-	public void setPhoto(){
-		if(url.contains("threeDimVarVertical.html")){
-			photo = "/assets/images/3DVerticalProfile.jpeg";
-		}else if(url.contains("twoDimZonalMean.html")){
-			photo = "http://einstein.sv.cmu.edu:9002/static/twoDimZonalMean/65778f88e3e057738423aa7183f5ee54/nasa_modis_clt_200401_200412_Annual.jpeg";
-		}else if(url.contains("twoDimMap.html")){
-			photo = "http://einstein.sv.cmu.edu:9002/static/twoDimMap/6879a2eedd1910f4c45e6213d342e066/nasa_modis_clt_200401_200412_Annual.jpeg";
-		}else if(url.contains("twoDimSlice3D.html")){
-			photo = "http://einstein.sv.cmu.edu:9002/static/twoDimSlice3D/ba6b08d54048d9c8349185d2606d3638/nasa_airs_ta_200401_200412_Annual.jpeg";
-		}else if(url.contains("scatterPlot2Vars.html")){
-			photo = "/assets/images/ScatterPlot.png";
-		}else if(url.contains("conditionalSampling.html")){
-			photo = "/assets/images/ConditionalSampling1Variable.jpeg";
-		}else if(url.contains("twoDimTimeSeries.html")){
-			photo = "/assets/images/TimeSeriesPlot.jpeg";
-		}else if(url.contains("threeDimZonalMean.html")){
-			photo = "http://einstein.sv.cmu.edu:9002/static/threeDimZonalMean/e4e120045d2bb589eed371e1ca08fd99/nasa_airs_ta_200401_200412_Annual.jpeg";
-		}else if(url.contains("diffPlot2Vars.html")){
-			photo = "/assets/images/DifferencePlot.png";
-		}else if (url.contains("regridAndDownload.html")) {
-			photo = "/assets/images/regrid.jpg";
-		}else if (url.contains("correlationMap.html")) {
-			photo = "/assets/images/correlationMap.png";
-		}else if (url.contains("conditionalSampling2Var.html")) {
-			photo = "/assets/images/conditionalSampling2Variables.jpeg";
-		}
-		else{
-			photo = "http://upload.wikimedia.org/wikipedia/commons/3/33/White_square_with_question_mark.png";
-		}
-	}
-	public String getPhoto() {
-		return photo;
-	}
-
-}
-



[23/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js2/dataList.js
----------------------------------------------------------------------
diff --git a/public/html/js2/dataList.js b/public/html/js2/dataList.js
deleted file mode 100644
index 2877115..0000000
--- a/public/html/js2/dataList.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// modelName: [category, listOfVar],
-var groupList={
-"group1":         ["Model: Historical"],
-"group2":         ["Model: AMIP"],
-"group3":         ["Observation"],
-"group4":         ["Reanalysis"],
-};
-
-var dataList={
-"group1":         ["Model: Historical"],
-"GFDL/ESM2G":     ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "zos", "lai", "rlds", "rlus", "rldscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'uas': [199101, 200512, '.'], 'rlutcs': [199601, 200512, '.'], 'rsutcs': [199101, 200512, '.'], 'rldscs': [199601, 200512, '.'], 'pr': [199601, 200512, '.'], 'rlut': [199601, 200512, '.'], 'cli': [199101, 200512, 'regridded'], 'rlus': [199601, 200512, '.'], 'tos': [199601, 200512, 'regridded'], 'ts': [199601, 200512, '.'], 'zos': [199601, 200512, 'regridded'], 'clt': [199601, 200512, '.'], 'vas': [199101, 200512, '.'], 'clw': [199101, 200512, 'regridded'], 'ta': [199101, 200512, '.'], 'lai': [199601, 200512, '.'], 'rsdt': [199101, 200512, '.'], 'hur': [198601, 200512, '.'], 'hus': [199101, 200512, '.'], 'sfcWind': [199101, 200512, '.'], 'rlds': [199601, 200512, '.'], 'wap': [198601, 200512, '.'], 'rsut': [199101, 200512, '.']} ],       
-"GISS/E2-H":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'hur': [195101, 200512, '.'], 'rsuscs': [199501, 200512, '.'], 'rsdscs': [199501, 200512, '.'], 'rlutcs': [199501, 200512, '.'], 'rsutcs': [199501, 200512, '.'], 'rldscs': [199501, 200512, '.'], 'pr': [199501, 200512, '.'], 'rlut': [199501, 200512, '.'], 'cli': [195101, 200512, 'regridded'], 'rlus': [199501, 200512, '.'], 'rlds': [199501, 200512, '.'], 'ts': [199501, 200512, '.'], 'clt': [199501, 200512, '.'], 'vas': [199501, 200512, '.'], 'clw': [195101, 200512, 'regridded'], 'uas': [199501, 200512, '.'], 'wap': [195101, 200512, '.'], 'rsdt': [199501, 200512, '.'], 'rsds': [199501, 200512, '.'], 'prw': [199501, 200512, '.'], 'sfcWind': [199501, 200512, '.'], 'tos': [199501, 200512, '.'], 'rsus': [199501, 200512, '.'], 'rsut': [199501, 200512, '.']} ],
       
-"GISS/E2-R":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'hur': [195101, 200512, '.'], 'rsuscs': [199501, 200012, '.'], 'uas': [199501, 200512, '.'], 'rlutcs': [199501, 200012, '.'], 'rsutcs': [199501, 200012, '.'], 'rldscs': [199501, 200012, '.'], 'pr': [199501, 200512, '.'], 'rlut': [199501, 200012, '.'], 'cli': [200101, 200512, 'regridded'], 'rlus': [199501, 200012, '.'], 'tos': [199501, 200512, '.'], 'ts': [199501, 200512, '.'], 'clt': [199501, 200512, '.'], 'vas': [199501, 200512, '.'], 'clw': [199501, 200512, 'regridded'], 'rsdscs': [199501, 200012, '.'], 'wap': [195101, 200512, '.'], 'rsdt': [199501, 200012, '.'], 'rsds': [199501, 200012, '.'], 'sfcWind': [199501, 200512, '.'], 'rsus': [199501, 200012, '.'], 'rsut': [199501, 200012, '.']} ],      
-"NCAR/CAM5":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "sfcWind", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'hur': [195001, 200512, '.'], 'rsuscs': [199501, 200512, '.'], 'rsdscs': [199501, 200512, '.'], 'rlutcs': [199501, 200512, '.'], 'rsutcs': [199501, 200512, '.'], 'pr': [199501, 200512, '.'], 'rlut': [199501, 200512, '.'], 'cli': [197501, 200512, 'regridded'], 'rlus': [199501, 200512, '.'], 'tos': [199501, 200512, 'regridded'], 'ts': [199501, 200512, '.'], 'zos': [199501, 200512, 'regridded'], 'clt': [199501, 200512, '.'], 'clw': [197501, 200512, 'regridded'], 'wap': [195001, 200512, '.'], 'lai': [199501, 200512, '.'], 'rsdt': [199501, 200512, '.'], 'rsds': [199501, 200512, '.'], 'sfcWind': [199501, 200512, '.'], 'rlds': [199501, 200512, '.'], 'rsus': [199501, 200512, '.'], 'rsut': [199501, 200512, '.']} ],      
-"NCC/NORESM":     ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'hur': [195001, 200512, '.'], 'rsuscs': [199501, 200512, '.'], 'rsdscs': [199501, 200512, '.'], 'rlutcs': [199501, 200512, '.'], 'rsutcs': [199501, 200512, '.'], 'rldscs': [199501, 200512, '.'], 'pr': [199501, 200512, '.'], 'rlut': [199501, 200512, '.'], 'cli': [195001, 200512, 'regridded'], 'rlus': [199501, 200512, '.'], 'tos': [199501, 200512, 'regridded'], 'ts': [199501, 200512, '.'], 'zos': [199501, 200512, 'regridded'], 'clt': [199501, 200512, '.'], 'vas': [199501, 200512, '.'], 'clw': [195001, 200512, 'regridded'], 'uas': [199501, 200512, '.'], 'wap': [195001, 200512, '.'], 'lai': [199501, 200512, '.'], 'rsdt': [199501, 200512, '.'], 'rsds': [199501, 200512, '.'], 'hus': [199501, 200512, '.'], 'rlds': [199501, 200512, '.'], 'rsus'
 : [199501, 200512, '.'], 'ta': [199501, 200512, '.'], 'rsut': [199501, 200512, '.']} ],       
-"UKMO/HadGEM2-ES":["Model: Historical",      ["pr", "clt", "ts", "uas", "vas", "sfcWind", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'rsds': [199501, 200511, '.'], 'rsuscs': [199501, 200511, '.'], 'rsdscs': [199501, 200511, '.'], 'rlutcs': [199501, 200511, '.'], 'rsutcs': [199501, 200511, '.'], 'rldscs': [199501, 200511, '.'], 'pr': [199501, 200511, '.'], 'rlut': [199501, 200511, '.'], 'cli': [198412, 200511, 'regridded'], 'rlus': [199501, 200511, '.'], 'rlds': [199501, 200511, '.'], 'ts': [199501, 200511, '.'], 'zos': [195912, 200512, '.'], 'clt': [199501, 200511, '.'], 'vas': [199501, 200511, '.'], 'clw': [198412, 200511, 'regridded'], 'uas': [199501, 200511, '.'], 'wap': [198412, 200511, '.'], 'lai': [199501, 200511, '.'], 'rsdt': [199501, 200511, '.'], 'hur': [198412, 200511, '.'], 'sfcWind': [199501, 200511, '.'], 'rsus': [199501, 200511, '.'], 'rsut': [199501, 200511, '
 .']} ],            
-//                [ 
-"group2":         ["Model: AMIP"],
-"CCCMA/CANAM4":   ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'va': [195001, 200912, '.'], 'ci': [195001, 200912, '.'], 'sci': [195001, 200912, '.'], 'rsds': [195001, 200912, '.'], 'prc': [195001, 200912, '.'], 'cl': [195001, 200912, '.'], 'rsuscs': [195001, 200912, '.'], 'uas': [195001, 200912, '.'], 'huss': [195001, 200912, '.'], 'hfss': [195001, 200912, '.'], 'rlutcs': [195001, 200912, '.'], 'evspsbl': [195001, 200912, '.'], 'prsn': [195001, 200912, '.'], 'rldscs': [195001, 200912, '.'], 'ccb': [195001, 200912, '.'], 'pr': [195001, 200912, '.'], 'ps': [195001, 200912, '.'], 'cli': [195001, 200912, 'regridded'], 'rlus': [195001, 200912, '.'], 'rlds': [195001, 200912, '.'], 'tas': [195001, 200912, '.'], 'ts': [195001, 200912, '.'], 'prw': [195001, 200912, '.'], 'clt': [195001, 200912, '.'], 'vas': [195001,
  200912, '.'], 'clw': [195001, 200912, 'regridded'], 'rsdscs': [195001, 200912, '.'], 'wap': [195001, 200912, '.'], 'zg': [195001, 200912, '.'], 'tasmin': [195001, 200912, '.'], 'psl': [195001, 200912, '.'], 'rlut': [195001, 200912, '.'], 'hurs': [195001, 200912, '.'], 'rsdt': [195001, 200912, '.'], 'hur': [195001, 200912, '.'], 'hus': [195001, 200912, '.'], 'sbl': [195001, 200912, '.'], 'clivi': [195001, 200912, '.'], 'mc': [195001, 200912, '.'], 'rtmt': [195001, 200912, '.'], 'cct': [195001, 200912, '.'], 'rsutcs': [195001, 200912, '.'], 'sfcWind': [195001, 200912, '.'], 'tauv': [195001, 200912, '.'], 'clwvi': [195001, 200912, '.'], 'tauu': [195001, 200912, '.'], 'tasmax': [195001, 200912, '.'], 'rsus': [195001, 200912, '.'], 'ta': [195001, 200912, '.'], 'ua': [195001, 200912, '.'], 'rsut': [195001, 200912, '.'], 'hfls': [195001, 200912, '.']} ],         
-"CSIRO/MK3.6":    ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'rsds': [197901, 200912, '.'], 'rsuscs': [197901, 200912, '.'], 'uas': [197901, 200912, '.'], 'rlutcs': [197901, 200912, '.'], 'rsutcs': [197901, 200912, '.'], 'rldscs': [197901, 200912, '.'], 'pr': [199501, 200912, '.'], 'rlut': [197901, 200912, '.'], 'cli': [197901, 200912, 'regridded'], 'rlus': [197901, 200912, '.'], 'rlds': [197901, 200912, '.'], 'ts': [199501, 200912, '.'], 'clt': [199501, 200912, '.'], 'vas': [197901, 200912, '.'], 'clw': [199901, 200912, 'regridded'], 'rsdscs': [197901, 200912, '.'], 'wap': [199001, 200512, '.'], 'rsdt': [197901, 200912, '.'], 'hur': [199001, 200512, '.'], 'sfcWind': [197901, 200912, '.'], 'rsus': [197901, 200912, '.'], 'rsut': [197901, 200912, '.']} ],        
-"GFDL/CM3":       ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'hur': [198901, 200812, '.'], 'rsuscs': [199401, 200812, '.'], 'rsdscs': [199401, 200812, '.'], 'rlutcs': [199401, 200812, '.'], 'rsutcs': [199401, 200812, '.'], 'rldscs': [199401, 200812, '.'], 'pr': [199401, 200812, '.'], 'rlut': [199401, 200812, '.'], 'cli': [197901, 200812, 'regridded'], 'rlus': [199401, 200812, '.'], 'rlds': [199401, 200812, '.'], 'ts': [199401, 200812, '.'], 'clt': [199401, 200812, '.'], 'vas': [199401, 200812, '.'], 'clw': [197901, 200812, 'regridded'], 'uas': [199401, 200812, '.'], 'wap': [198901, 200812, '.'], 'rsdt': [199401, 200812, '.'], 'rsds': [199401, 200812, '.'], 'hus': [198901, 200812, '.'], 'rsus': [199401, 200812, '.'], 'ta': [198901, 200812, '.'], 'rsut': [199401, 200812, '.']} ],     
-"IPSL/CM5A-LR":   ["Model: AMIP",            ["pr", "clt", "ts", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", ], {'pr': [199501, 200912, '.'], 'rlut': [199501, 200912, '.'], 'rsus': [199501, 200912, '.'], 'cli': [197901, 200912, 'regridded'], 'rlus': [199501, 200912, '.'], 'rsdt': [199501, 200912, '.'], 'rlds': [199501, 200912, '.'], 'rsdscs': [199501, 200912, '.'], 'ts': [199501, 200912, '.'], 'rlutcs': [199501, 200912, '.'], 'rsutcs': [199501, 200912, '.'], 'rsds': [199501, 200912, '.'], 'rsuscs': [199501, 200912, '.'], 'clt': [199501, 200912, '.'], 'rldscs': [199501, 200912, '.'], 'clw': [197901, 200912, 'regridded'], 'rsut': [199501, 200912, '.'], 'lai': [199501, 200912, '.']} ],         
-"MIROC/MIROC5":   ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'hur': [192001, 200912, '.'], 'rsuscs': [197901, 200812, '.'], 'rsdscs': [197901, 200812, '.'], 'rlutcs': [197901, 200812, '.'], 'rsutcs': [197901, 200812, '.'], 'rldscs': [197901, 200812, '.'], 'pr': [197901, 200812, '.'], 'rlut': [197901, 200812, '.'], 'cli': [197901, 199812, 'regridded'], 'rlus': [197901, 200812, '.'], 'rlds': [197901, 200812, '.'], 'ts': [197901, 200812, '.'], 'clt': [197901, 200812, '.'], 'vas': [197901, 200812, '.'], 'clw': [197901, 200812, 'regridded'], 'uas': [197901, 200812, '.'], 'wap': [192001, 200912, '.'], 'lai': [197901, 200812, '.'], 'rsdt': [197901, 200812, '.'], 'rsds': [197901, 200812, '.'], 'sfcWind': [197901, 200812, '.'], 'rsus': [197901, 200812, '.'], 'rsut': [197901, 200812, '.']} ],         
-"UKMO/HadGEM2-A": ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'hur': [197809, 200812, '.'], 'rsuscs': [199501, 200812, '.'], 'rsdscs': [199501, 200812, '.'], 'rlutcs': [199501, 200812, '.'], 'rsutcs': [199501, 200812, '.'], 'rldscs': [199501, 200812, '.'], 'pr': [199501, 200812, '.'], 'rlut': [199501, 200812, '.'], 'cli': [197809, 200811, 'regridded'], 'rlus': [200812, 200812, '.'], 'rlds': [199501, 200812, '.'], 'ts': [199501, 200812, '.'], 'clt': [199501, 200812, '.'], 'vas': [199501, 200812, '.'], 'clw': [197809, 200811, 'regridded'], 'uas': [199501, 200812, '.'], 'wap': [197809, 200812, '.'], 'hurs': [197809, 200812, '.'], 'rsdt': [199501, 200812, '.'], 'rsds': [199501, 200812, '.'], 'sfcWind': [199501, 200812, '.'], 'rsus': [199501, 200812, '.'], 'rsut': [199501, 200812, '.']} ],           
-//                [ 
-"group3":         ["Observation"],
-"NASA/GRACE":     ["Observation", ["zl", "zo", ], {'zl': [200301, 201112, '.'], 'zo': [200301, 201112, '.']} ],            
-"NASA/MODIS":     ["Observation", ["clt", "lai", ], {'cltNobs': [200003, 201109, '.'], 'clt': [200003, 201109, '.'], 'lai': [200002, 200912, '.'], 'cltStddev': [200003, 201109, '.']} ],
-"NASA/AMSRE":     ["Observation", ["tos", ], {'tosNobs': [200206, 201012, '.'], 'tos': [200206, 201012, '.'], 'tosStderr': [200206, 201012, '.']} ],
-"NASA/TRMM":      ["Observation", ["pr", ], {'pr': [199801, 201312, '.']} ],
-"NASA/GPCP":      ["Observation", ["pr", ], {'pr': [197901, 201106, '.']} ],
-"NASA/QuikSCAT":  ["Observation", ["uas", "vas", "sfcWind", ], {'uasNobs': [199908, 200910, '.'], 'vasStderr': [199908, 200910, '.'], 'uas': [199908, 200910, '.'], 'uasStderr': [199908, 200910, '.'], 'vas': [199908, 200910, '.'], 'sfcWind': [199908, 200910, '.'], 'sfcWindStderr': [199908, 200910, '.'], 'sfcWindNobs': [199908, 200910, '.'], 'vasNobs': [199908, 200910, '.']} ],
-"NASA/AVISO":     ["Observation", ["zos", ], {'zos': [199210, 201012, '.']} ],
-"NOAA/NODC":      ["Observation", ["ohc700", "ohc2000", ], {'ohc2000': [200501, 201212, '.'], 'ohc700': [195501, 201212, '.']} ],
-"NASA/CERES":     ["Observation", ["rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", ], {'rlut': [200003, 201206, '.'], 'rlus': [200003, 201002, '.'], 'rlutcs': [200003, 201206, '.'], 'rsuscs': [200003, 201002, '.'], 'rsdscs': [200003, 201002, '.'], 'rsdt': [200003, 201206, '.'], 'rsutcs': [200003, 201206, '.'], 'rsds': [200003, 201002, '.'], 'rlds': [200003, 201002, '.'], 'rldscs': [200003, 201002, '.'], 'rsus': [200003, 201002, '.'], 'rsut': [200003, 201206, '.']} ],
-"NASA/AIRS":      ["Observation", ["ta", "hus", ], {'hus': [200209, 201105, '.'], 'tas': [200209, 201112, '.'], 'ta': [200209, 201105, '.']} ],
-"NASA/MLS":       ["Observation", ["ta", "hus", ], {'hus': [200408, 201012, '.'], 'ta': [200408, 201012, '.']} ],
-"ARGO/ARGO":      ["Observation", ["ot", "os", ], {'ot': [200101, 201305, '.'], 'os': [200101, 201305, '.']} ],           
-//
-"group4":         ["Reanalysis"],
-"ECMWF/interim":  ["Reanalysis",  ["clt", "tos", "uas", "vas", "sfcWind", "wap", "hur", ], {'tos': [197901, 201402, '.'], 'uas': [199501, 201412, '.'], 'sfcWind': [199501, 201412, '.'], 'hur': [197901, 201402, '.'], 'clt': [197901, 201404, '.'], 'vas': [199501, 201412, '.'], 'wap': [197901, 201402, '.']} ], 
-};

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js2/dataList1.js
----------------------------------------------------------------------
diff --git a/public/html/js2/dataList1.js b/public/html/js2/dataList1.js
deleted file mode 100644
index 45d2632..0000000
--- a/public/html/js2/dataList1.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// modelName: [category, listOfVar],
-var groupList={
-"group1":         ["Model: Historical"],
-"group2":         ["Model: AMIP"],
-"group3":         ["Observation"],
-"group4":         ["Reanalysis"],
-};
-
-var dataList={
-"group1":         ["Model: Historical"],
-"GFDL/ESM2G":     ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "zos", "lai", "rlds", "rlus", "rldscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'uas': [199101, 200512, '.'], 'rlutcs': [199501, 200512, 'break'], 'rsutcs': [199101, 200512, '.'], 'rldscs': [199501, 200512, 'break'], 'pr': [199601, 200512, '.'], 'rlut': [199501, 200512, 'break'], 'cli': [199101, 200512, 'regridded'], 'rlus': [199501, 200512, 'break'], 'tos': [199601, 200512, 'regridded'], 'ts': [199601, 200512, '.'], 'zos': [199601, 200512, 'regridded'], 'clt': [199601, 200512, '.'], 'vas': [199101, 200512, '.'], 'clw': [199101, 200512, 'regridded'], 'ta': [199101, 200512, '.'], 'lai': [199501, 200512, 'break'], 'rsdt': [199101, 200512, '.'], 'hur': [198601, 200512, '.'], 'hus': [199101, 200512, '.'], 'sfcWind': [199101, 200512, '.'], 'rlds': [199501, 200512, 'break'], 'wap': [198601, 200512, '.'], 'rsut': [199101, 200512, '.']} ],       
-"GISS/E2-H":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'rsds': [199501, 200512, 'break'], 'rsuscs': [199501, 200512, 'break'], 'uas': [199501, 200512, 'break'], 'rlutcs': [199501, 200512, 'break'], 'rsutcs': [199501, 200512, 'break'], 'rldscs': [199501, 200512, 'break'], 'pr': [199501, 200512, '.'], 'rlut': [199501, 200512, 'break'], 'cli': [195101, 200512, 'regridded'], 'rlus': [199501, 200512, 'break'], 'tos': [199501, 200512, 'break'], 'ts': [199501, 200512, '.'], 'clt': [199501, 200512, '.'], 'vas': [199501, 200512, 'break'], 'clw': [195101, 200512, 'regridded'], 'rsdscs': [199501, 200512, 'break'], 'ta': [199501, 200512, 'break'], 'rsdt': [199501, 200512, 'break'], 'hur': [195101, 200512, '.'], 'hus': [199501, 200512, 'break'], 'prw': [199501, 200512, '.'], 'sfcWind': [199501, 200512, 'br
 eak'], 'rlds': [199501, 200512, 'break'], 'rsus': [199501, 200512, 'break'], 'wap': [195101, 200512, '.'], 'rsut': [199501, 200512, 'break']} ],      
-"GISS/E2-R":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "zos", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'rsds': [199501, 200512, 'break'], 'rsuscs': [199501, 200512, 'break'], 'uas': [199501, 200512, 'break'], 'rlutcs': [199501, 200512, 'break'], 'rsutcs': [199501, 200512, 'break'], 'rldscs': [199501, 200512, 'break'], 'pr': [199501, 200512, '.'], 'rlut': [199501, 200512, 'break'], 'cli': [200101, 200512, 'regridded'], 'rlus': [199501, 200512, 'break'], 'tos': [199501, 200512, 'break'], 'ts': [199501, 200512, '.'], 'zos': [199501, 200512, 'break'], 'clt': [199501, 200512, '.'], 'vas': [199501, 200512, 'break'], 'clw': [199501, 200512, 'regridded'], 'rsdscs': [199501, 200512, 'break'], 'ta': [199501, 200512, 'break'], 'rsdt': [199501, 200512, 'break'], 'hur': [195101, 200512, '.'], 'hus': [199501, 200512, 'break'], 'sfcWind': [199501, 200512, 
 'break'], 'rsus': [199501, 200512, 'break'], 'wap': [195101, 200512, '.'], 'rsut': [199501, 200512, 'break']} ],      
-"NCAR/CAM5":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "sfcWind", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'rsds': [199501, 200512, 'break'], 'rsuscs': [199501, 200512, 'break'], 'rsdscs': [199501, 200512, 'break'], 'rlutcs': [199501, 200512, 'break'], 'rsutcs': [199501, 200512, 'break'], 'pr': [199501, 200512, '.'], 'rlut': [199501, 200512, 'break'], 'cli': [197501, 200512, 'regridded'], 'rlus': [199501, 200512, 'break'], 'tos': [199501, 200512, 'regridded'], 'ts': [199501, 200512, '.'], 'zos': [199501, 200512, 'regridded'], 'clt': [199501, 200512, '.'], 'clw': [197501, 200512, 'regridded'], 'ta': [199501, 200512, 'break'], 'lai': [199501, 200512, 'break'], 'rsdt': [199501, 200512, 'break'], 'hur': [195001, 200512, '.'], 'hus': [199501, 200512, 'break'], 'sfcWind': [199501, 200512, 'break'], 'rlds': [199501, 200512, 'break'], 'rsus': [199501, 200512, 'b
 reak'], 'wap': [195001, 200512, '.'], 'rsut': [199501, 200512, 'break']} ],      
-"NCC/NORESM":     ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'rsds': [199501, 200512, 'break'], 'rsuscs': [199501, 200512, 'break'], 'uas': [199501, 200512, 'break'], 'rlutcs': [199501, 200512, 'break'], 'rsutcs': [199501, 200512, 'break'], 'rldscs': [199501, 200512, 'break'], 'pr': [199501, 200512, '.'], 'rlut': [199501, 200512, 'break'], 'cli': [195001, 200512, 'regridded'], 'rlus': [199501, 200512, 'break'], 'tos': [199501, 200512, 'regridded'], 'ts': [199501, 200512, '.'], 'zos': [199501, 200512, 'regridded'], 'clt': [199501, 200512, '.'], 'vas': [199501, 200512, 'break'], 'clw': [195001, 200512, 'regridded'], 'rsdscs': [199501, 200512, 'break'], 'ta': [199501, 200512, 'break'], 'lai': [199501, 200512, 'break'], 'rsdt': [199501, 200512, 'break'], 'hur': [195001, 200512, '.'], 'hus': [199501, 
 200512, 'break'], 'rlds': [199501, 200512, 'break'], 'rsus': [199501, 200512, 'break'], 'wap': [195001, 200512, '.'], 'rsut': [199501, 200512, 'break']} ],       
-"UKMO/HadGEM2-ES":["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'hur': [198412, 200511, '.'], 'rsuscs': [199501, 200511, 'break'], 'uas': [199501, 200511, 'break'], 'rlutcs': [199501, 200511, 'break'], 'rsutcs': [199501, 200511, 'break'], 'rldscs': [199501, 200511, 'break'], 'pr': [199501, 200511, '.'], 'rlut': [199501, 200511, 'break'], 'cli': [198412, 200511, 'regridded'], 'rlus': [199501, 200511, 'break'], 'tos': [199501, 200512, 'break'], 'ts': [199501, 200511, '.'], 'zos': [195912, 200512, '.'], 'clt': [199501, 200511, '.'], 'vas': [199501, 200511, 'break'], 'clw': [198412, 200511, 'regridded'], 'rsdscs': [199501, 200511, 'break'], 'ta': [199501, 200511, 'break'], 'lai': [199501, 200511, 'break'], 'rsdt': [199501, 200511, 'break'], 'rsds': [199501, 200511, 'break'], 'hus': [199501, 2
 00511, 'break'], 'sfcWind': [199501, 200511, 'break'], 'rlds': [199501, 200511, 'break'], 'rsus': [199501, 200511, 'break'], 'wap': [198412, 200511, '.'], 'rsut': [199501, 200511, 'break']} ],            
-//                [ 
-"group2":         ["Model: AMIP"],
-"CCCMA/CANAM4":   ["Model: AMIP",            ["pr", "clt", "ts", "tas", "hurs", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'va': [195001, 200912, '.'], 'ci': [195001, 200912, '.'], 'sci': [195001, 200912, '.'], 'rsds': [199501, 200912, 'break'], 'prc': [195001, 200912, '.'], 'cl': [195001, 200912, '.'], 'rsuscs': [199501, 200912, 'break'], 'uas': [199501, 200912, 'break'], 'huss': [195001, 200912, '.'], 'hfss': [195001, 200912, '.'], 'rlutcs': [199501, 200912, 'break'], 'rsutcs': [199501, 200912, 'break'], 'prsn': [195001, 200912, '.'], 'rldscs': [199501, 200912, 'break'], 'ccb': [195001, 200912, '.'], 'pr': [199501, 200912, 'break'], 'rlut': [199501, 200912, 'break'], 'cli': [195001, 200912, 'regridded'], 'rlus': [199501, 200912, 'break'], 'rlds': [199501, 200912, 'break'], 'tas': [195001, 200912, '.'], 'ts': [195001, 200912, '.'], 'prw': [195001, 200
 912, '.'], 'clt': [199501, 200912, 'break'], 'vas': [199501, 200912, 'break'], 'clw': [195001, 200912, 'regridded'], 'rsdscs': [199501, 200912, 'break'], 'ta': [199501, 200912, 'break'], 'zg': [195001, 200912, '.'], 'tasmin': [195001, 200912, '.'], 'psl': [195001, 200912, '.'], 'ps': [195001, 200912, '.'], 'hurs': [195001, 200912, '.'], 'rsdt': [199501, 200912, 'break'], 'hur': [195001, 200912, 'break'], 'hus': [199501, 200912, 'break'], 'sbl': [195001, 200912, '.'], 'clivi': [195001, 200912, '.'], 'mc': [195001, 200912, '.'], 'rtmt': [195001, 200912, '.'], 'cct': [195001, 200912, '.'], 'evspsbl': [195001, 200912, '.'], 'sfcWind': [199501, 200912, 'break'], 'tauv': [195001, 200912, '.'], 'clwvi': [195001, 200912, '.'], 'tauu': [195001, 200912, '.'], 'tasmax': [195001, 200912, '.'], 'rsus': [199501, 200912, 'break'], 'wap': [195001, 200912, 'break'], 'ua': [195001, 200912, '.'], 'rsut': [199501, 200912, 'break'], 'hfls': [195001, 200912, '.']} ],         
-"CSIRO/MK3.6":    ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'rsds': [199501, 200912, 'break'], 'rsuscs': [199501, 200912, 'break'], 'uas': [199501, 200912, 'break'], 'rlutcs': [199501, 200912, 'break'], 'rsutcs': [199501, 200912, 'break'], 'rldscs': [199501, 200912, 'break'], 'pr': [199501, 200912, '.'], 'rlut': [199501, 200912, 'break'], 'cli': [197901, 200912, 'regridded'], 'rlus': [199501, 200912, 'break'], 'rlds': [199501, 200912, 'break'], 'ts': [199501, 200912, '.'], 'clt': [199501, 200912, '.'], 'vas': [199501, 200912, 'break'], 'clw': [199901, 200912, 'regridded'], 'rsdscs': [199501, 200912, 'break'], 'ta': [199501, 200912, 'break'], 'rsdt': [199501, 200912, 'break'], 'hur': [199001, 200512, '.'], 'hus': [199501, 200912, 'break'], 'sfcWind': [199501, 200912, 'break'], 'rsus': [199501, 200912, 'bre
 ak'], 'wap': [199001, 200512, '.'], 'rsut': [199501, 200912, 'break']} ],        
-"GFDL/CM3":       ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'rsds': [199501, 200812, 'break'], 'rsuscs': [199501, 200812, 'break'], 'uas': [199501, 200812, 'break'], 'rlutcs': [199501, 200812, 'break'], 'rsutcs': [199501, 200812, 'break'], 'rldscs': [199501, 200812, 'break'], 'pr': [199401, 200812, '.'], 'rlut': [199501, 200812, 'break'], 'cli': [197901, 200812, 'regridded'], 'rlus': [199501, 200812, 'break'], 'rlds': [199501, 200812, 'break'], 'ts': [199401, 200812, '.'], 'clt': [199401, 200812, '.'], 'vas': [199501, 200812, 'break'], 'clw': [197901, 200812, 'regridded'], 'rsdscs': [199501, 200812, 'break'], 'ta': [198901, 200812, '.'], 'rsdt': [199501, 200812, 'break'], 'hur': [198901, 200812, '.'], 'hus': [198901, 200812, '.'], 'sfcWind': [199501, 200812, 'break'], 'rsus': [199501, 200812, 'break'], 'w
 ap': [198901, 200812, '.'], 'rsut': [199501, 200812, 'break']} ],     
-"IPSL/CM5A-LR":   ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", ], {'rsuscs': [199501, 200912, 'break'], 'uas': [199501, 200912, 'break'], 'rlutcs': [199501, 200912, 'break'], 'rsutcs': [199501, 200912, 'break'], 'rldscs': [199501, 200912, 'break'], 'pr': [199501, 200912, '.'], 'rlut': [199501, 200912, 'break'], 'cli': [197901, 200912, 'regridded'], 'rlus': [199501, 200912, 'break'], 'rlds': [199501, 200912, 'break'], 'ts': [199501, 200912, '.'], 'clt': [199501, 200912, '.'], 'vas': [199501, 200912, 'break'], 'clw': [197901, 200912, 'regridded'], 'rsdscs': [199501, 200912, 'break'], 'ta': [199501, 200912, 'break'], 'lai': [199501, 200912, 'break'], 'rsdt': [199501, 200912, 'break'], 'rsds': [199501, 200912, 'break'], 'hus': [199501, 200912, 'break'], 'sfcWind': [199501, 200912, 'break'], 'rsus': [199501, 200912, 'break'
 ], 'rsut': [199501, 200912, 'break']} ],         
-"MIROC/MIROC5":   ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'hur': [192001, 200912, '.'], 'rsuscs': [199501, 200812, 'break'], 'uas': [199501, 200812, 'break'], 'rlutcs': [199501, 200812, 'break'], 'rsutcs': [199501, 200812, 'break'], 'rldscs': [199501, 200812, 'break'], 'pr': [197901, 200812, '.'], 'rlut': [199501, 200812, 'break'], 'cli': [197901, 199812, 'regridded'], 'rlus': [199501, 200812, 'break'], 'rlds': [199501, 200812, 'break'], 'ts': [197901, 200812, '.'], 'clt': [197901, 200812, '.'], 'vas': [199501, 200812, 'break'], 'clw': [197901, 200812, 'regridded'], 'rsdscs': [199501, 200812, 'break'], 'ta': [199501, 199812, 'break'], 'lai': [199501, 200812, 'break'], 'rsdt': [199501, 200812, 'break'], 'rsds': [199501, 200812, 'break'], 'hus': [199501, 199812, 'break'], 'sfcWind': [199501, 200812
 , 'break'], 'rsus': [199501, 200812, 'break'], 'wap': [192001, 200912, '.'], 'rsut': [199501, 200812, 'break']} ],         
-"UKMO/HadGEM2-A": ["Model: AMIP",            ["pr", "clt", "ts", "hurs", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'rsds': [199501, 200812, 'break'], 'rsuscs': [199501, 200812, 'break'], 'uas': [199501, 200812, 'break'], 'rlutcs': [199501, 200812, 'break'], 'rsutcs': [199501, 200812, 'break'], 'rldscs': [199501, 200812, 'break'], 'pr': [199501, 200812, '.'], 'rlut': [199501, 200812, 'break'], 'cli': [197809, 200811, 'regridded'], 'rlus': [199501, 200812, 'break'], 'rlds': [199501, 200812, 'break'], 'ts': [199501, 200812, '.'], 'clt': [199501, 200812, '.'], 'vas': [199501, 200812, 'break'], 'clw': [197809, 200811, 'regridded'], 'rsdscs': [199501, 200812, 'break'], 'ta': [199501, 200811, 'break'], 'hurs': [197809, 200812, '.'], 'rsdt': [199501, 200812, 'break'], 'hur': [197809, 200812, '.'], 'hus': [199501, 200811, 'break'], 'sfcWind': [199501, 200812, 
 'break'], 'rsus': [199501, 200812, 'break'], 'wap': [197809, 200812, '.'], 'rsut': [199501, 200812, 'break']} ],           
-//                [ 
-"group3":         ["Observation"],
-"NASA/GRACE":     ["Observation", ["zl", "zo", ], {'zl': [200302, 201112, '.'], 'zo': [200302, 201112, '.']} ],            
-"NASA/MODIS":     ["Observation", ["clt", "lai", ], {'cltNobs': [200003, 201109, '.'], 'clt': [200003, 201109, '.'], 'lai': [200002, 200912, '.'], 'cltStddev': [200003, 201109, '.']} ],
-"NASA/AMSRE":     ["Observation", ["tos", ], {'tosNobs': [200206, 201012, '.'], 'tos': [200206, 201012, '.'], 'tosStderr': [200206, 201012, '.']} ],
-"NASA/TRMM":      ["Observation", ["pr", ], {'pr': [199801, 201312, '.']} ],
-"NASA/GPCP":      ["Observation", ["pr", ], {'pr': [197901, 201106, '.']} ],
-"NASA/QuikSCAT":  ["Observation", ["uas", "vas", "sfcWind", ], {'uasNobs': [199908, 200910, '.'], 'vasStderr': [199908, 200910, '.'], 'uas': [199908, 200910, '.'], 'uasStderr': [199908, 200910, '.'], 'vas': [199908, 200910, '.'], 'sfcWind': [199908, 200910, '.'], 'sfcWindStderr': [199908, 200910, '.'], 'sfcWindNobs': [199908, 200910, '.'], 'vasNobs': [199908, 200910, '.']} ],
-"NASA/AVISO":     ["Observation", ["zos", ], {'zos': [199210, 201012, '.']} ],
-"NOAA/NODC":      ["Observation", ["ohc700", "ohc2000", ], {'ohc2000': [200501, 201212, '.'], 'ohc700': [195501, 201212, '.']} ],
-"NASA/CERES":     ["Observation", ["rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", ], {'rlut': [200003, 201206, '.'], 'rlus': [200003, 201002, '.'], 'rlutcs': [200003, 201206, '.'], 'rsuscs': [200003, 201002, '.'], 'rsdscs': [200003, 201002, '.'], 'rsdt': [200003, 201206, '.'], 'rsutcs': [200003, 201206, '.'], 'rsds': [200003, 201002, '.'], 'rlds': [200003, 201002, '.'], 'rldscs': [200003, 201002, '.'], 'rsus': [200003, 201002, '.'], 'rsut': [200003, 201206, '.']} ],
-"NASA/AIRS":      ["Observation", ["tas", "ta", "hus", ], {'ta': [200209, 201105, 'break'], 'tas': [200209, 201112, '.'], 'hus': [200209, 201105, 'break']} ],
-"NASA/MLS":       ["Observation", ["ta", "hus", ], {'ta': [200408, 201012, 'break'], 'hus': [200408, 201012, 'break']} ],
-"ARGO/ARGO":      ["Observation", ["ot", "os", ], {'ot': [200101, 201305, 'break'], 'os': [200101, 201305, 'break']} ],           
-//
-"group4":         ["Reanalysis"],
-"ECMWF/interim":  ["Reanalysis",  ["clt", "tos", "uas", "vas", "sfcWind", "wap", "hur", ], {'tos': [197901, 201402, '.'], 'uas': [199501, 201412, '.'], 'sfcWind': [199501, 201412, '.'], 'hur': [197901, 201402, '.'], 'clt': [197901, 201404, '.'], 'vas': [199501, 201412, '.'], 'wap': [197901, 201402, '.']} ], 
-};

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js2/dataList2.js
----------------------------------------------------------------------
diff --git a/public/html/js2/dataList2.js b/public/html/js2/dataList2.js
deleted file mode 100644
index 8cf0903..0000000
--- a/public/html/js2/dataList2.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// modelName: [category, listOfVar],
-var groupList={
-"group1":         ["Model: Historical"],
-"group2":         ["Model: AMIP"],
-"group3":         ["Observation"],
-"group4":         ["Reanalysis"],
-};
-
-var dataList={
-"group1":         ["Model: Historical"],
-"GFDL/ESM2G":     ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "zos", "lai", "rlds", "rlus", "rldscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'uas': [199101, 200512, '.'], 'rlutcs': [199601, 200512, '.'], 'rsutcs': [199101, 200512, '.'], 'rldscs': [199601, 200512, '.'], 'pr': [199601, 200512, '.'], 'rlut': [199601, 200512, '.'], 'cli': [199101, 200512, 'regridded'], 'rlus': [199601, 200512, '.'], 'tos': [199601, 200512, 'regridded'], 'ts': [199601, 200512, '.'], 'zos': [199601, 200512, 'regridded'], 'clt': [199601, 200512, '.'], 'vas': [199101, 200512, '.'], 'clw': [199101, 200512, 'regridded'], 'ta': [199101, 200512, '.'], 'lai': [199601, 200512, '.'], 'rsdt': [199101, 200512, '.'], 'hur': [198601, 200512, '.'], 'hus': [199101, 200512, '.'], 'sfcWind': [199101, 200512, '.'], 'rlds': [199601, 200512, '.'], 'wap': [198601, 200512, '.'], 'rsut': [199101, 200512, '.']} ],       
-"GISS/E2-H":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'hur': [195101, 200512, '.'], 'rsuscs': [199501, 200512, '.'], 'rsdscs': [199501, 200512, '.'], 'rlutcs': [199501, 200512, '.'], 'rsutcs': [199501, 200512, '.'], 'rldscs': [199501, 200512, '.'], 'pr': [199501, 200512, '.'], 'rlut': [199501, 200512, '.'], 'cli': [195101, 200512, 'regridded'], 'rlus': [199501, 200512, '.'], 'rlds': [199501, 200512, '.'], 'ts': [199501, 200512, '.'], 'clt': [199501, 200512, '.'], 'vas': [199501, 200512, '.'], 'clw': [195101, 200512, 'regridded'], 'uas': [199501, 200512, '.'], 'wap': [195101, 200512, '.'], 'rsdt': [199501, 200512, '.'], 'rsds': [199501, 200512, '.'], 'prw': [199501, 200512, '.'], 'sfcWind': [199501, 200512, '.'], 'tos': [199501, 200512, '.'], 'rsus': [199501, 200512, '.'], 'rsut': [199501, 200512, '.']} ],
       
-"GISS/E2-R":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'hur': [195101, 200512, '.'], 'rsuscs': [199501, 200012, '.'], 'uas': [199501, 200512, '.'], 'rlutcs': [199501, 200012, '.'], 'rsutcs': [199501, 200012, '.'], 'rldscs': [199501, 200012, '.'], 'pr': [199501, 200512, '.'], 'rlut': [199501, 200012, '.'], 'cli': [200101, 200512, 'regridded'], 'rlus': [199501, 200012, '.'], 'tos': [199501, 200512, '.'], 'ts': [199501, 200512, '.'], 'clt': [199501, 200512, '.'], 'vas': [199501, 200512, '.'], 'clw': [199501, 200512, 'regridded'], 'rsdscs': [199501, 200012, '.'], 'wap': [195101, 200512, '.'], 'rsdt': [199501, 200012, '.'], 'rsds': [199501, 200012, '.'], 'sfcWind': [199501, 200512, '.'], 'rsus': [199501, 200012, '.'], 'rsut': [199501, 200012, '.']} ],      
-"NCAR/CAM5":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "sfcWind", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'hur': [195001, 200512, '.'], 'rsuscs': [199501, 200512, '.'], 'rsdscs': [199501, 200512, '.'], 'rlutcs': [199501, 200512, '.'], 'rsutcs': [199501, 200512, '.'], 'pr': [199501, 200512, '.'], 'rlut': [199501, 200512, '.'], 'cli': [197501, 200512, 'regridded'], 'rlus': [199501, 200512, '.'], 'tos': [199501, 200512, 'regridded'], 'ts': [199501, 200512, '.'], 'zos': [199501, 200512, 'regridded'], 'clt': [199501, 200512, '.'], 'clw': [197501, 200512, 'regridded'], 'wap': [195001, 200512, '.'], 'lai': [199501, 200512, '.'], 'rsdt': [199501, 200512, '.'], 'rsds': [199501, 200512, '.'], 'sfcWind': [199501, 200512, '.'], 'rlds': [199501, 200512, '.'], 'rsus': [199501, 200512, '.'], 'rsut': [199501, 200512, '.']} ],      
-"NCC/NORESM":     ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'hur': [195001, 200512, '.'], 'rsuscs': [199501, 200512, '.'], 'rsdscs': [199501, 200512, '.'], 'rlutcs': [199501, 200512, '.'], 'rsutcs': [199501, 200512, '.'], 'rldscs': [199501, 200512, '.'], 'pr': [199501, 200512, '.'], 'rlut': [199501, 200512, '.'], 'cli': [195001, 200512, 'regridded'], 'rlus': [199501, 200512, '.'], 'tos': [199501, 200512, 'regridded'], 'ts': [199501, 200512, '.'], 'zos': [199501, 200512, 'regridded'], 'clt': [199501, 200512, '.'], 'vas': [199501, 200512, '.'], 'clw': [195001, 200512, 'regridded'], 'uas': [199501, 200512, '.'], 'wap': [195001, 200512, '.'], 'lai': [199501, 200512, '.'], 'rsdt': [199501, 200512, '.'], 'rsds': [199501, 200512, '.'], 'hus': [199501, 200512, '.'], 'rlds': [199501, 200512, '.'], 'rsus'
 : [199501, 200512, '.'], 'ta': [199501, 200512, '.'], 'rsut': [199501, 200512, '.']} ],       
-"UKMO/HadGEM2-ES":["Model: Historical",      ["pr", "clt", "ts", "uas", "vas", "sfcWind", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'rsds': [199501, 200511, '.'], 'rsuscs': [199501, 200511, '.'], 'rsdscs': [199501, 200511, '.'], 'rlutcs': [199501, 200511, '.'], 'rsutcs': [199501, 200511, '.'], 'rldscs': [199501, 200511, '.'], 'pr': [199501, 200511, '.'], 'rlut': [199501, 200511, '.'], 'cli': [198412, 200511, 'regridded'], 'rlus': [199501, 200511, '.'], 'rlds': [199501, 200511, '.'], 'ts': [199501, 200511, '.'], 'zos': [195912, 200512, '.'], 'clt': [199501, 200511, '.'], 'vas': [199501, 200511, '.'], 'clw': [198412, 200511, 'regridded'], 'uas': [199501, 200511, '.'], 'wap': [198412, 200511, '.'], 'lai': [199501, 200511, '.'], 'rsdt': [199501, 200511, '.'], 'hur': [198412, 200511, '.'], 'sfcWind': [199501, 200511, '.'], 'rsus': [199501, 200511, '.'], 'rsut': [199501, 200511, '
 .']} ],            
-//                [ 
-"group2":         ["Model: AMIP"],
-"CCCMA/CANAM4":   ["Model: AMIP",            ["pr", "clt", "ts", "tas", "hurs", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'va': [195001, 200912, '.'], 'ci': [195001, 200912, '.'], 'sci': [195001, 200912, '.'], 'rsds': [195001, 200912, '.'], 'prc': [195001, 200912, '.'], 'cl': [195001, 200912, '.'], 'rsuscs': [195001, 200912, '.'], 'uas': [195001, 200912, '.'], 'huss': [195001, 200912, '.'], 'hfss': [195001, 200912, '.'], 'rlutcs': [195001, 200912, '.'], 'evspsbl': [195001, 200912, '.'], 'prsn': [195001, 200912, '.'], 'rldscs': [195001, 200912, '.'], 'ccb': [195001, 200912, '.'], 'pr': [195001, 200912, '.'], 'ps': [195001, 200912, '.'], 'cli': [195001, 200912, 'regridded'], 'rlus': [195001, 200912, '.'], 'rlds': [195001, 200912, '.'], 'tas': [195001, 200912, '.'], 'ts': [195001, 200912, '.'], 'prw': [195001, 200912, '.'], 'clt': [195001, 200912, '.'], 
 'vas': [195001, 200912, '.'], 'clw': [195001, 200912, 'regridded'], 'rsdscs': [195001, 200912, '.'], 'wap': [195001, 200912, '.'], 'zg': [195001, 200912, '.'], 'tasmin': [195001, 200912, '.'], 'psl': [195001, 200912, '.'], 'rlut': [195001, 200912, '.'], 'hurs': [195001, 200912, '.'], 'rsdt': [195001, 200912, '.'], 'hur': [195001, 200912, '.'], 'hus': [195001, 200912, '.'], 'sbl': [195001, 200912, '.'], 'clivi': [195001, 200912, '.'], 'mc': [195001, 200912, '.'], 'rtmt': [195001, 200912, '.'], 'cct': [195001, 200912, '.'], 'rsutcs': [195001, 200912, '.'], 'sfcWind': [195001, 200912, '.'], 'tauv': [195001, 200912, '.'], 'clwvi': [195001, 200912, '.'], 'tauu': [195001, 200912, '.'], 'tasmax': [195001, 200912, '.'], 'rsus': [195001, 200912, '.'], 'ta': [195001, 200912, '.'], 'ua': [195001, 200912, '.'], 'rsut': [195001, 200912, '.'], 'hfls': [195001, 200912, '.']} ],         
-"CSIRO/MK3.6":    ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'rsds': [197901, 200912, '.'], 'rsuscs': [197901, 200912, '.'], 'uas': [197901, 200912, '.'], 'rlutcs': [197901, 200912, '.'], 'rsutcs': [197901, 200912, '.'], 'rldscs': [197901, 200912, '.'], 'pr': [199501, 200912, '.'], 'rlut': [197901, 200912, '.'], 'cli': [197901, 200912, 'regridded'], 'rlus': [197901, 200912, '.'], 'rlds': [197901, 200912, '.'], 'ts': [199501, 200912, '.'], 'clt': [199501, 200912, '.'], 'vas': [197901, 200912, '.'], 'clw': [199901, 200912, 'regridded'], 'rsdscs': [197901, 200912, '.'], 'wap': [199001, 200512, '.'], 'rsdt': [197901, 200912, '.'], 'hur': [199001, 200512, '.'], 'sfcWind': [197901, 200912, '.'], 'rsus': [197901, 200912, '.'], 'rsut': [197901, 200912, '.']} ],        
-"GFDL/CM3":       ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ], {'hur': [198901, 200812, '.'], 'rsuscs': [199401, 200812, '.'], 'rsdscs': [199401, 200812, '.'], 'rlutcs': [199401, 200812, '.'], 'rsutcs': [199401, 200812, '.'], 'rldscs': [199401, 200812, '.'], 'pr': [199401, 200812, '.'], 'rlut': [199401, 200812, '.'], 'cli': [197901, 200812, 'regridded'], 'rlus': [199401, 200812, '.'], 'rlds': [199401, 200812, '.'], 'ts': [199401, 200812, '.'], 'clt': [199401, 200812, '.'], 'vas': [199401, 200812, '.'], 'clw': [197901, 200812, 'regridded'], 'uas': [199401, 200812, '.'], 'wap': [198901, 200812, '.'], 'rsdt': [199401, 200812, '.'], 'rsds': [199401, 200812, '.'], 'hus': [198901, 200812, '.'], 'rsus': [199401, 200812, '.'], 'ta': [198901, 200812, '.'], 'rsut': [199401, 200812, '.']} ],     
-"IPSL/CM5A-LR":   ["Model: AMIP",            ["pr", "clt", "ts", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", ], {'pr': [199501, 200912, '.'], 'rlut': [199501, 200912, '.'], 'rsus': [199501, 200912, '.'], 'cli': [197901, 200912, 'regridded'], 'rlus': [199501, 200912, '.'], 'rsdt': [199501, 200912, '.'], 'rlds': [199501, 200912, '.'], 'rsdscs': [199501, 200912, '.'], 'ts': [199501, 200912, '.'], 'rlutcs': [199501, 200912, '.'], 'rsutcs': [199501, 200912, '.'], 'rsds': [199501, 200912, '.'], 'rsuscs': [199501, 200912, '.'], 'clt': [199501, 200912, '.'], 'rldscs': [199501, 200912, '.'], 'clw': [197901, 200912, 'regridded'], 'rsut': [199501, 200912, '.'], 'lai': [199501, 200912, '.']} ],         
-"MIROC/MIROC5":   ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'hur': [192001, 200912, '.'], 'rsuscs': [197901, 200812, '.'], 'rsdscs': [197901, 200812, '.'], 'rlutcs': [197901, 200812, '.'], 'rsutcs': [197901, 200812, '.'], 'rldscs': [197901, 200812, '.'], 'pr': [197901, 200812, '.'], 'rlut': [197901, 200812, '.'], 'cli': [197901, 199812, 'regridded'], 'rlus': [197901, 200812, '.'], 'rlds': [197901, 200812, '.'], 'ts': [197901, 200812, '.'], 'clt': [197901, 200812, '.'], 'vas': [197901, 200812, '.'], 'clw': [197901, 200812, 'regridded'], 'uas': [197901, 200812, '.'], 'wap': [192001, 200912, '.'], 'lai': [197901, 200812, '.'], 'rsdt': [197901, 200812, '.'], 'rsds': [197901, 200812, '.'], 'sfcWind': [197901, 200812, '.'], 'rsus': [197901, 200812, '.'], 'rsut': [197901, 200812, '.']} ],         
-"UKMO/HadGEM2-A": ["Model: AMIP",            ["pr", "clt", "ts", "hurs", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ], {'hur': [197809, 200812, '.'], 'rsuscs': [199501, 200812, '.'], 'rsdscs': [199501, 200812, '.'], 'rlutcs': [199501, 200812, '.'], 'rsutcs': [199501, 200812, '.'], 'rldscs': [199501, 200812, '.'], 'pr': [199501, 200812, '.'], 'rlut': [199501, 200812, '.'], 'cli': [197809, 200811, 'regridded'], 'rlus': [200812, 200812, '.'], 'rlds': [199501, 200812, '.'], 'ts': [199501, 200812, '.'], 'clt': [199501, 200812, '.'], 'vas': [199501, 200812, '.'], 'clw': [197809, 200811, 'regridded'], 'uas': [199501, 200812, '.'], 'wap': [197809, 200812, '.'], 'hurs': [197809, 200812, '.'], 'rsdt': [199501, 200812, '.'], 'rsds': [199501, 200812, '.'], 'sfcWind': [199501, 200812, '.'], 'rsus': [199501, 200812, '.'], 'rsut': [199501, 200812, '.']} ],           
-//                [ 
-"group3":         ["Observation"],
-"NASA/GRACE":     ["Observation", ["zl", "zo", ], {'zl': [200302, 201112, '.'], 'zo': [200302, 201112, '.']} ],            
-"NASA/MODIS":     ["Observation", ["clt", "lai", ], {'cltNobs': [200003, 201109, '.'], 'clt': [200003, 201109, '.'], 'lai': [200002, 200912, '.'], 'cltStddev': [200003, 201109, '.']} ],
-"NASA/AMSRE":     ["Observation", ["tos", ], {'tosNobs': [200206, 201012, '.'], 'tos': [200206, 201012, '.'], 'tosStderr': [200206, 201012, '.']} ],
-"NASA/TRMM":      ["Observation", ["pr", ], {'pr': [199801, 201312, '.']} ],
-"NASA/GPCP":      ["Observation", ["pr", ], {'pr': [197901, 201106, '.']} ],
-"NASA/QuikSCAT":  ["Observation", ["uas", "vas", "sfcWind", ], {'uasNobs': [199908, 200910, '.'], 'vasStderr': [199908, 200910, '.'], 'uas': [199908, 200910, '.'], 'uasStderr': [199908, 200910, '.'], 'vas': [199908, 200910, '.'], 'sfcWind': [199908, 200910, '.'], 'sfcWindStderr': [199908, 200910, '.'], 'sfcWindNobs': [199908, 200910, '.'], 'vasNobs': [199908, 200910, '.']} ],
-"NASA/AVISO":     ["Observation", ["zos", ], {'zos': [199210, 201012, '.']} ],
-"NOAA/NODC":      ["Observation", ["ohc700", "ohc2000", ], {'ohc2000': [200501, 201212, '.'], 'ohc700': [195501, 201212, '.']} ],
-"NASA/CERES":     ["Observation", ["rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", ], {'rlut': [200003, 201206, '.'], 'rlus': [200003, 201002, '.'], 'rlutcs': [200003, 201206, '.'], 'rsuscs': [200003, 201002, '.'], 'rsdscs': [200003, 201002, '.'], 'rsdt': [200003, 201206, '.'], 'rsutcs': [200003, 201206, '.'], 'rsds': [200003, 201002, '.'], 'rlds': [200003, 201002, '.'], 'rldscs': [200003, 201002, '.'], 'rsus': [200003, 201002, '.'], 'rsut': [200003, 201206, '.']} ],
-"NASA/AIRS":      ["Observation", ["tas", "ta", "hus", ], {'hus': [200209, 201105, '.'], 'tas': [200209, 201112, '.'], 'ta': [200209, 201105, '.']} ],
-"NASA/MLS":       ["Observation", ["ta", "hus", ], {'hus': [200408, 201012, '.'], 'ta': [200408, 201012, '.']} ],
-"ARGO/ARGO":      ["Observation", ["ot", "os", ], {'ot': [200101, 201305, '.'], 'os': [200101, 201305, '.']} ],           
-//
-"group4":         ["Reanalysis"],
-"ECMWF/interim":  ["Reanalysis",  ["clt", "tos", "uas", "vas", "sfcWind", "wap", "hur", ], {'tos': [197901, 201402, '.'], 'uas': [199501, 201412, '.'], 'sfcWind': [199501, 201412, '.'], 'hur': [197901, 201402, '.'], 'clt': [197901, 201404, '.'], 'vas': [199501, 201412, '.'], 'wap': [197901, 201402, '.']} ], 
-};

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js2/varList.js
----------------------------------------------------------------------
diff --git a/public/html/js2/varList.js b/public/html/js2/varList.js
deleted file mode 100644
index 5b313c8..0000000
--- a/public/html/js2/varList.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// shortName: [longName, groupName, dimension, timeRange],
-var varList = {
-"pr":       ["Precipitation Flux",                                "", 2, ""],    
-"clt":      ["Total Cloud Fraction",                              "", 2, ""],      
-"ts":       ["Surface Temperature",                               "", 2, ""],     
-"lst_day":  ["Daytime Land Surface Temperature",                  "", 2, ""],   
-"lst_night":["Nighttime Land Surface Temperature",                "", 2, ""],   
-"tas":      ["Near-Surface Air Temperature",                      "", 2, ""],   
-"hurs":     ["Near-Surface Relative Humidity",                    "", 2, ""],   
-"tos":      ["Sea Surface Temperature",                           "", 2, ""],         
-"uas":      ["Eastward Near-Surface Wind",                        "", 2, ""],            
-"vas":      ["Northward Near-Surface Wind",                       "", 2, ""],             
-"sfcWind":  ["Near-Surface Wind Speed",                           "", 2, ""],         
-"zos":      ["Sea Surface Height",                                "", 2, ""],    
-"lai":      ["Leaf Area Index",                                   "", 2, ""], 
-"zl":       ["Equivalent Water Height Over Land",                 "", 2, ""],                   
-"zo":       ["Equivalent Water Height Over Ocean",                "", 2, ""],                    
-"ohc700":   ["Ocean Heat Content Anomaly within 700 m Depth",     "", 2, ""],                
-"ohc2000":  ["Ocean Heat Content Anomaly within 2000 m Depth",    "", 2, ""],                
-"rlds":     ["Surface Downwelling Longwave Radiation",            "", 2, ""],                        
-"rsds":     ["Surface Downwelling Shortwave Radiation",           "", 2, ""],                         
-"rlus":     ["Surface Upwelling Longwave Radiation",              "", 2, ""],                      
-"rsus":     ["Surface Upwelling Shortwave Radiation",             "", 2, ""],                       
-"rldscs":   ["Surface Downwelling Clear-Sky Longwave Radiation",  "", 2, ""],             
-"rsdscs":   ["Surface Downwelling Clear-Sky Shortwave Radiation", "", 2, ""],                   
-"rsuscs":   ["Surface Upwelling Clear-Sky Shortwave Radiation",   "", 2, ""],                
-"rsdt":     ["TOA Incident Shortwave Radiation",                  "", 2, ""],                  
-"rlut":     ["TOA Outgoing Longwave Radiation",                   "", 2, ""],                 
-"rsut":     ["TOA Outgoing Shortwave Radiation",                  "", 2, ""],                  
-"rlutcs":   ["TOA Outgoing Clear-Sky Longwave Radiation",         "", 2, ""],       
-"rsutcs":   ["TOA Outgoing Clear-Sky Shortwave Radiation",        "", 2, ""],              
-"ta":       ["Air Temperature",                                   "", 3, ""], 
-"hus":      ["Specific Humidity",                                 "", 3, ""],   
-"cli":      ["Cloud Ice Water Content",                           "", 3, ""],         
-"clw":      ["Cloud Liquid Water Content",                        "", 3, ""],            
-"ot":       ["Ocean Temperature",                            "ocean", 3, ""],   
-"os":       ["Ocean Salinity",                               "ocean", 3, ""],
-"wap":      ["Vertical Wind Velocity",                            "", 3, ""],        
-"hur":      ["Relative Humidity",                                 "", 3, ""],   
-};

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/regridAndDownload.html
----------------------------------------------------------------------
diff --git a/public/html/regridAndDownload.html b/public/html/regridAndDownload.html
deleted file mode 100644
index 8207a0a..0000000
--- a/public/html/regridAndDownload.html
+++ /dev/null
@@ -1,470 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta charset="utf-8">
-
-  <!-- for Bootstrap -->
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
-  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
-
-  <!-- still needed? -->
-  <script src="js/jquery.flot.min.js"></script>
-  <script src="js/json2.js"></script>
-  <script src="js/xmisc.js"></script>
-
-  <!-- cmac related -->
-  <link rel="stylesheet" href="common.css">
-  <script src='js2/dataList2.js'></script>
-  <script src='js2/varList.js'></script>
-  <script src='js2/common.js'></script>
-
-  <title>regrid and download service</title>
-
-  <script>
-    var Response = null;
-    var variable1 = "";
-    var variable2 = "";
-
-    var naValue = "-999999";
-
-    var idsV = {};
-    
-    idsV['lon0'] = "0";
-    idsV['lon1'] = "360";
-    idsV['lat0'] = "-90";
-    idsV['lat1'] = "90";
-    idsV['dlon'] = "1";
-    idsV['dlat'] = "1";
-    //idsV['t0'] = "2004-01";
-    //idsV['t1'] = "2004-12";
-
-    function setDlOriginal() {
-      var check1 = document.getElementById('dlOriginal').checked;
-      var ids = [
-                   'lon0', 
-                   'lon1',
-                   'dlon',
-                   'lat0', 
-                   'lat1',
-                   'dlat',
-                   //'t0',
-                   //'t1',
-                  ];
-      var temp1;
-      var temp2;
-      if (check1) {
-        //for (var i in ids) {
-        for (var i=0; i<ids.length; i++) {
-          temp2 = ids[i]; 
-          temp1 = document.getElementById(temp2);
-          idsV[temp2] = temp1.value; 
-          temp1.disabled = true;
-          temp1.value = "N/A" ;
-        }
-      } else {
-        for (var i=0; i<ids.length; i++) {
-            temp2 = ids[i]; 
-//  alert(temp2);
-            temp1 = document.getElementById(temp2);
-            temp1.disabled = false;
-            temp1.value = idsV[temp2];
-        }
-      } 
-    }
-
-     // called on load or reload
-    window.onload = function() {
-      var str1 = data_block_str(1, 1, "Specify the Variable", 
-          "", "500");
-      document.getElementById("dataBlock1").innerHTML = str1;
-
-      put_data(1);
-      put_var(1);
-      select_var(1);
-      time_range1();
-
-      disable_download_button();
-    }
-
-    $(document).ready(function(){
-
-      $("a").click(function(event){
-        alert("As you can see, the link no longer took you to jquery.com");
-        event.preventDefault();
-      });
-
-
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        // alert(durl);
-        window.location.assign(durl);
-      });
-
-
-      $("#action1").click(function(event) {
-        // alert('****** inside regridAndDownload()!');
-        Response = null;
-
-        // no data to download yet
-        disable_download_button();
-
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-
-        // http://cmacws3.jpl.nasa.gov:8090/svc/regridAndDownload?model=gfdl_esm2g&var=zos&pres=N/A&start_time=200401&end_time=200412&lon1=0&lon2=360&dlon=1.0&lat1=-90&lat2=90&dlat=1.0
-        // form url string
-        var url = "http://" + window.location.hostname + ":9002/svc/regridAndDownload?";
-        // alert("url: " + url);
-
-        var d1 = $("#data1").val();
-        var model1 = d1.replace("/", "_");
-        model1 = model1.toLowerCase();
-
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-
-        // alert("arglist: " + arglist);
-
-        var variable1 = $("#var1").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(variable1);
-
-        // alert("arglist: " + arglist);
-
-        if (document.getElementById("dlOriginal").checked) {
-          pres1 = "-999999";
-        } else {
-          var pres10 = $("#pres1").val();
-          var pres1 = parse_pres(pres10);
-        }
-
-        // alert("pres1: " + pres1);
-
-        arglist = arglist.concat("&plev=");
-        arglist = arglist.concat(pres1);
-
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-
-        // alert("arglist: " + arglist);
-
-        if (document.getElementById("dlOriginal").checked) {
-          var lon0 = "-999999";
-          var lon1 = "-999999";
-          var dlon = "-999999";
-          var lat0 = "-999999";
-          var lat1 = "-999999";
-          var dlat = "-999999";
-        } else {
-          var lon0 = $("#lon0").val();
-          var lon1 = $("#lon1").val();
-          var dlon = $("#dlon").val();
-          var lat0 = $("#lat0").val();
-          var lat1 = $("#lat1").val();
-          var dlat = $("#dlat").val();
-        }
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-
-        arglist = arglist.concat("&dlon=");
-        arglist = arglist.concat(dlon);
-
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-
-        arglist = arglist.concat("&dlat=");
-        arglist = arglist.concat(dlat);
-
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-
-        // alert("arglist: " + arglist);
-
-        // url = url + encodeURIComponent(arglist);
-        url = url + encodeURI(arglist);
-        // url = url + arglist;
-        // alert("url: " + url);
-
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable1);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        // alert("urlTimeBounds: " + urlTimeBounds);
-
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert("text: " + text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                // $("#Response").html(text);
-
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                // alert("tb: " + tb);
-                // alert("bds: " + bds);
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                // alert("lowerT: " + lowerT);
-                // alert("upperT: " + upperT);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                // alert("t0: " + t0I);
-                // alert("t1: " + t1I);
-
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  //  alert(urlTimeBounds);
-                  return;
-                }
-
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-
-                    if (text.indexOf("No Data") != -1) {
-                      $("#Response").html("No Data");
-                      $("#data_url").html("No Data");
-                      return;
-                    }
-
-                    text = "Error in backend: <br>" + text; 
-                    // $("#Response").html("<span style='color:red'>" + text + "</span>");
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert(text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                $("#Response").html(text);
-
-                // post dataUrl to textarea and enable download button
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-      });
-
-    });
-    
-  </script>
-</head>
-
-<body>
-<div class="container-fluid">
-<div class="row center1">
-<div class="col-sm-8 col-sm-offset-2 col-xs-12 color-head">
-<h3>Service: Regrid and Download</h3>
-This service regrids a variable from a dataset according to the lat/lon/plev specified by the user, and mades the regridded data downloadable by the user. 
-</div> <!-- col-sm -->
-<div class="col-sm-offset-2">
-</div> <!-- col-sm -->
-</div> <!-- row center1 -->
-
-<div class="row level0">
-<div class="col-sm-12 col-lg-12 level0 color0">
-  <div id="dataBlock1">
-  </div>
-</div> <!-- col level0 -->
-</div> <!-- row level0 -->
-
-<div class="color3">
-<div class="row center1 subtitle1" >
-Data Subsetting
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-4 right1">
-    <div id=startYear>start year-month:</div>
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="t0" value="2004-01" alt="start"/>
-  </div>
-
-  <div class="col-sm-4 right1">
-    <div id=endYear>end year-month:</div>
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="t1" value="2004-12" alt="start"/>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-4 right1">
-    start lon (deg):
-    <input id="lon0" value="0"/>
-  </div>
-  <div class="col-sm-4 right1">
-    end lon (deg):
-    <input id="lon1" value="360"/>
-  </div>
-  <div class="col-sm-4 right1">
-     grid size (deg):
-    <input id="dlon" value="1"/>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-4 right1">
-    start lat (deg):
-    <input id="lat0" value="-90"/>
-  </div>
-  <div class="col-sm-4 right1">
-    end lat (deg):
-    <input id="lat1" value="90"/>
-  </div>
-  <div class="col-sm-4 right1">
-     grid size (deg):
-    <input id="dlat" value="1"/>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-4 right1">
-    download the original:
-  </div>
-  <div class="col-sm-8 left1">
-    <input onclick="setDlOriginal()" type="checkbox" id="dlOriginal">
-  </div>
-</div> <!-- row -->
-
-</div> <!-- color3 -->
-
-<div class="color2">
-<div class="row">
-  <div class="col-sm-4 right1">
-    Execution purpose:
-  </div> <!-- col -->
-  <div class="col-sm-8 left1">
-    <form>
-    <textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-    </form>
-  </div> <!-- col -->
-</div> <!-- row -->
-</div> <!-- color2 -->
-
-<div class="color4">
-<div class="row">
-  <div class="col-sm-6 center1">
-    <input id="action1" type="submit" value="            Get  Data            " style="height:28px"/>
-  </div>
-  <div class="col-sm-6 center1">
-    <form>
-      <input id="download_data" type="button" value="Download Data" style="height:28px"/>
-    </form>
-  </div>
-</div> <!-- row -->
-</div> <!-- color4 -->
- 			
-<div class="row" center1>
-  <div class="col-sm-12 center1">
-    <div id="Image">Image Here</div>
-  </div>
-</div> <!-- row -->
-
-<div class="row" >
-  <div class="col-sm-12 center1">
-    <textarea readonly id="data_url" cols="150" rows="2">Data URL Here</textarea>
-  </div>
-</div> <!-- row -->
-
-<div class="row" center1>
-  <div class="col-sm-12 center1">
-    <textarea id="Response" cols="150" rows="6">Service Response Text Here</textarea>
-  </div>
-</div> <!-- row -->
-
-</div> <!-- container -->
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/regridAndDownload_old.html
----------------------------------------------------------------------
diff --git a/public/html/regridAndDownload_old.html b/public/html/regridAndDownload_old.html
deleted file mode 100644
index 25d574d..0000000
--- a/public/html/regridAndDownload_old.html
+++ /dev/null
@@ -1,436 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> -->
-  <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-  <script type="text/javascript" src="js/jquery.flot.min.js"></script>
-  <script type="text/javascript" src="js/json2.js"></script>
-  <script type="text/javascript" src="js/xmisc.js"></script>
-
-  <script src='js/dataList.js'></script>
-  <script src='js/varList.js'></script>
-
-  <script type="text/javascript">
-
-    var Response = null;
-    var variable1 = "";
-    var variable2 = "";
-
-
-    // called on load or reload
-    window.onload = function() {
-      put_data(1);
-      put_var(1);
-
-      // no data to download yet
-      disable_download_button();
-    }
-
-    // disable download data button
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=true;
-    }
-
-    // enable download data button
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-
-    // disable pressure level box for 2D var
-    function disable_pres1(ID)
-    {
-      var x;
-      x=document.getElementById("pres"+ID);
-      x.value = "N/A";
-      x.disabled=true;
-    }
-
-    // enable pressure level box for 3D var
-    function enable_pres1(ID)
-    {
-      var x;
-      x=document.getElementById("pres"+ID);
-      //x.value = "500";
-      x.disabled=false;
-    }
-
-    function put_data(ID){
-      var list1=document.getElementById("data"+ID);
-
-      for(var key in dataList) {
-        if (key.slice(0,5)==="group") {
-          var og = document.createElement("OPTGROUP");
-          og.setAttribute('label', dataList[key][0]);
-          list1.add(og);
-        } else {
-          og.appendChild(new Option(key,key));
-        }
-      }
-    }
-
-    function put_var(ID) {
-      var list1=document.getElementById("var"+ID);
-      for (var i=list1.length-1; i>=0; i--) {
-      list1.remove(i);
-      }
-
-      data_string =  document.getElementById("data"+ID).value;
-      var varList2 = dataList[data_string][1];  
-      for (var i=0; i<varList2.length; i++) {
-        var k = varList2[i];
-        list1.add(new Option(varList[k][0],k));
-      }
-    }
-
-    // 
-    function select_var1(ID)
-    {
-      var var_string;
-      var_string = $("#var"+ID).val();
-
-      // alert("var_string: " + var_string)
-
-      if (varList[var_string][2]==3) {
-        enable_pres1(ID);
-      } else {
-        disable_pres1(ID);
-      }
-
-      //alert("variable1: " + var_string);
-    }
-
-    $(document).ready(function(){
-
-      $("a").click(function(event){
-        alert("As you can see, the link no longer took you to jquery.com");
-        event.preventDefault();
-      });
-
-
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        // alert(durl);
-        window.location.assign(durl);
-      });
-
-
-      $("#action1").click(function(event) {
-        // alert('****** inside scatterPlot2V()!');
-        Response = null;
-
-        // no data to download yet
-        disable_download_button();
-
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-
-        // sample url: http://cmacws.jpl.nasa.gov:8090/svc/scatterPlot2V?model1=ukmo_hadgem2-a&var1=ts&pres1=200&model2=ukmo_hadgem2-a&var2=clt&pres2=200&start_time=199001&end_time=199512&lon1=0&lon2=100&lat1=-29&lat2=29
-        // form url string
-        // var url = "http://cmacws.jpl.nasa.gov:8090/svc/scatterPlot2V?";
-        var url = "http://" + window.location.hostname + ":9002/svc/regridAndDownload?";
-        // alert("url: " + url);
-
-        var d1 = $("#data1").val();
-        var model1 = d1.replace("/", "_");
-        model1 = model1.toLowerCase();
-
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-
-        // alert("arglist: " + arglist);
-
-        var v1 = $("#var1").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(v1);
-
-        // alert("arglist: " + arglist);
-
-        var pres1 = $("#pres1").val();
-        arglist = arglist.concat("&plev=");
-        arglist = arglist.concat(pres1);
-
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-
-        // alert("arglist: " + arglist);
-
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var dlon = $("#dlon").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-        var dlat = $("#dlat").val();
-        var purpose = $("#purpose").val();
-
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-
-        arglist = arglist.concat("&dlon=");
-        arglist = arglist.concat(dlon);
-
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-
-        arglist = arglist.concat("&dlat=");
-        arglist = arglist.concat(dlat);
-
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-        // alert("arglist: " + arglist);
-
-        // url = url + encodeURIComponent(arglist);
-        url = url + encodeURI(arglist);
-        // url = url + arglist;
-        // alert("url: " + url);
-
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?"; 
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source1=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable1);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        // alert("urlTimeBounds: " + urlTimeBounds);
-
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert("text: " + text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                // $("#Response").html(text);
-
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                // alert("tb: " + tb);
-                // alert("bds: " + bds);
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                // alert("lowerT: " + lowerT);
-                // alert("upperT: " + upperT);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                // alert("t0: " + t0I);
-                // alert("t1: " + t1I);
-
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-
-                    if (text.indexOf("No Data") != -1) {
-                      $("#Response").html("No Data");
-                      $("#data_url").html("No Data");
-                      return;
-                    }
-
-                    text = "Error in backend: <br>" + text; 
-                    // $("#Response").html("<span style='color:red'>" + text + "</span>");
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert(text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                $("#Response").html(text);
-
-                // post dataUrl to textarea and enable download button
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-      });
-
-    });
-    
-  </script>
-</head>
-<body>
-
-<p>
-
-<table border="1">
-
-<tr>
-<td colspan="4">
-<center>
-<b>Service: Regrid and Download</b><br><br>
-This service regrids a variable from a dataset according to the lat/lon/plev specified by the user, and mades the regridded data downloadable by the user. 
-<br><br>
-</center>
-</td>
-</tr>
-
-<tr>
-<td>data source:</td><td><select name="data1", id="data1" onchange="put_var(1)">
-</select></td>
-
-<td>variable name:</td><td><select name="var1", id="var1" onchange="select_var1(1)">
-</select>
-</td>
-</tr>
-
-<tr>
-<td colspan=4>
-atmosphere pressure level (hPa), or ocean pressure level (dbar)
-<!--
-<input id=pres1 size=50>
--->
-<input list="plev1" id=pres1 size=100>
-<datalist id="plev1">
-<option value="100000,80000,50000,30000,20000,10000">
-<option value="100000,30000,10000">
-<option value="100000,10000">
-<option value="50000,20000">
-</datalist>
-</td>
-</tr>
-
-<tr>
-<td>start year-month: <input id="t0" value="2004-01" alt="start"/></td>
-<td>end year-month: <input id="t1" value="2004-12" alt="end"/></td>
-<td colspan=2>
-</td>
-</tr>
-
-
-<tr>
-<td width="25%">start lat (deg): <input size=5 id="lat0" value="-90"/></td>
-<td width="25%">end lat (deg): <input size=5 id="lat1" value="90"/></td>
-<td width="25%">grid size (deg): <input size=5 id="dlat" value="1.0"/></td>
-<td></td>
-</tr>
-
-<tr>
-<td width="25%">start lon (deg): <input size=5 id="lon0" value="0"/></td>
-<td width="25%">end lon (deg): <input size=5 id="lon1" value="360"/></td>
-<td width="25%">grid size (deg): <input size=5 id="dlon" value="1.0"/></td>
-<td></td>
-</tr>
-<tr>
-      <td colspan="1">Execution purpose</td>
-      <td colspan="3">
-        <form>
-          <textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-        </form>
-      </td>    
-    </tr>
-<tr>
-<td colspan="2" align="center"><input id="action1" type="submit" value="            Get  Data            " style="height:28px"/></td>
-<form>
-<td colspan="2" align="center"><input id="download_data" type="button" value="Download Data" style="height:28px"/>
-</td>
-</form>
-
-</tr>
-
-<tr>
-<td colspan="4" align="center">
-<textarea readonly id="data_url" cols="130" rows="2">Data URL Here</textarea>
-</td>
-</tr>
-
-<tr>
-<td colspan="4" align="center">
-<textarea id="Response" cols="130" rows="6">Service Response Text Here</textarea>
-</td>
-</tr>
-
-</table>
-
-</body>
-</html>


[06/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/js/jquery-1.4.4.min.js
----------------------------------------------------------------------
diff --git a/public/js/jquery-1.4.4.min.js b/public/js/jquery-1.4.4.min.js
deleted file mode 100644
index 8f3ca2e..0000000
--- a/public/js/jquery-1.4.4.min.js
+++ /dev/null
@@ -1,167 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.4
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Nov 11 19:04:53 2010 -0500
- */
-(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h=
-h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;k<J.length;k++){h=J[k];h.origType.replace(X,"")===a.type?f.push(h.selector):J.splice(k--,1)}f=c(a.target).closest(f,a.currentTarget);o=0;for(x=f.length;o<x;o++){r=f[o];for(k=0;k<J.length;k++){h=J[k];if(r.selector===h.selector&&(!A||A.test(h.namespace))){l=r.elem;e=null;if(h.preType==="mouseenter"||
-h.preType==="mouseleave"){a.type=h.preType;e=c(a.relatedTarget).closest(h.selector)[0]}if(!e||e!==l)C.push({elem:l,handleObj:h,level:r.level})}}}o=0;for(x=C.length;o<x;o++){f=C[o];if(d&&f.level>d)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La,
-"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,
-e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,
-"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+
-a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j,
-s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,
-j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length},
-toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j===
--1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false;
-if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K<Q;K++)if((j=arguments[K])!=null)for(s in j){v=G[s];z=j[s];if(G!==z)if(ga&&z&&(b.isPlainObject(z)||(H=b.isArray(z)))){if(H){H=false;v=v&&b.isArray(v)?v:[]}else v=v&&b.isPlainObject(v)?v:{};G[s]=b.extend(ga,v,z)}else if(z!==B)G[s]=z}return G};b.extend({noConflict:function(j){E.$=e;if(j)E.jQuery=d;return b},isReady:false,readyWait:1,ready:function(j){j===true&&b.readyWait--;
-if(!b.readyWait||j!==true&&!b.isReady){if(!t.body)return setTimeout(b.ready,1);b.isReady=true;if(!(j!==true&&--b.readyWait>0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload",
-b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&&
-!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&&
-l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H<G;){if(s.apply(j[H++],v)===false)break}else if(K)for(z in j){if(s.call(j[z],
-z,j[z])===false)break}else for(v=j[0];H<G&&s.call(v,H,v)!==false;v=j[++H]);return j},trim:O?function(j){return j==null?"":O.call(j)}:function(j){return j==null?"":j.toString().replace(k,"").replace(o,"")},makeArray:function(j,s){var v=s||[];if(j!=null){var z=b.type(j);j.length==null||z==="string"||z==="function"||z==="regexp"||b.isWindow(j)?M.call(v,j):b.merge(v,j)}return v},inArray:function(j,s){if(s.indexOf)return s.indexOf(j);for(var v=0,z=s.length;v<z;v++)if(s[v]===j)return v;return-1},merge:function(j,
-s){var v=j.length,z=0;if(typeof s.length==="number")for(var H=s.length;z<H;z++)j[v++]=s[z];else for(;s[z]!==B;)j[v++]=s[z++];j.length=v;return j},grep:function(j,s,v){var z=[],H;v=!!v;for(var G=0,K=j.length;G<K;G++){H=!!s(j[G],G);v!==H&&z.push(j[G])}return z},map:function(j,s,v){for(var z=[],H,G=0,K=j.length;G<K;G++){H=s(j[G],G,v);if(H!=null)z[z.length]=H}return z.concat.apply([],z)},guid:1,proxy:function(j,s,v){if(arguments.length===2)if(typeof s==="string"){v=j;j=v[s];s=B}else if(s&&!b.isFunction(s)){v=
-s;s=B}if(!s&&j)s=function(){return j.apply(v||this,arguments)};if(j)s.guid=j.guid=j.guid||s.guid||b.guid++;return s},access:function(j,s,v,z,H,G){var K=j.length;if(typeof s==="object"){for(var Q in s)b.access(j,Q,s[Q],z,H,v);return j}if(v!==B){z=!G&&z&&b.isFunction(v);for(Q=0;Q<K;Q++)H(j[Q],s,z?v.call(j[Q],Q,H(j[Q],s)):v,G);return j}return K?H(j[0],s):B},now:function(){return(new Date).getTime()},uaMatch:function(j){j=j.toLowerCase();j=L.exec(j)||g.exec(j)||i.exec(j)||j.indexOf("compatible")<0&&n.exec(j)||
-[];return{browser:j[1]||"",version:j[2]||"0"}},browser:{}});b.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(j,s){R["[object "+s+"]"]=s.toLowerCase()});m=b.uaMatch(m);if(m.browser){b.browser[m.browser]=true;b.browser.version=m.version}if(b.browser.webkit)b.browser.safari=true;if(D)b.inArray=function(j,s){return D.call(s,j)};if(!/\s/.test("\u00a0")){k=/^[\s\xA0]+/;o=/[\s\xA0]+$/}f=b(t);if(t.addEventListener)u=function(){t.removeEventListener("DOMContentLoaded",u,
-false);b.ready()};else if(t.attachEvent)u=function(){if(t.readyState==="complete"){t.detachEvent("onreadystatechange",u);b.ready()}};return E.jQuery=E.$=b}();(function(){c.support={};var a=t.documentElement,b=t.createElement("script"),d=t.createElement("div"),e="script"+c.now();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"),
-k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false,
-scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent=
-false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom=
-1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="<div style='width:4px;'></div>";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display=
-"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h=
-c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);
-else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h<l;h++){f=e[h].name;if(f.indexOf("data-")===0){f=f.substr(5);ka(this[0],f,d[f])}}}return d}else if(typeof a==="object")return this.each(function(){c.data(this,
-a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(b===B){d=this.triggerHandler("getData"+k[1]+"!",[k[0]]);if(d===B&&this.length){d=c.data(this[0],a);d=ka(this[0],a,d)}return d===B&&k[1]?this.data(k[0]):d}else return this.each(function(){var o=c(this),x=[k[0],b];o.triggerHandler("setData"+k[1]+"!",x);c.data(this,a,b);o.triggerHandler("changeData"+k[1]+"!",x)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=
-c.data(a,b);if(!d)return e||[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===B)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,
-a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var sa=/[\n\t]/g,ha=/\s+/,Sa=/\r/g,Ta=/^(?:href|src|style)$/,Ua=/^(?:button|input)$/i,Va=/^(?:button|input|object|select|textarea)$/i,Wa=/^a(?:rea)?$/i,ta=/^(?:radio|checkbox)$/i;c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",
-colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(x){var r=c(this);r.addClass(a.call(this,x,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===
-1)if(f.className){for(var h=" "+f.className+" ",l=f.className,k=0,o=b.length;k<o;k++)if(h.indexOf(" "+b[k]+" ")<0)l+=" "+b[k];f.className=c.trim(l)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var x=c(this);x.removeClass(a.call(this,o,x.attr("class")))});if(a&&typeof a==="string"||a===B)for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1&&f.className)if(a){for(var h=(" "+f.className+" ").replace(sa," "),
-l=0,k=b.length;l<k;l++)h=h.replace(" "+b[l]+" "," ");f.className=c.trim(h)}else f.className=""}return this},toggleClass:function(a,b){var d=typeof a,e=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var h=c(this);h.toggleClass(a.call(this,f,h.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var f,h=0,l=c(this),k=b,o=a.split(ha);f=o[h++];){k=e?k:!l.hasClass(f);l[k?"addClass":"removeClass"](f)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,
-"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(sa," ").indexOf(a)>-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";
-if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h<e;h++){var l=f[h];if(l.selected&&(c.support.optDisabled?!l.disabled:l.getAttribute("disabled")===null)&&(!l.parentNode.disabled||!c.nodeName(l.parentNode,"optgroup"))){a=c(l).val();if(b)return a;d.push(a)}}return d}if(ta.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Sa,"")}return B}var k=c.isFunction(a);return this.each(function(o){var x=c(this),r=a;if(this.nodeType===1){if(k)r=
-a.call(this,o,x.val());if(r==null)r="";else if(typeof r==="number")r+="";else if(c.isArray(r))r=c.map(r,function(C){return C==null?"":C+""});if(c.isArray(r)&&ta.test(this.type))this.checked=c.inArray(x.val(),r)>=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},
-attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&
-b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0};
-c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,
-arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid=
-d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+
-c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h<A.length;h++){C=A[h];if(d.guid===C.guid){if(k||x.test(C.namespace)){e==null&&A.splice(h--,1);r.remove&&r.remove.call(a,C)}if(e!=null)break}}if(A.length===0||e!=null&&A.length===1){if(!r.teardown||r.teardown.call(a,o)===false)c.removeEvent(a,f,w.handle);delete I[f]}}else for(h=0;h<A.length;h++){C=A[h];if(k||x.test(C.namespace)){c.event.remove(a,r,C.handler,h);A.splice(h--,1)}}}if(c.isEmptyObject(I)){if(b=
-w.handle)b.elem=null;delete w.events;delete w.handle;if(typeof w==="function")c.removeData(a,J);else c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var f=a.type||a;if(!e){a=typeof a==="object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===
-8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k===
-"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+
-d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f<l;f++){var k=d[f];if(b||e.test(k.namespace)){a.handler=k.handler;a.data=k.data;a.handleObj=k;k=k.handler.apply(this,h);if(k!==B){a.result=k;if(k===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-fix:function(a){if(a[c.expando])return a;var b=a;a=c.Event(b);for(var d=this.props.length,e;d;){e=this.props[--d];a[e]=b[e]}if(!a.target)a.target=a.srcElement||t;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=t.documentElement;d=t.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which==null&&(a.charCode!=null||a.keyCode!=null))a.which=a.charCode!=null?a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==B)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.extend({},a,{handler:Ka,guid:a.handler.guid}))},remove:function(a){c.event.remove(this,
-Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.isWindow(this))this.onbeforeunload=d},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.removeEvent=t.removeEventListener?function(a,b,d){a.removeEventListener&&a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=
-c.now();this[c.expando]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ca;var a=this.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else a.returnValue=false},stopPropagation:function(){this.isPropagationStopped=ca;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ca;this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U};
-var va=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},wa=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?wa:va,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?wa:va)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!==
-"form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){a.liveFired=B;return la("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){a.liveFired=B;return la("submit",this,arguments)}})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var V,
-xa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired=
-B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type===
-"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]===
-0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h<k;h++)c.event.add(this[h],d,l,e)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d,
-a[d]);else{d=0;for(var e=this.length;d<e;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,e){return this.live(b,d,e,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var d=c.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b,this[0]);return d.result}},toggle:function(a){for(var b=arguments,d=
-1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(e){var f=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,f+1);e.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var ya={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,e,f,h){var l,k=0,o,x,r=h||this.selector;h=h?this:c(this.context);if(typeof d===
-"object"&&!d.preventDefault){for(l in d)h[b](l,e,d[l],r);return this}if(c.isFunction(e)){f=e;e=B}for(d=(d||"").split(" ");(l=d[k++])!=null;){o=X.exec(l);x="";if(o){x=o[0];l=l.replace(X,"")}if(l==="hover")d.push("mouseenter"+x,"mouseleave"+x);else{o=l;if(l==="focus"||l==="blur"){d.push(ya[l]+x);l+=x}else l=(ya[l]||l)+x;if(b==="live"){x=0;for(var A=h.length;x<A;x++)c.event.add(h[x],"live."+Y(l,r),{data:e,selector:r,handler:f,origType:l,origHandler:f,preType:o})}else h.unbind("live."+Y(l,r),f)}}return this}});
-c.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".split(" "),function(a,b){c.fn[b]=function(d,e){if(e==null){e=d;d=null}return arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
-(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1&&!q){y.sizcache=n;y.sizset=p}if(y.nodeName.toLowerCase()===i){F=y;break}y=y[g]}m[p]=F}}}function b(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1){if(!q){y.sizcache=n;y.sizset=p}if(typeof i!=="string"){if(y===i){F=true;break}}else if(k.filter(i,
-[y]).length>0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3];
-break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr,
-q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h=
-l;g.sort(w);if(h)for(var i=1;i<g.length;i++)g[i]===g[i-1]&&g.splice(i--,1)}return g};k.matches=function(g,i){return k(g,null,null,i)};k.matchesSelector=function(g,i){return k(i,null,null,[g]).length>0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p<q;p++){var u,y=o.order[p];if(u=o.leftMatch[y].exec(g)){var F=u[1];u.splice(1,1);if(F.substr(F.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");m=o.find[y](u,i,n);if(m!=null){g=g.replace(o.match[y],"");break}}}}m||(m=i.getElementsByTagName("*"));
-return{set:m,expr:g}};k.filter=function(g,i,n,m){for(var p,q,u=g,y=[],F=i,M=i&&i[0]&&k.isXML(i[0]);g&&i.length;){for(var N in o.filter)if((p=o.leftMatch[N].exec(g))!=null&&p[2]){var O,D,R=o.filter[N];D=p[1];q=false;p.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(F===y)y=[];if(o.preFilter[N])if(p=o.preFilter[N](p,F,n,y,m,M)){if(p===true)continue}else q=O=true;if(p)for(var j=0;(D=F[j])!=null;j++)if(D){O=R(D,p,j,F);var s=m^!!O;if(n&&O!=null)if(s)q=true;else F[j]=false;else if(s){y.push(D);q=true}}if(O!==
-B){n||(F=y);g=g.replace(o.match[N],"");if(!q)return[];break}}}if(g===u)if(q==null)k.error(g);else break;u=g}return F};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var o=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
-POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,i){var n=typeof i==="string",m=n&&!/\W/.test(i);n=n&&!m;if(m)i=i.toLowerCase();m=0;for(var p=g.length,q;m<p;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=n||q&&q.nodeName.toLowerCase()===
-i?q||false:q===i}n&&k.filter(i,g,true)},">":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p<q;p++){if(n=g[p]){n=n.parentNode;g[p]=n.nodeName.toLowerCase()===i?n:false}}else{for(;p<q;p++)if(n=g[p])g[p]=m?n.parentNode:n.parentNode===i;m&&k.filter(i,g,true)}},"":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=i=i.toLowerCase();q=a}q("parentNode",i,p,g,m,n)},"~":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=
-i=i.toLowerCase();q=a}q("previousSibling",i,p,g,m,n)}},find:{ID:function(g,i,n){if(typeof i.getElementById!=="undefined"&&!n)return(g=i.getElementById(g[1]))&&g.parentNode?[g]:[]},NAME:function(g,i){if(typeof i.getElementsByName!=="undefined"){for(var n=[],m=i.getElementsByName(g[1]),p=0,q=m.length;p<q;p++)m[p].getAttribute("name")===g[1]&&n.push(m[p]);return n.length===0?null:n}},TAG:function(g,i){return i.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,i,n,m,p,q){g=" "+g[1].replace(/\\/g,
-"")+" ";if(q)return g;q=0;for(var u;(u=i[q])!=null;q++)if(u)if(p^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n,
-m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===
-true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===
-g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return i<n[3]-0},gt:function(g,i,n){return i>n[3]-0},nth:function(g,i,n){return n[3]-
-0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n<m;n++)if(i[n]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+p)},CHILD:function(g,i){var n=i[1],m=g;switch(n){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(n===
-"first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":n=i[2];var p=i[3];if(n===1&&p===0)return true;var q=i[0],u=g.parentNode;if(u&&(u.sizcache!==q||!g.nodeIndex)){var y=0;for(m=u.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++y;u.sizcache=q}m=g.nodeIndex-p;return n===0?m===0:m%n===0&&m/n>=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===
-i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]];
-if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m,
-g);else if(typeof g.length==="number")for(var p=g.length;n<p;n++)m.push(g[n]);else for(;g[n];n++)m.push(g[n]);return m}}var w,I;if(t.documentElement.compareDocumentPosition)w=function(g,i){if(g===i){h=true;return 0}if(!g.compareDocumentPosition||!i.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(i)&4?-1:1};else{w=function(g,i){var n,m,p=[],q=[];n=g.parentNode;m=i.parentNode;var u=n;if(g===i){h=true;return 0}else if(n===m)return I(g,i);else if(n){if(!m)return 1}else return-1;
-for(;u;){p.unshift(u);u=u.parentNode}for(u=m;u;){q.unshift(u);u=u.parentNode}n=p.length;m=q.length;for(u=0;u<n&&u<m;u++)if(p[u]!==q[u])return I(p[u],q[u]);return u===n?I(g,q[u],-1):I(p[u],i,1)};I=function(g,i,n){if(g===i)return n;for(g=g.nextSibling;g;){if(g===i)return-1;g=g.nextSibling}return 1}}k.getText=function(g){for(var i="",n,m=0;g[m];m++){n=g[m];if(n.nodeType===3||n.nodeType===4)i+=n.nodeValue;else if(n.nodeType!==8)i+=k.getText(n.childNodes)}return i};(function(){var g=t.createElement("div"),
-i="script"+(new Date).getTime(),n=t.documentElement;g.innerHTML="<a name='"+i+"'/>";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g);
-n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&&
-function(){var g=k,i=t.createElement("div");i.innerHTML="<p class='TEST'></p>";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F||
-p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g=
-t.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition?
-function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n<u;n++)k(g,q[n],m);return k.filter(p,m)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=k.getText;c.isXMLDoc=k.isXML;
-c.contains=k.contains})();var Za=/Until$/,$a=/^(?:parents|prevUntil|prevAll)/,ab=/,/,Na=/^.[^:#\[\.,]*$/,bb=Array.prototype.slice,cb=c.expr.match.POS;c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,e=0,f=this.length;e<f;e++){d=b.length;c.find(a,this[e],b);if(e>0)for(var h=d;h<b.length;h++)for(var l=0;l<d;l++)if(b[l]===b[h]){b.splice(h--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,e=b.length;d<e;d++)if(c.contains(this,b[d]))return true})},
-not:function(a){return this.pushStack(ma(this,a,false),"not",a)},filter:function(a){return this.pushStack(ma(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e<f;e++){l=a[e];k[l]||(k[l]=c.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.ownerDocument&&h!==b;){for(l in k){e=k[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h=
-h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e<f;e++)for(h=this[e];h;)if(l?l.index(h)>-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):
-c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,
-2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,
-b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&
-e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/<tbody/i,eb=/<|&#?\w+;/,Ca=/<(?:script|object|embed|option|style)/i,Da=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/\=([^="'>\s]+\/)>/g,P={option:[1,
-"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
-c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
-wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
-prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
-this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
-return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null;
-else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1></$2>");try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(e){this.empty().append(a)}}else c.isFunction(a)?this.each(function(f){var h=c(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=
-c(this),e=d.html();d.replaceWith(a.call(this,b,e))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){var e,f,h,l=a[0],k=[];if(!c.support.checkClone&&arguments.length===3&&typeof l==="string"&&Da.test(l))return this.each(function(){c(this).domManip(a,
-b,d,true)});if(c.isFunction(l))return this.each(function(x){var r=c(this);a[0]=l.call(this,x,b?r.html():B);r.domManip(a,b,d)});if(this[0]){e=l&&l.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:c.buildFragment(a,this,k);h=e.fragment;if(f=h.childNodes.length===1?h=h.firstChild:h.firstChild){b=b&&c.nodeName(f,"tr");f=0;for(var o=this.length;f<o;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")):
-this[f]:this[f],f>0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",
-prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f<h;f++){var l=(f>0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument||
-b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1></$2>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]==="<table>"&&!x?r.childNodes:[];for(o=k.length-
-1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));
-d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i,
-jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,
-zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),
-h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b);
-if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=
-d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left;
-e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
-ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b===
-"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("<div>").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&
-!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})},
-getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",
-script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data||
-!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache=
-false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset;
-A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type",
-b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&&
-c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d||
-c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]=
-encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",
-[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),
-e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});
-if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",
-3),a,b,d);else{d=0;for(var e=this.length;d<e;d++){a=this[d];b=a.style.display;if(!c.data(a,"olddisplay")&&b==="none")b=a.style.display="";b===""&&c.css(a,"display")==="none"&&c.data(a,"olddisplay",qa(a.nodeName))}for(d=0;d<e;d++){a=this[d];b=a.style.display;if(b===""||b==="none")a.style.display=c.data(a,"olddisplay")||""}return this}},hide:function(a,b,d){if(a||a===0)return this.animate(S("hide",3),a,b,d);else{a=0;for(b=this.length;a<b;a++){d=c.css(this[a],"display");d!=="none"&&c.data(this[a],"olddisplay",
-d)}for(a=0;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var f=e?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d,e)},animate:function(a,b,d,e){var f=c.speed(b,
-d,e);if(c.isEmptyObject(a))return this.each(f.complete);return this[f.queue===false?"each":"queue"](function(){var h=c.extend({},f),l,k=this.nodeType===1,o=k&&c(this).is(":hidden"),x=this;for(l in a){var r=c.camelCase(l);if(l!==r){a[r]=a[l];delete a[l];l=r}if(a[l]==="hide"&&o||a[l]==="show"&&!o)return h.complete.call(this);if(k&&(l==="height"||l==="width")){h.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(c.css(this,"display")==="inline"&&c.css(this,"float")==="none")if(c.support.inlineBlockNeedsLayout)if(qa(this.nodeName)===
-"inline")this.style.display="inline-block";else{this.style.display="inline";this.style.zoom=1}else this.style.display="inline-block"}if(c.isArray(a[l])){(h.specialEasing=h.specialEasing||{})[l]=a[l][1];a[l]=a[l][0]}}if(h.overflow!=null)this.style.overflow="hidden";h.curAnim=c.extend({},a);c.each(a,function(A,C){var J=new c.fx(x,h,A);if(vb.test(C))J[C==="toggle"?o?"show":"hide":C](a);else{var w=wb.exec(C),I=J.cur()||0;if(w){var L=parseFloat(w[2]),g=w[3]||"px";if(g!=="px"){c.style(x,A,(L||1)+g);I=(L||
-1)/J.cur()*I;c.style(x,A,I+g)}if(w[1])L=(w[1]==="-="?-1:1)*L+I;J.custom(I,L,g)}else J.custom(I,C,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var e=d.length-1;e>=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b,
-d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a*
-Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)}
-var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;
-this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide||
-this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=
-c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},interval:13,stop:function(){clearInterval(ba);ba=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===
-b.elem}).length};var xb=/^t(?:able|d|h)$/i,Ia=/^(?:body|html)$/i;c.fn.offset="getBoundingClientRect"in t.documentElement?function(a){var b=this[0],d;if(a)return this.each(function(l){c.offset.setOffset(this,a,l)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);try{d=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,h=f.documentElement;if(!d||!c.contains(h,b))return d||{top:0,left:0};b=f.body;f=fa(f);return{top:d.top+(f.pageYOffset||c.support.boxModel&&
-h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pageXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(x){c.offset.setOffset(this,a,x)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d,e=b.offsetParent,f=b.ownerDocument,h=f.documentElement,l=f.body;d=(f=f.defaultView)?f.getComputedStyle(b,null):b.currentStyle;
-for(var k=b.offsetTop,o=b.offsetLeft;(b=b.parentNode)&&b!==l&&b!==h;){if(c.offset.supportsFixedPosition&&d.position==="fixed")break;d=f?f.getComputedStyle(b,null):b.currentStyle;k-=b.scrollTop;o-=b.scrollLeft;if(b===e){k+=b.offsetTop;o+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&xb.test(b.nodeName))){k+=parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}e=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"){k+=
-parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}d=d}if(d.position==="relative"||d.position==="static"){k+=l.offsetTop;o+=l.offsetLeft}if(c.offset.supportsFixedPosition&&d.position==="fixed"){k+=Math.max(h.scrollTop,l.scrollTop);o+=Math.max(h.scrollLeft,l.scrollLeft)}return{top:k,left:o}};c.offset={initialize:function(){var a=t.body,b=t.createElement("div"),d,e,f,h=parseFloat(c.css(a,"marginTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",
-height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);d=b.firstChild;e=d.firstChild;f=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=e.offsetTop!==5;this.doesAddBorderForTableAndCells=
-f.offsetTop===5;e.style.position="fixed";e.style.top="20px";this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15;e.style.position=e.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==h;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.css(a,
-"marginTop"))||0;d+=parseFloat(c.css(a,"marginLeft"))||0}return{top:b,left:d}},setOffset:function(a,b,d){var e=c.css(a,"position");if(e==="static")a.style.position="relative";var f=c(a),h=f.offset(),l=c.css(a,"top"),k=c.css(a,"left"),o=e==="absolute"&&c.inArray("auto",[l,k])>-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a,
-e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&&
-c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();
-c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+
-b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window);


[45/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/.sbtserver/previous.log
----------------------------------------------------------------------
diff --git a/.sbtserver/previous.log b/.sbtserver/previous.log
deleted file mode 100644
index cefd98e..0000000
--- a/.sbtserver/previous.log
+++ /dev/null
@@ -1,7547 +0,0 @@
-New log file opened at Tue Jul 21 18:33:59 PDT 2015 by 32@Lenovo-PC
-jvm 32@Lenovo-PC
-jvm vmName=Java HotSpot(TM) 64-Bit Server VM vmVendor=Oracle Corporation vmVersion=25.51-b03
-jvm specName=Java Virtual Machine Specification specVendor=Oracle Corporation specVersion=1.8
-jvm arguments: [-Xms256m, -Xmx1024m, -XX:MetaspaceSize=64m, -XX:MaxMetaspaceSize=256m]
-Starting event engine
-Starting sbt command engine
-Waiting for sbt command engine
-Command engine arguments=List()
-Command engine baseDirectory=C:\JPL\JPL-Front
-Command engine initial remaining commands List(--initialize, onFailure load-failed, boot, server-send-ready-for-request, server-handle-next-server-request)
-> --initialize
-> initialize
-> onFailure load-failed
-> boot
-> reload
-[Loading] Scanning directory C:\JPL\JPL-Front\project
-[Loading] Found non-root projects 
-[Loading] Done in C:\JPL\JPL-Front\project, returning: ()
-deducing auto plugins based on known facts Set(Atom(sbt.plugins.CorePlugin)) and clauses Clauses(List(Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.JUnitXmlReportPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.IvyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.JUnitXmlReportPlugin)))))
-  :: deduced result: Matched(sbt.plugins.CorePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,sbt.plugins.JUnitXmlReportPlugin)
-sorting: ns: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin)
-  :: sorting:: found: List(sbt.plugins.CorePlugin) not found List(sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin)
-  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin) not found List(sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin)
-  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin) not found List(sbt.plugins.JUnitXmlReportPlugin)
-  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin) not found List()
-  :: sorted deduced result: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin)
-[Loading] Done in C:\JPL\JPL-Front\project, returning: (jpl-front-build)
-Loading project definition from C:\JPL\JPL-Front\project
-Running task... Cancel: sbt.TaskCancellationStrategy$Null$@13fab6a8, check cycles: false
-Updating {file:/C:/JPL/JPL-Front/project/}jpl-front-build...
-Other repositories:
-Default repositories:
-Using inline dependencies specified in Scala.
-:: resolving dependencies :: default#jpl-front-build;0.1-SNAPSHOT
-	confs: [compile, runtime, test, provided, optional, compile-internal, runtime-internal, test-internal, plugin, sources, docs, pom, scala-tool]
-	validate = true
-	refresh = false
-resolving dependencies for configuration 'compile'
-== resolving dependencies for default#jpl-front-build;0.1-SNAPSHOT [compile]
-== resolving dependencies default#jpl-front-build;0.1-SNAPSHOT->com.typesafe.sbt#sbt-echo-play;0.1.1.3 [compile->default(compile)]
-Resolving com.typesafe.sbt#sbt-echo-play;0.1.1.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.sbt#sbt-echo-play;0.1.1.3 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: com.typesafe.sbt#sbt-echo-play;0.1.1.3
-	found com.typesafe.sbt#sbt-echo-play;0.1.1.3 in sbt-chain
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-== resolving dependencies com.typesafe.sbt#sbt-echo-play;0.1.1.3->com.typesafe.sbt#sbt-echo;0.1.1.3 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-Resolving com.typesafe.sbt#sbt-echo;0.1.1.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.sbt#sbt-echo;0.1.1.3 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: com.typesafe.sbt#sbt-echo;0.1.1.3
-	found com.typesafe.sbt#sbt-echo;0.1.1.3 in sbt-chain
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-== resolving dependencies com.typesafe.sbt#sbt-echo;0.1.1.3->org.aspectj#aspectjtools;1.7.3 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-Resolving org.aspectj#aspectjtools;1.7.3 ...
-sbt-chain: Checking cache for: dependency: org.aspectj#aspectjtools;1.7.3 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: org.aspectj#aspectjtools;1.7.3
-	found org.aspectj#aspectjtools;1.7.3 in sbt-chain
-== resolving dependencies com.typesafe.sbt#sbt-echo;0.1.1.3->org.aspectj#aspectjtools;1.7.3 [compile->runtime]
-== resolving dependencies com.typesafe.sbt#sbt-echo;0.1.1.3->org.aspectj#aspectjtools;1.7.3 [compile->compile]
-== resolving dependencies com.typesafe.sbt#sbt-echo;0.1.1.3->org.aspectj#aspectjtools;1.7.3 [compile->master]
-== resolving dependencies com.typesafe.sbt#sbt-echo-play;0.1.1.3->com.typesafe.play#sbt-plugin;2.2.3 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-Resolving com.typesafe.play#sbt-plugin;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#sbt-plugin;2.2.3 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: com.typesafe.play#sbt-plugin;2.2.3
-	found com.typesafe.play#sbt-plugin;2.2.3 in sbt-chain
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#sbt-link;2.2.3 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@20faf34d
-Resolving com.typesafe.play#sbt-link;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#sbt-link;2.2.3 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: com.typesafe.play#sbt-link;2.2.3
-	found com.typesafe.play#sbt-link;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#sbt-link;2.2.3 [compile->runtime]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#sbt-link;2.2.3 [compile->compile]
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [compile->master(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@c70ec11
-Resolving org.javassist#javassist;3.18.0-GA ...
-sbt-chain: Checking cache for: dependency: org.javassist#javassist;3.18.0-GA {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.javassist#javassist;3.18.0-GA
-	found org.javassist#javassist;3.18.0-GA in sbt-chain
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [compile->compile(*)]
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [compile->runtime(*)]
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [compile->compile]
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [compile->default(compile)]
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [compile->runtime]
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [compile->compile]
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [compile->master]
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [runtime->compile]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#sbt-link;2.2.3 [compile->master]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#play-exceptions;2.2.3 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@7fac5acd
-Resolving com.typesafe.play#play-exceptions;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#play-exceptions;2.2.3 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: com.typesafe.play#play-exceptions;2.2.3
-	found com.typesafe.play#play-exceptions;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#play-exceptions;2.2.3 [compile->runtime]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#play-exceptions;2.2.3 [compile->compile]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#play-exceptions;2.2.3 [compile->master]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#routes-compiler_2.10;2.2.3 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@5aade922
-Resolving com.typesafe.play#routes-compiler_2.10;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#routes-compiler_2.10;2.2.3 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: com.typesafe.play#routes-compiler_2.10;2.2.3
-	found com.typesafe.play#routes-compiler_2.10;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#routes-compiler_2.10;2.2.3 [compile->runtime]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#routes-compiler_2.10;2.2.3 [compile->compile]
-== resolving dependencies com.typesafe.play#routes-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->master(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@78496748
-Resolving com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 ...
-sbt-chain: Checking cache for: dependency: com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.github.scala-incubator.io#scala-io-file_2.10;0.4.2
-	found com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 in sbt-chain
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-== resolving dependencies com.typesafe.play#routes-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->compile(*)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 [compile->master(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@7f0097c3
-Resolving com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 ...
-sbt-chain: Checking cache for: dependency: com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.github.scala-incubator.io#scala-io-core_2.10;0.4.2
-	found com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 in sbt-chain
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 [compile->compile(*)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->org.scala-lang#scala-library;2.10.4 [compile->master(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@6215ea38
-Resolving org.scala-lang#scala-library;2.10.4 ...
-sbt-chain: Checking cache for: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.scala-lang#scala-library;2.10.4
-	found org.scala-lang#scala-library;2.10.4 in sbt-chain
-	[2.10.4] org.scala-lang#scala-library;2.10.4
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->org.scala-lang#scala-library;2.10.4 [compile->compile(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->com.jsuereth#scala-arm_2.10;1.3 [compile->master(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@48f021c7
-Resolving com.jsuereth#scala-arm_2.10;1.3 ...
-sbt-chain: Checking cache for: dependency: com.jsuereth#scala-arm_2.10;1.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.jsuereth#scala-arm_2.10;1.3
-	found com.jsuereth#scala-arm_2.10;1.3 in sbt-chain
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->com.jsuereth#scala-arm_2.10;1.3 [compile->compile(*)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies com.jsuereth#scala-arm_2.10;1.3->org.scala-lang#scala-library;2.10.4 [compile->master(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies com.jsuereth#scala-arm_2.10;1.3->org.scala-lang#scala-library;2.10.4 [compile->compile(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->org.scala-lang#scala-library;2.10.4 [compile->master(compile)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->org.scala-lang#scala-library;2.10.4 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#routes-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->runtime(*)]
-== resolving dependencies com.typesafe.play#routes-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->compile]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 [runtime->runtime(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 [runtime->compile]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->org.scala-lang#scala-library;2.10.4 [runtime->runtime(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->org.scala-lang#scala-library;2.10.4 [runtime->compile]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->com.jsuereth#scala-arm_2.10;1.3 [runtime->runtime(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->com.jsuereth#scala-arm_2.10;1.3 [runtime->compile]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies com.jsuereth#scala-arm_2.10;1.3->org.scala-lang#scala-library;2.10.4 [runtime->runtime(*)]
-== resolving dependencies com.jsuereth#scala-arm_2.10;1.3->org.scala-lang#scala-library;2.10.4 [runtime->compile]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->org.scala-lang#scala-library;2.10.4 [runtime->runtime(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->org.scala-lang#scala-library;2.10.4 [runtime->compile]
-== resolving dependencies com.typesafe.play#routes-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->default(compile)]
-== resolving dependencies com.typesafe.play#routes-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->runtime]
-== resolving dependencies com.typesafe.play#routes-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->compile]
-== resolving dependencies com.typesafe.play#routes-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->master]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.0 {test=[runtime(*), master(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {test=[runtime(*), master(compile)]}
-== resolving dependencies com.typesafe.play#routes-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#routes-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#routes-compiler_2.10;2.2.3 [compile->master]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#templates-compiler_2.10;2.2.3 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@32e7f32b
-Resolving com.typesafe.play#templates-compiler_2.10;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#templates-compiler_2.10;2.2.3 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: com.typesafe.play#templates-compiler_2.10;2.2.3
-	found com.typesafe.play#templates-compiler_2.10;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#templates-compiler_2.10;2.2.3 [compile->runtime]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#templates-compiler_2.10;2.2.3 [compile->compile]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies com.typesafe.play#templates-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->master(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies com.typesafe.play#templates-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#templates-compiler_2.10;2.2.3->org.scala-lang#scala-compiler;2.10.4 [compile->master(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@8df4887
-Resolving org.scala-lang#scala-compiler;2.10.4 ...
-sbt-chain: Checking cache for: dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.scala-lang#scala-compiler;2.10.4
-	found org.scala-lang#scala-compiler;2.10.4 in sbt-chain
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies com.typesafe.play#templates-compiler_2.10;2.2.3->org.scala-lang#scala-compiler;2.10.4 [compile->compile(*)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies org.scala-lang#scala-compiler;2.10.4->org.scala-lang#scala-library;2.10.4 [compile->master(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies org.scala-lang#scala-compiler;2.10.4->org.scala-lang#scala-library;2.10.4 [compile->compile(*)]
-== resolving dependencies org.scala-lang#scala-compiler;2.10.4->org.scala-lang#scala-reflect;2.10.4 [compile->master(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@5e8d9187
-Resolving org.scala-lang#scala-reflect;2.10.4 ...
-sbt-chain: Checking cache for: dependency: org.scala-lang#scala-reflect;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.scala-lang#scala-reflect;2.10.4
-	found org.scala-lang#scala-reflect;2.10.4 in sbt-chain
-	[2.10.4] org.scala-lang#scala-reflect;2.10.4
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies org.scala-lang#scala-compiler;2.10.4->org.scala-lang#scala-reflect;2.10.4 [compile->compile(*)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies org.scala-lang#scala-reflect;2.10.4->org.scala-lang#scala-library;2.10.4 [compile->master(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies org.scala-lang#scala-reflect;2.10.4->org.scala-lang#scala-library;2.10.4 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#templates-compiler_2.10;2.2.3->org.scala-lang#scala-compiler;2.10.4 [compile->runtime(*)]
-== resolving dependencies com.typesafe.play#templates-compiler_2.10;2.2.3->org.scala-lang#scala-compiler;2.10.4 [compile->compile]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies org.scala-lang#scala-compiler;2.10.4->org.scala-lang#scala-library;2.10.4 [runtime->runtime(*)]
-== resolving dependencies org.scala-lang#scala-compiler;2.10.4->org.scala-lang#scala-library;2.10.4 [runtime->compile]
-== resolving dependencies org.scala-lang#scala-compiler;2.10.4->org.scala-lang#scala-reflect;2.10.4 [runtime->runtime(*)]
-== resolving dependencies org.scala-lang#scala-compiler;2.10.4->org.scala-lang#scala-reflect;2.10.4 [runtime->compile]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies org.scala-lang#scala-reflect;2.10.4->org.scala-lang#scala-library;2.10.4 [runtime->runtime(*)]
-== resolving dependencies org.scala-lang#scala-reflect;2.10.4->org.scala-lang#scala-library;2.10.4 [runtime->compile]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies com.typesafe.play#templates-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#templates-compiler_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#templates-compiler_2.10;2.2.3->org.scala-lang#scala-compiler;2.10.4 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#templates-compiler_2.10;2.2.3->org.scala-lang#scala-compiler;2.10.4 [runtime->compile]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#templates-compiler_2.10;2.2.3 [compile->master]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#console_2.10;2.2.3 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@66378632
-Resolving com.typesafe.play#console_2.10;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#console_2.10;2.2.3 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: com.typesafe.play#console_2.10;2.2.3
-	found com.typesafe.play#console_2.10;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#console_2.10;2.2.3 [compile->runtime]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#console_2.10;2.2.3 [compile->compile]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->org.scala-sbt#launcher-interface;0.13.0 [compile->master(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@6da37df4
-Resolving org.scala-sbt#launcher-interface;0.13.0 ...
-sbt-chain: Checking cache for: dependency: org.scala-sbt#launcher-interface;0.13.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.scala-sbt#launcher-interface;0.13.0
-	found org.scala-sbt#launcher-interface;0.13.0 in sbt-chain
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {compile=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[default(compile)]}
-== resolving dependencies org.scala-sbt#launcher-interface;0.13.0->org.scala-lang#scala-library;2.10.4 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {compile=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {compile=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {compile=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {compile=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[default(compile)]}
-== resolving dependencies org.scala-sbt#launcher-interface;0.13.0->org.scala-lang#scala-library;2.10.4 [compile->runtime]
-== resolving dependencies org.scala-sbt#launcher-interface;0.13.0->org.scala-lang#scala-library;2.10.4 [compile->compile]
-== resolving dependencies org.scala-sbt#launcher-interface;0.13.0->org.scala-lang#scala-library;2.10.4 [compile->master]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->org.scala-sbt#launcher-interface;0.13.0 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->org.scala-sbt#launcher-interface;0.13.0 [compile->runtime(*)]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->org.scala-sbt#launcher-interface;0.13.0 [compile->compile]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {compile=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {compile=[default(compile)]}
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->jline#jline;2.11 [compile->master(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@7dec6ab8
-Resolving jline#jline;2.11 ...
-sbt-chain: Checking cache for: dependency: jline#jline;2.11 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: jline#jline;2.11
-	found jline#jline;2.11 in sbt-chain
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->jline#jline;2.11 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->jline#jline;2.11 [compile->runtime(*)]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->jline#jline;2.11 [compile->compile]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->org.scala-sbt#launcher-interface;0.13.0 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->org.scala-sbt#launcher-interface;0.13.0 [runtime->compile]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->jline#jline;2.11 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#console_2.10;2.2.3->jline#jline;2.11 [runtime->compile]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe.play#console_2.10;2.2.3 [compile->master]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe#config;1.0.2 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@4ec21fb0
-Resolving com.typesafe#config;1.0.2 ...
-sbt-chain: Checking cache for: dependency: com.typesafe#config;1.0.2 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: com.typesafe#config;1.0.2
-	found com.typesafe#config;1.0.2 in sbt-chain
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe#config;1.0.2 [compile->runtime]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe#config;1.0.2 [compile->compile]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.typesafe#config;1.0.2 [compile->master]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->org.mozilla#rhino;1.7R4 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@40e21714
-Resolving org.mozilla#rhino;1.7R4 ...
-sbt-chain: Checking cache for: dependency: org.mozilla#rhino;1.7R4 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: org.mozilla#rhino;1.7R4
-	found org.mozilla#rhino;1.7R4 in sbt-chain
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->org.mozilla#rhino;1.7R4 [compile->runtime]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->org.mozilla#rhino;1.7R4 [compile->compile]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->org.mozilla#rhino;1.7R4 [compile->master]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.google.javascript#closure-compiler;v20130603 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@3d84f7a5
-Resolving com.google.javascript#closure-compiler;v20130603 ...
-sbt-chain: Checking cache for: dependency: com.google.javascript#closure-compiler;v20130603 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: com.google.javascript#closure-compiler;v20130603
-	found com.google.javascript#closure-compiler;v20130603 in sbt-chain
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.google.javascript#closure-compiler;v20130603 [compile->runtime]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.google.javascript#closure-compiler;v20130603 [compile->compile]
-excluding dependency: args4j#args4j;2.0.16 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: com.google.protobuf#protobuf-java;2.4.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: com.google.code.findbugs#jsr305;1.3.9 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->com.google.guava#guava;14.0.1 [compile->master(compile)]
-excluding dependency: args4j#args4j;2.0.16 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: com.google.protobuf#protobuf-java;2.4.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: com.google.code.findbugs#jsr305;1.3.9 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: args4j#args4j;2.0.16 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-excluding dependency: com.google.protobuf#protobuf-java;2.4.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-excluding dependency: com.google.code.findbugs#jsr305;1.3.9 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@716f4b71
-Resolving com.google.guava#guava;14.0.1 ...
-sbt-chain: Checking cache for: dependency: com.google.guava#guava;14.0.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.google.guava#guava;14.0.1
-	found com.google.guava#guava;14.0.1 in sbt-chain
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->com.google.guava#guava;14.0.1 [compile->compile(*)]
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->com.google.guava#guava;14.0.1 [compile->runtime(*)]
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->com.google.guava#guava;14.0.1 [compile->compile]
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->com.google.guava#guava;14.0.1 [compile->default(compile)]
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->com.google.guava#guava;14.0.1 [compile->runtime]
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->com.google.guava#guava;14.0.1 [compile->compile]
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->com.google.guava#guava;14.0.1 [compile->master]
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->org.json#json;20090211 [compile->master(compile)]
-excluding dependency: args4j#args4j;2.0.16 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: com.google.protobuf#protobuf-java;2.4.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: com.google.code.findbugs#jsr305;1.3.9 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: args4j#args4j;2.0.16 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-excluding dependency: com.google.protobuf#protobuf-java;2.4.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-excluding dependency: com.google.code.findbugs#jsr305;1.3.9 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@7db0ee7
-Resolving org.json#json;20090211 ...
-sbt-chain: Checking cache for: dependency: org.json#json;20090211 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.json#json;20090211
-	found org.json#json;20090211 in sbt-chain
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->org.json#json;20090211 [compile->compile(*)]
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->org.json#json;20090211 [compile->runtime(*)]
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->org.json#json;20090211 [compile->compile]
-excluding dependency: args4j#args4j;2.0.16 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-excluding dependency: com.google.protobuf#protobuf-java;2.4.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-excluding dependency: com.google.code.findbugs#jsr305;1.3.9 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->com.google.guava#guava;14.0.1 [runtime->runtime(*)]
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->com.google.guava#guava;14.0.1 [runtime->compile]
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->org.json#json;20090211 [runtime->runtime(*)]
-== resolving dependencies com.google.javascript#closure-compiler;v20130603->org.json#json;20090211 [runtime->compile]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.google.javascript#closure-compiler;v20130603 [compile->master]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.google.guava#guava;14.0.1 [compile->default(compile)]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.google.guava#guava;14.0.1 [compile->runtime]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.google.guava#guava;14.0.1 [compile->compile]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.google.guava#guava;14.0.1 [compile->master]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->default(compile)]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->runtime]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->compile]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->master]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->org.avaje.ebeanorm#avaje-ebeanorm-agent;3.2.1 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]}
-dependency descriptor has been mediated: sbt.ivyint.MergedDescriptors@21a5cf10 => sbt.ivyint.MergedDescriptors@7c6728bd
-Resolving org.avaje.ebeanorm#avaje-ebeanorm-agent;3.2.1 ...
-sbt-chain: Checking cache for: dependency: org.avaje.ebeanorm#avaje-ebeanorm-agent;3.2.1 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: org.avaje.ebeanorm#avaje-ebeanorm-agent;3.2.1
-	found org.avaje.ebeanorm#avaje-ebeanorm-agent;3.2.1 in sbt-chain
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->org.avaje.ebeanorm#avaje-ebeanorm-agent;3.2.1 [compile->runtime]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->org.avaje.ebeanorm#avaje-ebeanorm-agent;3.2.1 [compile->compile]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->org.avaje.ebeanorm#avaje-ebeanorm-agent;3.2.1 [compile->master]
-== resolving dependencies com.typesafe.play#sbt-plugin;2.2.3->com.h2database#h2;1.3.172 [compile->default(compile)]
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-reflect;2.10.3 {provided=[default(compile)]} => dependency: org.scala-lang#scala-reflect;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-library;2.10.2 {provided=[default(compile)]} => dependency: org.scala-lang#scala-library;2.10.4 {provided=[default(compile)]}
-dependency descriptor has been mediated: dependency: org.scala-lang#scala-compiler;2.10.4 {scala-tool=[default, optional(default)]} => dependency: org.scala-lang#scala-compiler;2.10

<TRUNCATED>


[08/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/xmisc.js
----------------------------------------------------------------------
diff --git a/public/javascripts/xmisc.js b/public/javascripts/xmisc.js
deleted file mode 100644
index 5d08037..0000000
--- a/public/javascripts/xmisc.js
+++ /dev/null
@@ -1,320 +0,0 @@
-xmisc = {};
-
-// use parameters in attributes (list) to extract valid points from data (list)
-xmisc.get_valid_data_hdf4 = function(attrs, data) {
-
-    var fillValue = null;
-    //var missingValue = null;
-    var scaleFactor = null;
-    var offset = null;
-    var validRange = null;
-    var count = 0;
-    for (var i=0; i<attrs.length; i++) {
-        var attr = attrs[i];
-        var name = attr["name"];
-        var value = attr["value"];
-        if (name == "_FillValue") {
-            fillValue = value;
-            count += 1;
-        }
-        if (name == "scale_factor") {
-            scaleFactor = value;
-            count += 1;
-        }
-        if (name == "add_offset") {
-            offset = value;
-            count += 1;
-        }
-        if (name == "valid_range") {
-            validRange = value;
-            count += 1;
-        }
-    }
-
-    // insist on seeing all 4 of fillValue, scaleFactor, offset, validRange
-    //if (count != 4)
-    if (scaleFactor == null || offset == null || validRange == null)
-        return this.get_valid_data_default(data);
-
-    // sometimes validRange is bad, such as [0, -1], e.g.,
-    // http://oscar1.jpl.nasa.gov/data/cache/ladsweb.nascom.nasa.gov/allData/5/MOD05_L2/2008/123/MOD05_L2.A2008123.0405.005.2008124113323.hdf/Quality_Assurance_Infrared/?output=json
-    var validRangeIsOkay= true;
-    if (validRange[0] > validRange[1])
-        var validRangeIsOkay = false;
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (validRangeIsOkay && data[i] < validRange[0])
-            continue;
-        if (validRangeIsOkay && data[i] > validRange[1])
-            continue;
-        z.push([i, data[i]*scaleFactor+offset]);
-    }
-
-    return z;
-}
-
-// use parameters in attributes (list) to extract valid points from data (list)
-xmisc.get_valid_data_hdf5 = function(attrs, data) {
-
-    var fillValue = null;
-    var missingValue = null;
-    //var scaleFactor = null;
-    //var offset = null;
-    //var validRange = null;
-    var count = 0;
-    for (var i=0; i<attrs.length; i++) {
-        var attr = attrs[i];
-        var name = attr["name"];
-        var value = attr["value"];
-        if (name == "_FillValue") {
-            fillValue = value;
-            count += 1;
-        }
-        if (name == "MissingValue") {
-            missingValue = value;
-            count += 1;
-        }
-        /*
-        if (name == "scale_factor") {
-            scaleFactor = value;
-            count += 1;
-        }
-        if (name == "add_offset") {
-            offset = value;
-            count += 1;
-        }
-        if (name == "valid_range") {
-            validRange = value;
-            count += 1;
-        }
-        */
-    }
-
-    // insist on seeing all 2 of fillValue, missingValue
-    if (count != 2)
-        return this.get_valid_data_default(data);
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (data[i] == missingValue)
-            continue;
-        //z.push([i, data[i]*scaleFactor+offset]);
-        z.push([i,data[i]]);
-    }
-
-    return z;
-}
-
-// use parameters in attributes (list) to extract valid points from data (list)
-// specifically for aws
-xmisc.get_valid_data_nc_aws = function(attrs, data) {
-
-    var fillValue = null;
-    //var missingValue = null;
-    var scaleFactor = 1.0;
-    //var offset = null;
-    //var validRange = null;
-    var count = 0;
-    for (var i=0; i<attrs.length; i++) {
-        var attr = attrs[i];
-        var name = attr["name"];
-        var value = attr["value"];
-        if (name == "_FillValue") {
-            fillValue = value;
-            count += 1;
-        }
-        if (name == "scale_factor") {
-            scaleFactor = value;
-            count += 1;
-        }
-        //if (name == "add_offset") {
-        //    offset = value;
-        //    count += 1;
-        //}
-        //if (name == "valid_range") {
-        //    validRange = value;
-        //    count += 1;
-        //}
-    }
-
-    // insist on seeing all 4 of fillValue, scaleFactor, offset, validRange
-    //if (count != 4)
-    if (scaleFactor == null)
-        return this.get_valid_data_default(data);
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (fillValue != null && data[i] == fillValue)
-            continue;
-        z.push([i, data[i]*scaleFactor]);
-    }
-
-    return z;
-}
-
-xmisc.get_valid_data_default = function(data) {
-    var min = -10000;
-    var max = 10000;
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (data[i] < min)
-            continue;
-        if (data[i] > max)
-            continue;
-        z.push([i,data[i]]);
-    }
-    
-    return z;
-}
-
-xmisc.get_valid_data = function(w10nType, attrs, data) {
-
-    if (w10nType == "hdf4" || w10nType == "hdf4.basic")
-        return this.get_valid_data_hdf4(attrs, data);
-
-    if (w10nType == "hdf5" || w10nType == "hdf5.basic")
-        return this.get_valid_data_hdf5(attrs, data);
-
-    if (w10nType == "nc")
-        return this.get_valid_data_nc_aws(attrs, data);
-
-    return this.get_valid_data_default(data);
-}
-
-xmisc.get_series1 = function(x, y, min, max) {
-    //var min = -10000;
-    //var max = 10000;
-
-    var data = [];
-
-    if (x == null)
-        return {error:"x is null", data:data};
-    if (y == null)
-        return {error:"y is null", data:data};
-    if (x.length != y.length)
-        return {error:"x and y are not of the same size", data:data};
-
-    var data = [];
-    for (var i=0; i<x.length; i++) {
-        if (x[i] <= min || x[i] >= max)
-            continue;
-        if (y[i] <= min || y[i] >= max)
-            continue;
-        data.push([x[i],y[i]]);
-    }
-    
-    return {error:null, data:data};
-}
-
-/*
-xmisc.mask = function(a, allowRange, rejectList, value) {
-    var x = this.select_by_range(a, allowRange, value, false);
-    x = this.select_by_list(a, rejectList, value, true);
-    return x;
-}
-*/
-
-// a: array
-// range: [r0, r1]
-// value: set to value if out of range
-// negate: boolean to negate selection
-// return: array with out-of-range members as value
-xmisc.select_by_range = function(a, range, value, negate) {
-    if (!range)
-        return a;
-
-    var r0 = range[0];
-    var r1 = range[1];
-
-    var b = [];
-    var i, x, y;
-    for (i=0; i<a.length; i++) {
-        x = a[i];
-        if (x >= r0 && x <= r1) {
-            x = (negate) ? value : x;
-        } else {
-            x = (negate) ? x: value;
-        }
-        b.push(x);
-    }
-    return b;
-}
-
-xmisc.isOneOf = function(x, a) {
-    for (var i=0; i<a.length; i++) {
-        if (x == a[i])
-            return true;
-    }
-    return false;
-}
-
-// a: array
-// list: [val0, val1, ...], list to mask
-// value: set to value if member is one of list
-// negate: boolean to negate selection
-// return: array with members in list as value
-xmisc.select_by_list = function(a, list, value, negate) {
-    if (!list)
-        return a;
-
-    var b = []
-    var i, x;
-    for (i=0; i<a.length; i++) {
-        x = a[i];
-        if (this.isOneOf(x, list)) {
-            x = (negate) ? value : x;
-        } else {
-            x = (negate) ? x : value;
-        }
-        b.push(x);
-    }
-}
-
-xmisc.filter = function(x, filter) {
-    if (!filter)
-        return x;
-    z = [];
-    var lower = null;
-    var upper = null;
-    if (filter.validRange) {
-        lower = filter.validRange[0];
-        upper = filter.validRange[1];
-    }
-    var mask = [];
-
-    for (var i=0; i<x.length; i++) {
-        if (filter.validRange) {
-            if (x[i] < filter.validRange[0] || x[i] > filter.validRange[1]) {
-                z.push(null);
-            } else {
-                z.push(x[i]);
-            }
-            continue;
-        }
-        if (filter.MaskedValues) {
-            continue;
-        }
-        z.push(x[i]);
-    }
-}
-
-xmisc.get_series = function(x, y) {
-
-    var data = [];
-
-    if (x == null)
-        return {error:"x is null"};
-    if (y == null)
-        return {error:"y is null"};
-    if (x.length != y.length)
-        return {error:"x and y are not of the same size"};
-
-    var data = [];
-    for (var i=0; i<x.length; i++) {
-        data.push([x[i],y[i]]);
-    }
-    
-    return {error:null, data:data};
-}


[39/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/differencePlotTwoTimeAveragedVariables.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/differencePlotTwoTimeAveragedVariables.scala.html b/app/views/climate/differencePlotTwoTimeAveragedVariables.scala.html
deleted file mode 100644
index 5b26eb7..0000000
--- a/app/views/climate/differencePlotTwoTimeAveragedVariables.scala.html
+++ /dev/null
@@ -1,1374 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(parameters: metadata.DiffPlotTwoTimeAveragedVar) @import helper._
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-@scripts = {
-<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js"></script> 
-	<script type="
-	text/javascript" src='@routes.Assets.at("javascripts/json2.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/xmisc.js")'></script>
-<script type="text/javascript">
-	var Response = null;
-    var variable1 = "";
-    var variable2 = "";
-    window.onload = function() {
-	    changeDataSource();
-	    select_data1(1);
-	    changeDataSource1();
-	    select_data1(2);
-	    changeVariableName();
-	    select_var1(1);
-	    changeVariableName1();
-	    select_var1(2);
-	    var imageUrl = $('#image').text();
-	    $('#purpose').html($('#executionPurpose').text());
-	    $('#Image').html('<img src="'+imageUrl+'" width=680 />');
-	    $('#data_url').html($('#dataURL').text());
-	    $('#Response').html($('serviceResponseText').text());
-    }
-    function changeVariableName1(){
-	    var var_string = $('#variableName2').text();
-	    var x=document.getElementById("var2");
-	    if (var_string == "clt")
-	    x.options[1].selected=true;
-	    else if (var_string == "ts")
-	    x.options[2].selected=true;
-	    else if (var_string == "tos")
-	    x.options[3].selected=true;
-	    else if (var_string == "pr")
-	    x.options[0].selected=true;
-	    else if (var_string == "uas")
-	    x.options[4].selected=true;
-	    else if (var_string == "vas")
-	    x.options[5].selected=true;
-	    else if (var_string == "sfcWind")
-	    x.options[6].selected=true;
-	    else if (var_string == "zos")
-	    x.options[7].selected=true;
-	    else if (var_string == "lai")
-	    x.options[8].selected=true;
-	    else if (var_string == "zl")
-	    x.options[9].selected=true;
-	    else if (var_string == "zo")
-	    x.options[10].selected=true;
-	    else if (var_string == "ohc700")
-	    x.options[11].selected=true;
-	    else if (var_string == "ohc2000")
-	    x.options[12].selected=true;
-	    else if (var_string == "rlds")
-	    x.options[13].selected=true;
-	    else if (var_string == "rsds")
-	    x.options[14].selected=true;
-	    else if (var_string == "rlus")
-	    x.options[15].selected=true;
-	    else if (var_string == "rsus")
-	    x.options[16].selected=true;
-	    else if (var_string == "rldscs")
-	    x.options[17].selected=true;
-	    else if (var_string == "rsdscs")
-	    x.options[18].selected=true;
-	    else if (var_string == "rsuscs")
-	    x.options[19].selected=true;
-	    else if (var_string == "rsdt")
-	    x.options[20].selected=true;
-	    else if (var_string == "rlutcs")
-	    x.options[21].selected=true;
-	    else if (var_string == "rlut")
-	    x.options[22].selected=true;
-	    else if (var_string == "rsutcs")
-	    x.options[23].selected=true;
-	    else if (var_string == "rsut")
-	    x.options[24].selected=true;
-	}
-    function changeVariableName(){
-	    var var_string = $('#variableName1').text();
-	    var x=document.getElementById("var1");
-	    if (var_string == "clt")
-	    x.options[1].selected=true;
-	    else if (var_string == "ts")
-	    x.options[2].selected=true;
-	    else if (var_string == "tos")
-	    x.options[3].selected=true;
-	    else if (var_string == "pr")
-	    x.options[0].selected=true;
-	    else if (var_string == "uas")
-	    x.options[4].selected=true;
-	    else if (var_string == "vas")
-	    x.options[5].selected=true;
-	    else if (var_string == "sfcWind")
-	    x.options[6].selected=true;
-	    else if (var_string == "zos")
-	    x.options[7].selected=true;
-	    else if (var_string == "lai")
-	    x.options[8].selected=true;
-	    else if (var_string == "zl")
-	    x.options[9].selected=true;
-	    else if (var_string == "zo")
-	    x.options[10].selected=true;
-	    else if (var_string == "ohc700")
-	    x.options[11].selected=true;
-	    else if (var_string == "ohc2000")
-	    x.options[12].selected=true;
-	    else if (var_string == "rlds")
-	    x.options[13].selected=true;
-	    else if (var_string == "rsds")
-	    x.options[14].selected=true;
-	    else if (var_string == "rlus")
-	    x.options[15].selected=true;
-	    else if (var_string == "rsus")
-	    x.options[16].selected=true;
-	    else if (var_string == "rldscs")
-	    x.options[17].selected=true;
-	    else if (var_string == "rsdscs")
-	    x.options[18].selected=true;
-	    else if (var_string == "rsuscs")
-	    x.options[19].selected=true;
-	    else if (var_string == "rsdt")
-	    x.options[20].selected=true;
-	    else if (var_string == "rlutcs")
-	    x.options[21].selected=true;
-	    else if (var_string == "rlut")
-	    x.options[22].selected=true;
-	    else if (var_string == "rsutcs")
-	    x.options[23].selected=true;
-	    else if (var_string == "rsut")
-	    x.options[24].selected=true;
-    }
-    function changeDataSource1(){
-	    var dataSource = $('#source2').text();
-	    dataSource = dataSource.toUpperCase();
-	    var x = document.getElementById("data2");
-	    if(dataSource == "NASA_MODIS" ){
-	    x.options[13].selected=true;
-	    }
-	    else if(dataSource == "NASA_AMSRE" ){
-	    x.options[14].selected=true;
-	    }
-	    else if(dataSource == "NASA_TRMM" ){
-	    x.options[15].selected=true;
-	    }
-	    else if(dataSource == "NASA_GPCP" ){
-	    x.options[16].selected=true;
-	    }
-	    else if(dataSource == "NASA_QUIKSCAT" ){
-	    x.options[17].selected=true;
-	    }
-	    else if(dataSource == "NASA_AVISO" ){
-	    x.options[18].selected=true;
-	    }
-	    else if(dataSource == "NASA_GRACE" ){
-	    x.options[19].selected=true;
-	    }
-	    else if(dataSource == "NOAA_NODC" ){
-	    x.options[20].selected=true;
-	    }
-	    else if(dataSource == "NASA_CERES" ){
-	    x.options[21].selected=true;
-	    }
-	    else if(dataSource == "NASA_AIRS" ){
-	    x.options[22].selected=true;
-	    }
-	    else if(dataSource == "NASA_MLS" ){
-	    x.options[23].selected=true;
-	    }
-	    else if(dataSource == "NASA_ARGO" ){
-	    x.options[24].selected=true;
-	    }
-	    else if(dataSource == "CCCMA_CANESM2" ){
-	    x.options[0].selected=true;
-	    }
-	    else if(dataSource == "GFDL_ESM2G" ){
-	    x.options[1].selected=true;
-	    }
-	    else if(dataSource == "GISS_E2-H" ){
-	    x.options[2].selected=true;
-	    }
-	    else if(dataSource == "GISS_E2-R" ){
-	    x.options[3].selected=true;
-	    }
-	    else if(dataSource == "NCAR_CAM5" ){
-	    x.options[4].selected=true;
-	    }
-	    else if(dataSource == "NCC_NORESM" ){
-	    x.options[5].selected=true;
-	    }
-	    else if(dataSource == "UKMO_HADGEM2-ES" ){
-	    x.options[6].selected=true;
-	    }
-	    else if(dataSource == "CCCMA_CANAM4" ){
-	    x.options[7].selected=true;
-	    }
-	    else if(dataSource == "CSIRO_MK3.6" ){
-	    x.options[8].selected=true;
-	    }
-	    else if(dataSource == "GFDL_CM3" ){
-	    x.options[9].selected=true;
-	    }
-	    else if(dataSource == "IPSL_CM5A-LR" ){
-	    x.options[10].selected=true;
-	    }
-	    else if(dataSource == "MIROC_MIROC5" ){
-	    x.options[11].selected=true;
-	    }
-	    else if(dataSource == "UKMO_HADGEM2-A" ){
-	    x.options[12].selected=true;
-	    }
-	    else if(dataSource == "ECMWF_INTERIM" ){
-	    x.options[25].selected=true;
-	    }
-    }
-    function changeDataSource(){
-	    var dataSource = $('#source1').text();
-	    dataSource = dataSource.toUpperCase();
-	    var x = document.getElementById("data1");
-	    if(dataSource == "NASA_MODIS" ){
-	    x.options[13].selected=true;
-	    }
-	    else if(dataSource == "NASA_AMSRE" ){
-	    x.options[14].selected=true;
-	    }
-	    else if(dataSource == "NASA_TRMM" ){
-	    x.options[15].selected=true;
-	    }
-	    else if(dataSource == "NASA_GPCP" ){
-	    x.options[16].selected=true;
-	    }
-	    else if(dataSource == "NASA_QUIKSCAT" ){
-	    x.options[17].selected=true;
-	    }
-	    else if(dataSource == "NASA_AVISO" ){
-	    x.options[18].selected=true;
-	    }
-	    else if(dataSource == "NASA_GRACE" ){
-	    x.options[19].selected=true;
-	    }
-	    else if(dataSource == "NOAA_NODC" ){
-	    x.options[20].selected=true;
-	    }
-	    else if(dataSource == "NASA_CERES" ){
-	    x.options[21].selected=true;
-	    }
-	    else if(dataSource == "NASA_AIRS" ){
-	    x.options[22].selected=true;
-	    }
-	    else if(dataSource == "NASA_MLS" ){
-	    x.options[23].selected=true;
-	    }
-	    else if(dataSource == "NASA_ARGO" ){
-	    x.options[24].selected=true;
-	    }
-	    else if(dataSource == "CCCMA_CANESM2" ){
-	    x.options[0].selected=true;
-	    }
-	    else if(dataSource == "GFDL_ESM2G" ){
-	    x.options[1].selected=true;
-	    }
-	    else if(dataSource == "GISS_E2-H" ){
-	    x.options[2].selected=true;
-	    }
-	    else if(dataSource == "GISS_E2-R" ){
-	    x.options[3].selected=true;
-	    }
-	    else if(dataSource == "NCAR_CAM5" ){
-	    x.options[4].selected=true;
-	    }
-	    else if(dataSource == "NCC_NORESM" ){
-	    x.options[5].selected=true;
-	    }
-	    else if(dataSource == "UKMO_HADGEM2-ES" ){
-	    x.options[6].selected=true;
-	    }
-	    else if(dataSource == "CCCMA_CANAM4" ){
-	    x.options[7].selected=true;
-	    }
-	    else if(dataSource == "CSIRO_MK3.6" ){
-	    x.options[8].selected=true;
-	    }
-	    else if(dataSource == "GFDL_CM3" ){
-	    x.options[9].selected=true;
-	    }
-	    else if(dataSource == "IPSL_CM5A-LR" ){
-	    x.options[10].selected=true;
-	    }
-	    else if(dataSource == "MIROC_MIROC5" ){
-	    x.options[11].selected=true;
-	    }
-	    else if(dataSource == "UKMO_HADGEM2-A" ){
-	    x.options[12].selected=true;
-	    }
-	    else if(dataSource == "ECMWF_INTERIM" ){
-	    x.options[25].selected=true;
-	    }
-    }
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-    function unset_vars1(ID)
-    {
-      var x;
-      if (ID == 1) {
-        x=document.getElementById("var1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("var2");
-      }
-      x.options[0].disabled=true;
-      x.options[1].disabled=true;
-      x.options[2].disabled=true;
-      x.options[3].disabled=true;
-      x.options[4].disabled=true;
-      x.options[5].disabled=true;
-      x.options[6].disabled=true;
-      x.options[7].disabled=true;
-      x.options[8].disabled=true;
-      x.options[9].disabled=true;
-      x.options[10].disabled=true;
-      x.options[11].disabled=true;
-      x.options[12].disabled=true;
-      x.options[13].disabled=true;
-      x.options[14].disabled=true;
-      x.options[15].disabled=true;
-      x.options[16].disabled=true;
-      x.options[17].disabled=true;
-      x.options[18].disabled=true;
-      x.options[19].disabled=true;
-      x.options[20].disabled=true;
-      x.options[21].disabled=true;
-      x.options[22].disabled=true;
-      x.options[23].disabled=true;
-      x.options[24].disabled=true;
-      x.options[25].disabled=true;
-      x.options[26].disabled=true;
-      x.options[27].disabled=true;
-      x.options[28].disabled=true;
-      x.options[29].disabled=true;
-      x.options[30].disabled=true;
-      x.options[31].disabled=true;
-      x.options[32].disabled=true;
-    }
-    function disable_pres1(ID)
-    {
-      var x;
-      if (ID == 1) {
-        x=document.getElementById("pres1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("pres2");
-      }
-      x.value = "N/A";
-      x.disabled=true;
-    }
-    function enable_pres1(ID)
-    {
-      var x;
-      if (ID == 1) {
-        x=document.getElementById("pres1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("pres2");
-      }
-      x.value = "500";
-      x.disabled=false;
-    }
-    function select_var1(ID)
-    {
-      var var_string;
-      if (ID == 1) {
-        var_string = $("#var1").val();
-      }
-      else if (ID == 2) {
-        var_string = $("#var2").val();
-    }
-    disable_download_button();  
-    if (var_string == "Total Cloud Fraction") { 
-      if (ID == 1) {
-        variable1 = "clt";  
-      }
-      else if (ID == 2) {
-        variable2 = "clt";  
-      }
-      disable_pres1(ID);
-    }
-     else if (var_string == "Surface Temperature") {
-       if (ID == 1) {
-         variable1 = "ts";  
-       }
-       else if (ID == 2) {
-         variable2 = "ts";  
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Sea Surface Temperature") { 
-       if (ID == 1) {
-         variable1 = "tos";  
-       }
-       else if (ID == 2) {
-         variable2 = "tos";  
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Precipitation Flux") { 
-       if (ID == 1) {
-         variable1 = "pr";  
-       }
-       else if (ID == 2) {
-         variable2 = "pr";  
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Eastward Near-Surface Wind") { 
-       if (ID == 1) {
-         variable1 = "uas";  
-       }
-       else if (ID == 2) {
-         variable2 = "uas";  
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Northward Near-Surface Wind") {  
-       if (ID == 1) {
-         variable1 = "vas";  
-       }
-       else if (ID == 2) {
-         variable2 = "vas";  
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Near-Surface Wind Speed") { 
-       if (ID == 1) {
-         variable1 = "sfcWind";  
-       }
-       else if (ID == 2) {
-         variable2 = "sfcWind";  
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Sea Surface Height") { 
-       if (ID == 1) {
-         variable1 = "zos";  
-       }
-       else if (ID == 2) {
-         variable2 = "zos";  
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Leaf Area Index") { 
-       if (ID == 1) {
-         variable1 = "lai";  
-       }
-       else if (ID == 2) {
-         variable2 = "lai";  
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Equivalent Water Height Over Land") {
-       if (ID == 1) {
-         variable1 = "zl";  
-       }
-       else if (ID == 2) {
-         variable2 = "zl";  
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Equivalent Water Height Over Ocean") {
-       if (ID == 1) {
-         variable1 = "zo";
-       }
-       else if (ID == 2) {
-         variable2 = "zo";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Ocean Heat Content Anomaly within 700 m Depth") {
-       if (ID == 1) {
-         variable1 = "ohc700";
-       }
-       else if (ID == 2) {
-         variable2 = "ohc700";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Ocean Heat Content Anomaly within 2000 m Depth") {
-       if (ID == 1) {
-         variable1 = "ohc2000";
-       }
-       else if (ID == 2) {
-         variable2 = "ohc2000";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Surface Downwelling Longwave Radiation") {
-       if (ID == 1) {
-         variable1 = "rlds";
-       }
-       else if (ID == 2) {
-         variable2 = "rlds";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Surface Downwelling Shortwave Radiation") {
-       if (ID == 1) {
-         variable1 = "rsds";
-       }
-       else if (ID == 2) {
-         variable2 = "rsds";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Surface Upwelling Longwave Radiation") {
-       if (ID == 1) {
-         variable1 = "rlus";
-       }
-       else if (ID == 2) {
-         variable2 = "rlus";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Surface Upwelling Shortwave Radiation") {
-       if (ID == 1) {
-         variable1 = "rsus";
-       }
-       else if (ID == 2) {
-         variable2 = "rsus";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Surface Downwelling Clear-Sky Longwave Radiation") {
-       if (ID == 1) {
-         variable1 = "rldscs";
-       }
-       else if (ID == 2) {
-         variable2 = "rldscs";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Surface Downwelling Clear-Sky Shortwave Radiation") {
-       if (ID == 1) {
-         variable1 = "rsdscs";
-       }
-       else if (ID == 2) {
-         variable2 = "rsdscs";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Surface Upwelling Clear-Sky Shortwave Radiation") {
-       if (ID == 1) {
-         variable1 = "rsuscs";
-       }
-       else if (ID == 2) {
-         variable2 = "rsuscs";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "TOA Incident Shortwave Radiation") {
-       if (ID == 1) {
-         variable1 = "rsdt";
-       }
-       else if (ID == 2) {
-         variable2 = "rsdt";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "TOA Outgoing Clear-Sky Longwave Radiation") {
-       if (ID == 1) {
-         variable1 = "rlutcs";
-       }
-       else if (ID == 2) {
-         variable2 = "rlutcs";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "TOA Outgoing Longwave Radiation") {
-       if (ID == 1) {
-         variable1 = "rlut";
-       }
-       else if (ID == 2) {
-         variable2 = "rlut";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "TOA Outgoing Clear-Sky Shortwave Radiation") {
-       if (ID == 1) {
-         variable1 = "rsutcs";
-       }
-       else if (ID == 2) {
-         variable2 = "rsutcs";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "TOA Outgoing Shortwave Radiation") {
-       if (ID == 1) {
-         variable1 = "rsut";
-       }
-       else if (ID == 2) {
-         variable2 = "rsut";
-       }
-       disable_pres1(ID);
-     }
-     else if (var_string == "Air Temperature") {
-       if (ID == 1) {
-         variable1 = "ta";
-       }
-       else if (ID == 2) {
-         variable2 = "ta";
-       }
-       enable_pres1(ID);
-     }
-     else if (var_string == "Specific Humidity") {
-       if (ID == 1) {
-         variable1 = "hus";
-       }
-       else if (ID == 2) {
-         variable2 = "hus";
-       }
-       enable_pres1(ID);
-     }
-     else if (var_string == "Cloud Ice Water Content") {
-       if (ID == 1) {
-         variable1 = "cli";
-       }
-       else if (ID == 2) {
-         variable2 = "cli";
-       }
-       enable_pres1(ID);
-     }
-     else if (var_string == "Cloud Liquid Water Content") {
-       if (ID == 1) {
-         variable1 = "clw";
-       }
-       else if (ID == 2) {
-         variable2 = "clw";
-       }
-       enable_pres1(ID);
-     }
-     else if (var_string == "Ocean Temperature") {
-       if (ID == 1) {
-         variable1 = "ot";
-       }
-       else if (ID == 2) {
-         variable2 = "ot";
-       }
-       enable_pres1(ID);
-     }
-     else if (var_string == "Ocean Salinity") {
-       if (ID == 1) {
-         variable1 = "os";
-       }
-       else if (ID == 2) {
-         variable2 = "os";
-       }
-       enable_pres1(ID);
-     }
-     else if (var_string == "Vertical Wind Velocity") {
-       if (ID == 1) {
-         variable1 = "wap";
-       }
-       else if (ID == 2) {
-         variable2 = "wap";
-       }
-       enable_pres1(ID);
-     }
-     else if (var_string == "Relative Humidity") {
-       if (ID == 1) {
-         variable1 = "hur";
-       }
-       else if (ID == 2) {
-         variable2 = "hur";
-       }
-       enable_pres1(ID);
-     }
-    }
-    function select_data1(ID)
-    {
-      var data_string;
-      var x;
-      if (ID == 1) {
-        data_string = $("#data1").val();
-        x = document.getElementById("var1");
-      }
-      else if (ID == 2) {
-        data_string = $("#data2").val();
-        x = document.getElementById("var2");
-      }
-      disable_download_button();
-      if (data_string == "NASA/AMSRE") {
-        unset_vars1(ID); 
-        x.options[3].selected=true;
-        disable_pres1(ID); 
-        x.options[3].disabled=false;
-      }
-      else if (data_string == "NASA/MODIS") {
-        unset_vars1(ID);
-        x.options[1].selected=true;
-        disable_pres1(ID); 
-        x.options[1].disabled=false;
-        x.options[8].disabled=false;
-      }
-      else if (data_string == "NASA/TRMM") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-      }
-      else if (data_string == "NASA/GPCP") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-      }
-      else if (data_string == "NASA/QuikSCAT") {
-        unset_vars1(ID);
-        x.options[4].selected=true;
-        disable_pres1(ID); 
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-      }
-      else if (data_string == "NASA/AVISO") {
-        unset_vars1(ID);
-        x.options[7].selected=true;
-        disable_pres1(ID); 
-        x.options[7].disabled=false;
-      }
-      else if (data_string == "NASA/GRACE") {
-        unset_vars1(ID);
-        x.options[9].selected=true;
-        disable_pres1(ID); 
-        x.options[9].disabled=false;
-        x.options[10].disabled=false;
-      }
-      else if (data_string == "NOAA/NODC") {
-        unset_vars1(ID);
-        x.options[11].selected=true;
-        disable_pres1(ID); 
-        x.options[11].disabled=false;
-        x.options[12].disabled=false;
-      }
-      else if (data_string == "NASA/CERES") {
-        unset_vars1(ID);
-        x.options[13].selected=true;
-        disable_pres1(ID); 
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-      }
-      else if (data_string == "NASA/AIRS") {
-        unset_vars1(ID);
-        x.options[25].selected=true;
-        enable_pres1(ID); 
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-      }
-      else if (data_string == "NASA/MLS") {
-        unset_vars1(ID);
-        x.options[25].selected=true;
-        enable_pres1(ID); 
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-      }
-      else if (data_string == "ARGO/ARGO") {
-        unset_vars1(ID);
-        x.options[29].selected=true;
-        enable_pres1(ID); 
-        x.options[29].disabled=false;
-        x.options[30].disabled=false;
-      }
-      else if (data_string == "CCCMA/CANAM4") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-      }
-      else if (data_string == "CSIRO/MK3.6") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-      }
-      else if (data_string == "NCAR/CAM5") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[3].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[7].disabled=false;
-        x.options[8].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-      }
-      else if (data_string == "CCCMA/CANESM2" || data_string == "GFDL/ESM2G" ||
-               data_string == "GISS/E2-H" || data_string == "GISS/E2-R" ||
-               data_string == "NCC/NORESM" ||
-               data_string == "UKMO/HadGEM2-ES" ||
-               data_string == "GFDL/CM3" || data_string == "IPSL/CM5A-LR" ||
-               data_string == "MIROC/MIROC5" || data_string == "UKMO/HadGEM2-A"
-              ) {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[3].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[7].disabled=false;
-        x.options[8].disabled=false;
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-      }
-      else if (data_string == "ECMWF/interim") {
-        unset_vars1(ID);
-        x.options[3].selected=true;
-        disable_pres1(ID); 
-        x.options[3].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-      }
-      select_var1(ID);
-    }
-    $(document).ready(function(){
-    $("#download_data").click(function(event) {
-      var durl = $("#data_url").val();
-      window.location.assign(durl);
-    });
-      $("#scatterPlot2V").click(function(event) {
-        Response = null;
-        disable_download_button();
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-        var url = "http://" + window.location.hostname + ":9002/svc/diffPlot2V?";
-        var d1 = $("#data1").val();
-        var model1 = d1.replace("/", "_");
-        model1 = model1.toLowerCase();
-        var arglist = "";
-        arglist = arglist.concat("model1=");
-        arglist = arglist.concat(model1);
-        var v1 = $("#var1").val();
-        arglist = arglist.concat("&var1=");
-        arglist = arglist.concat(variable1);
-        var pres1 = $("#pres1").val();
-        arglist = arglist.concat("&pres1=");
-        arglist = arglist.concat(pres1);
-        var d2 = $("#data2").val();
-        var model2 = d2.replace("/", "_");
-        model2 = model2.toLowerCase();
-        arglist = arglist.concat("&model2=");
-        arglist = arglist.concat(model2);
-        var v2 = $("#var2").val();
-        arglist = arglist.concat("&var2=");
-        arglist = arglist.concat(variable2);
-        var pres2 = $("#pres2").val();
-        arglist = arglist.concat("&pres2=");
-        arglist = arglist.concat(pres2);
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-        url = url + encodeURI(arglist);
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/two_time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("2");
-        arglistTB = arglistTB.concat("&source1=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var1=");
-        arglistTB = arglistTB.concat(variable1);
-        arglistTB = arglistTB.concat("&source2=");
-        arglistTB = arglistTB.concat(d2);
-        arglistTB = arglistTB.concat("&var2=");
-        arglistTB = arglistTB.concat(variable2);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                var tb1 = data.time_bounds1;
-                var bds1 = String(tb1).split(",");
-                var lowerT1 = parseInt(bds1[0]);
-                var upperT1 = parseInt(bds1[1]);
-                var tb2 = data.time_bounds2;
-                var bds2 = String(tb2).split(",");
-                var lowerT2 = parseInt(bds2[0]);
-                var upperT2 = parseInt(bds2[1]);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                var lowerT, upperT;
-                if (lowerT1 == 0  || upperT1 == 0){ 
-                  alert("We do not have data for the data-1 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 == 0  || upperT2 == 0){ 
-                  alert("We do not have data for the data-2 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 > upperT1 || lowerT1 > upperT2) { 
-                  alert("The two data sets/vars do not have a common time range.");
-                  return;
-                }
-                else { 
-                  if (lowerT1 > lowerT2) { 
-                    lowerT = lowerT1;
-                  }
-                  else {
-                    lowerT = lowerT2;
-                  }
-                  if (upperT1 > upperT2) { 
-                    upperT = upperT2;
-                  }
-                  else {
-                    upperT = upperT1;
-                  }
-                }
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                $("#Response").html(text);
-                var html = "<img src='"+data.url+"' width='820'/>";
-                $("#Image").html(html);
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-      });
-    });
-  </script>
-} @main("Parameters of ConfId", scripts){ @flash_message()
-<p>
-<div id="source1" style="display: none;">@parameters.getSource1()</div>
-<div id="variableName1" style="display: none;">@parameters.getVaribaleName1()</div>
-<div id="pressureLevel1" style="display: none;">@parameters.getPressureLevel1()</div>
-<div id="startYearMonth" style="display: none;">@parameters.getStartYear()</div>
-<div id="startLat" style="display: none;">@parameters.getStartLat()</div>
-<div id="startLon" style="display: none;">@parameters.getStartLon()</div>
-<div id="source2" style="display: none;">@parameters.getSource2()</div>
-<div id="variableName2" style="display: none;">@parameters.getVaribaleName2()</div>
-<div id="pressureLevel2" style="display: none;">@parameters.getPressureLevel2()</div>
-<div id="endYearMonth" style="display: none;">@parameters.getEndYear()</div>
-<div id="endLat" style="display: none;">@parameters.getEndLat()</div>
-<div id="endLon" style="display: none;">@parameters.getEndLon()</div>
-<div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div>
-<div id="image" style="display: none;">@parameters.getImage()</div>
-<div id="dataURL" style="display: none;">@parameters.getDataUrl()</div>
-<div id="serviceResponseText" style="display: none;">@parameters.getServiceResponse()</div>
-<table border="1">
-	<tr>
-		<td colspan="4">
-			<center>
-				<b>Service: Difference Plot of Two Time Averaged Variables</b><br>
-				<br> This service calculates the differences between two
-				specified variables and displays the lat-lon maps of the two
-				variables and their differences. <br>
-				<br>
-			</center>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2">
-			<center>data 1</center>
-		</td>
-		<td colspan="2">
-			<center>data 2</center>
-		</td>
-	</tr>
-	<tr>
-		<td>source:</td>
-		<td><select name="data1" , id="data1" onchange="select_data1(1)">
-				<optgroup label="Model: Historical">
-					<option>CCCMA/CANESM2</option>
-					<option>GFDL/ESM2G</option>
-					<option>GISS/E2-H</option>
-					<option>GISS/E2-R</option>
-					<option>NCAR/CAM5</option>
-					<option>NCC/NORESM</option>
-					<option>UKMO/HadGEM2-ES</option>
-				</optgroup>
-				<optgroup label="Model: AMIP">
-					<option>CCCMA/CANAM4</option>
-					<option>CSIRO/MK3.6</option>
-					<option>GFDL/CM3</option>
-					<option>IPSL/CM5A-LR</option>
-					<option>MIROC/MIROC5</option>
-					<option>UKMO/HadGEM2-A</option>
-				</optgroup>
-				<optgroup label="Observation">
-					<option>NASA/MODIS</option>
-					<option>NASA/AMSRE</option>
-					<option>NASA/TRMM</option>
-					<option>NASA/GPCP</option>
-					<option>NASA/QuikSCAT</option>
-					<option>NASA/AVISO</option>
-					<option>NASA/GRACE</option>
-					<option>NOAA/NODC</option>
-					<option>NASA/CERES</option>
-					<option>NASA/AIRS</option>
-					<option>NASA/MLS</option>
-					<option>ARGO/ARGO</option>
-				</optgroup>
-				<optgroup label="Reanalysis">
-					<option>ECMWF/interim</option>
-				</optgroup>
-		</select></td>
-		<td>source:</td>
-		<td><select name="data2" , id="data2" onchange="select_data1(2)">
-				<optgroup label="Model: Historical">
-					<option>CCCMA/CANESM2</option>
-					<option>GFDL/ESM2G</option>
-					<option>GISS/E2-H</option>
-					<option>GISS/E2-R</option>
-					<option>NCAR/CAM5</option>
-					<option>NCC/NORESM</option>
-					<option>UKMO/HadGEM2-ES</option>
-				</optgroup>
-				<optgroup label="Model: AMIP">
-					<option>CCCMA/CANAM4</option>
-					<option>CSIRO/MK3.6</option>
-					<option>GFDL/CM3</option>
-					<option>IPSL/CM5A-LR</option>
-					<option>MIROC/MIROC5</option>
-					<option>UKMO/HadGEM2-A</option>
-				</optgroup>
-				<optgroup label="Observation">
-					<option>NASA/MODIS</option>
-					<option>NASA/AMSRE</option>
-					<option>NASA/TRMM</option>
-					<option>NASA/GPCP</option>
-					<option>NASA/QuikSCAT</option>
-					<option>NASA/AVISO</option>
-					<option>NASA/GRACE</option>
-					<option>NOAA/NODC</option>
-					<option>NASA/CERES</option>
-					<option>NASA/AIRS</option>
-					<option>NASA/MLS</option>
-					<option>ARGO/ARGO</option>
-				</optgroup>
-				<optgroup label="Reanalysis">
-					<option>ECMWF/interim</option>
-				</optgroup>
-		</select></td>
-	</tr>
-	<tr>
-		<td>variable name:</td>
-		<td><select name="var1" , id="var1" onchange="select_var1(1)">
-				<option>Precipitation Flux</option>
-				<option>Total Cloud Fraction</option>
-				<option>Surface Temperature</option>
-				<option>Sea Surface Temperature</option>
-				<option>Eastward Near-Surface Wind</option>
-				<option>Northward Near-Surface Wind</option>
-				<option>Near-Surface Wind Speed</option>
-				<option>Sea Surface Height</option>
-				<option>Leaf Area Index</option>
-				<option>Equivalent Water Height Over Land</option>
-				<option>Equivalent Water Height Over Ocean</option>
-				<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-				<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-				<option>Surface Downwelling Longwave Radiation</option>
-				<option>Surface Downwelling Shortwave Radiation</option>
-				<option>Surface Upwelling Longwave Radiation</option>
-				<option>Surface Upwelling Shortwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-				<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-				<option>TOA Incident Shortwave Radiation</option>
-				<option>TOA Outgoing Longwave Radiation</option>
-				<option>TOA Outgoing Shortwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-				<option>Air Temperature</option>
-				<option>Specific Humidity</option>
-				<option>Cloud Ice Water Content</option>
-				<option>Cloud Liquid Water Content</option>
-				<option>Ocean Temperature</option>
-				<option>Ocean Salinity</option>
-				<option>Vertical Wind Velocity</option>
-				<option>Relative Humidity</option>
-		</select></td>
-		<td>variable name:</td>
-		<td><select name="var2" , id="var2" onchange="select_var1(2)">
-				<option>Precipitation Flux</option>
-				<option>Total Cloud Fraction</option>
-				<option>Surface Temperature</option>
-				<option>Sea Surface Temperature</option>
-				<option>Eastward Near-Surface Wind</option>
-				<option>Northward Near-Surface Wind</option>
-				<option>Near-Surface Wind Speed</option>
-				<option>Sea Surface Height</option>
-				<option>Leaf Area Index</option>
-				<option>Equivalent Water Height Over Land</option>
-				<option>Equivalent Water Height Over Ocean</option>
-				<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-				<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-				<option>Surface Downwelling Longwave Radiation</option>
-				<option>Surface Downwelling Shortwave Radiation</option>
-				<option>Surface Upwelling Longwave Radiation</option>
-				<option>Surface Upwelling Shortwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-				<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-				<option>TOA Incident Shortwave Radiation</option>
-				<option>TOA Outgoing Longwave Radiation</option>
-				<option>TOA Outgoing Shortwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-				<option>Air Temperature</option>
-				<option>Specific Humidity</option>
-				<option>Cloud Ice Water Content</option>
-				<option>Cloud Liquid Water Content</option>
-				<option>Ocean Temperature</option>
-				<option>Ocean Salinity</option>
-				<option>Vertical Wind Velocity</option>
-				<option>Relative Humidity</option>
-		</select></td>
-	</tr>
-	<tr>
-		<td>atmosphere pressure level (hPa) <br> or ocean pressure
-			level (dbar)
-		</td>
-		<td><input id="pres1" value="500" alt="pressure" /></td>
-		<td>atmosphere pressure level (hPa) <br> or ocean pressure
-			level (dbar)
-		</td>
-		<td><input id="pres2" value="500" alt="pressure" /></td>
-	</tr>
-	<tr>
-	</tr>
-	<tr>
-		<td>start year-month:</td>
-		<td><input id="t0" value=@parameters.getStartYear() alt="start" /></td>
-		<td>end year-month:</td>
-		<td><input id="t1" value=@parameters.getEndYear() alt="end" /></td>
-	</tr>
-	<tr>
-		<td>start lat (deg):</td>
-		<td><input id="lat0" value=@parameters.getStartLat()></td>
-		<td>end lat (deg):</td>
-		<td><input id="lat1" value=@parameters.getEndLat()></td>
-	</tr>
-	<tr>
-		<td>start lon (deg):</td>
-		<td><input id="lon0" value=@parameters.getStartLon()></td>
-		<td>end lon (deg):</td>
-		<td><input id="lon1" value=@parameters.getEndLon()></td>
-	</tr>
-	<tr>
-		<td colspan="1">Execution purpose</td>
-		<td colspan="3">
-			<form>
-				<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2" align="center"><input id="scatterPlot2V"
-			type="submit" value="            Run  Again            "
-			style="height: 28px" /></td>
-		<form>
-			<td colspan="2" align="center"><input id="download_data"
-				type="button" value="Download Data" style="height: 28px" /></td>
-		</form>
-	</tr>
-	<tr>
-		<td colspan="4">
-			<div id="Image">Image Here</div>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="data_url"
-				cols="89" rows="2">Data URL Here</textarea></td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea id="Response" cols="89"
-				rows="6">Service Response Text Here</textarea></td>
-	</tr>
-</table>
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/header.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/header.scala.html b/app/views/climate/header.scala.html
deleted file mode 100644
index 0cae470..0000000
--- a/app/views/climate/header.scala.html
+++ /dev/null
@@ -1,77 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@()
-	<div class="navbar navbar-default navbar-fixed-top" role="navigation">
-		<div class="container">
-			<div class="navbar-header">
-				<button type="button" class="navbar-toggle" data-toggle="collapse"
-					data-target=".navbar-collapse">
-					<span class="sr-only">Toggle navigation</span> <span
-						class="icon-bar"></span> <span class="icon-bar"></span> <span
-						class="icon-bar"></span>
-				</button>
-				<a class="navbar-brand" style="padding-bottom: 0;" href="/climate"><img
-					src='@routes.Assets.at("images/NASA_JPL_logo.png")' style="height: 40px; width: 220px;">&nbsp&nbsp<img
-					src='@routes.Assets.at("images/logo.png")' style="height: 15px; width: 250px;"></a>
-			</div>
-			<div class="navbar-collapse collapse" style="height:">
-				<ul class="nav navbar-nav navbar-right">
-					
-					<li class="dropdown"><a href="#"
-						class="dropdown-toggle" data-toggle="dropdown">Service<b
-							class="caret"></b></a>
-						<ul class="dropdown-menu">
-
-						<li><a href="@routes.ClimateServiceController.climateServices()">Service List</a></li>
-					
-						</ul>
-					
-					</li>
-					<li class="dropdown"><a href="#"
-						class="dropdown-toggle" data-toggle="dropdown">Dataset<b
-							class="caret"></b></a>
-						<ul class="dropdown-menu">
-						
-						<li><a href="@routes.DatasetController.datasetList()">Dataset List</a></li>
-						<li><a href="@routes.DatasetController.searchDataset()">Search dataset</a></li>
-						</ul>
-					</li>
-					<li class="dropdown"><a href="#"
-						class="dropdown-toggle" data-toggle="dropdown">Support<b
-							class="caret"></b></a>
-						<ul class="dropdown-menu">
-							<li><a href="@routes.AccountController.getServiceLog">Service Execution Log List</a></li>
-							<li><a href="@routes.AccountController.searchServiceLog">Service Execution Log Search</a></li>
-						</ul>
-					</li>
-					
-					<li class="dropdown"><a href="#"
-						class="dropdown-toggle" data-toggle="dropdown">About<b
-							class="caret"></b></a>
-						<ul class="dropdown-menu">
-						<li><a href="@routes.ClimateServiceController.home()">Home</a></li>
-						<li><a href="@routes.AboutusController.aboutUs()">About Us</a></li>
-						<li><a href="@routes.AboutusController.aboutProject()">About project</a></li>
-						</ul>
-					</li>
-					
-				</ul>
-			</div>
-			<!--/.nav-collapse -->
-		</div>
-	</div>

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/home.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/home.scala.html b/app/views/climate/home.scala.html
deleted file mode 100644
index 1803838..0000000
--- a/app/views/climate/home.scala.html
+++ /dev/null
@@ -1,58 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(email: String, vfile: String, dataset: String)
-
-@import helper._ 
-
-@main("Home") {
-
-<div class="jumbotron">
-	<div class="row">
-
-		<div class="col-lg-5">
-			</br></br>
-			<img src="/assets/images/main.jpg" height="480" width="330" />
-		</div>
-		<div class="col-lg-6">
-			<h2>Climate Model Diagnostic Analyzer</h2>
-			<br>
-			<p> A repository of web services for multi-aspect physics-based and 
-				phenomenon-oriented phenomenon-oriented climate model performance
-				evaluation and diagnosis through the comprehensive and synergistic 
-				use of multiple observational data, reanalysis data, and model outputs.
-			</p>
-			<br>
-			<p> This repository is specially customized to support the 2015 JPL Center
-				for Climate Sciences Summer School. The theme of the summer school is 
-				<b>Using Satellite Observations to Advance Climate Models</b>. This repository 
-				provides datasets and analysis tools for the students to use for their 
-				group research projects.
-			</p>
-			
-			<!-- @if(!session.get("username")){ -->
-			
-			<p>
-				@if(false){ <a class="btn btn-primary" href="climate/register"
-					role="button">Register &raquo;</a> }
-			</p>
-			<!-- } -->
-		</div>
-	</div>
-</div>
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/main.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/main.scala.html b/app/views/climate/main.scala.html
deleted file mode 100644
index 121fc31..0000000
--- a/app/views/climate/main.scala.html
+++ /dev/null
@@ -1,93 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(title: String, moreScripts: Html = Html(""))(content: Html) 
-
-<!DOCTYPE html>
-
-<html>
-<head>
-
-<title>@title</title>
-<meta charset="utf-8">
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/bootstrap.css")'>
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/navbar-fixed-top.css")'>
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/custom.css")'>
-<link rel="stylesheet" media="screen"
-	href='@routes.Assets.at("stylesheets/main.css")'>
-<link rel="shortcut icon" type="image/png"
-	href='@routes.Assets.at("images/favicon.png")'>
-<link href='@routes.Assets.at("stylesheets/bootstrap-editable.css")'
-	rel="stylesheet" />
-<link href='@routes.Assets.at("stylesheets/jquery.tablesorter.pager.css")'
-	rel="stylesheet" />
-<link href='@routes.Assets.at("stylesheets/style.css")'
-	rel="stylesheet" />
-
-<script src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'
-	type="text/javascript"></script>	
-<script src='@routes.Assets.at("javascripts/bootstrap.min.js")'
-	type="text/javascript"></script>
-<script type='text/javascript' src='@routes.Assets.at("javascripts/lastLoader.js")'></script>
-<script type='text/javascript' src='@routes.Assets.at("javascripts/jquery.metadata.js")'></script>	
-<script type='text/javascript' src='@routes.Assets.at("javascripts/jquery.tablesorter.js")'></script>
-
-
-<script type='text/javascript' src='@routes.Assets.at("javascripts/jstree.js")'></script>
-<script type='text/javascript' src='@routes.Assets.at("javascripts/keyword_tree.js")'></script>
-
-<script src='@routes.Assets.at("javascripts/bootstrap-editable.min.js")'></script>
-
-
-
-
-
-
-
-
-@moreScripts
-</head>
-
-<body>
-	@header()
-	
-
-
-	<div class="container">
-
-		@content
-
-	</div>
-	
-	<!-- Footer -->
-		<div class="footer" >
-			<div class="row">
-				<div class="col-lg-6 col-lg-offset-3">
-					<p class="text-muted" style="text-align: center; font-size: 14px;">&copy;
-						Carnegie Mellon University - Silicon Valley ; NASA Jet Propulsion Laboratory 2015</p>
-				</div>
-			</div>
-		</div>
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/mostPopularServices.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/mostPopularServices.scala.html b/app/views/climate/mostPopularServices.scala.html
deleted file mode 100644
index 675c307..0000000
--- a/app/views/climate/mostPopularServices.scala.html
+++ /dev/null
@@ -1,95 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(climateServices: List[metadata.ClimateService], climateServiceForm: play.data.Form[metadata.ClimateService])
-
-@import helper._
-
-@scripts = {
-	<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-	<script type="text/javascript">
-	$(document).ready(function(){
-		//alert($("#url").text());
-	});
-	</script>
-}
-
-@main("Climate Services", scripts) {
-	
-	@flash_message()   
-	 
-    <h1>@climateServices.size() Most Popular Used Climate Services</h1>
-		<table class="table table-striped table-bordered table-condensed ex2">
-	<tr>
-		<td class="col-md-2">Climate Service Name</td>
-		<td class="col-md-4">Purpose</td>
-		<td class="col-md-4">Url</td>
-		<td class="col-md-2">Scenario</td>
-		<td class="col-md-2">Version</td>
-		<td class="col-md-2">Root Service</td>
-		 @if(true){
-			<td class="col-md-3">Operation</td> 
-	     } 
-	</tr>
-	@for(climateService <- climateServices){
-	<tr>
-		<td><a href = "@climateService.getUrl()">@climateService.getClimateServiceName()</a></td>
-
-		<td><span class="@climateService.getClimateServiceName() editable" data-name='purpose'>
-				@climateService.getPurpose() </span></td>
-		
-		<td><span class="@climateService.getClimateServiceName() editable" id = "url" data-name='url'>
-				<a href = "@climateService.getUrl()"><img src='@climateService.getPhoto()' style="height: 100px; width: 100px" ></a> </span></td>
-				
-		<td><span class="@climateService.getClimateServiceName() editable" data-name='scenario'>
-				@climateService.getScenario() </span></td>
-				
-		<td><span class="@climateService.getClimateServiceName() editable" data-name='versionNo'>
-				@climateService.getVersion() </span></td>
-				
-		<td><span class="@climateService.getClimateServiceName() editable" data-name='rootServiceId'>
-				@climateService.getRootservice() </span></td>
-				
-		@if(true){ 
-			<td class="operation">
-				<input type="button" class="edit-btn btn btn-primary" value="Edit" 
-					data-pk='@climateService.getClimateServiceName()'
-					data-url='@routes.ClimateServiceController.editClimateService()' 
-				>
-				@form(routes.ClimateServiceController.deleteClimateService()){ 
-					<input
-						name="idHolder" class="hidden" type="hidden"
-						value="@climateService.getId()"> 
-					<input
-						type="submit" class="btn btn-danger delete-btn span2" value="Delete"
-						onclick="return confirm('Are you sure you want to delete this item?')">
-				}
-			</td> 
-		}
-	</tr>
-	}
-    </table>
- 
-    
-     @if(true){
-		    
-	    @form(routes.ClimateServiceController.downloadClimateService(), 'class -> "form-horizontal", 'role -> "form") {
-	
-	        <button type="submit" name="action" value="download">Download</button>
-	    }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/mostRecentlyAddedServices.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/mostRecentlyAddedServices.scala.html b/app/views/climate/mostRecentlyAddedServices.scala.html
deleted file mode 100644
index 98d738a..0000000
--- a/app/views/climate/mostRecentlyAddedServices.scala.html
+++ /dev/null
@@ -1,95 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(climateServices: List[metadata.ClimateService], climateServiceForm: play.data.Form[metadata.ClimateService])
-
-@import helper._
-
-@scripts = {
-	<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-	<script type="text/javascript">
-	$(document).ready(function(){
-		//alert($("#url").text());
-	});
-	</script>
-}
-
-@main("Climate Services", scripts) {
-	
-	@flash_message()   
-	 
-    <h1>@climateServices.size() Most Recently Added Climate Services</h1>
-		<table class="table table-striped table-bordered table-condensed ex2">
-	<tr>
-		<td class="col-md-2">Climate Service Name</td>
-		<td class="col-md-4">Purpose</td>
-		<td class="col-md-4">Url</td>
-		<td class="col-md-2">Scenario</td>
-		<td class="col-md-2">Version</td>
-		<td class="col-md-2">Root Service</td>
-		 @if(true){
-			<td class="col-md-3">Operation</td> 
-	     } 
-	</tr>
-	@for(climateService <- climateServices){
-	<tr>
-		<td><a href = "@climateService.getUrl()">@climateService.getClimateServiceName()</a></td>
-
-		<td><span class="@climateService.getClimateServiceName() editable" data-name='purpose'>
-				@climateService.getPurpose() </span></td>
-		
-		<td><span class="@climateService.getClimateServiceName() editable" id = "url" data-name='url'>
-				<a href = "@climateService.getUrl()"><img src='@climateService.getPhoto()' style="height: 100px; width: 100px" ></a> </span></td>
-				
-		<td><span class="@climateService.getClimateServiceName() editable" data-name='scenario'>
-				@climateService.getScenario() </span></td>
-				
-		<td><span class="@climateService.getClimateServiceName() editable" data-name='versionNo'>
-				@climateService.getVersion() </span></td>
-				
-		<td><span class="@climateService.getClimateServiceName() editable" data-name='rootServiceId'>
-				@climateService.getRootservice() </span></td>
-				
-		@if(true){ 
-			<td class="operation">
-				<input type="button" class="edit-btn btn btn-primary" value="Edit" 
-					data-pk='@climateService.getClimateServiceName()'
-					data-url='@routes.ClimateServiceController.editClimateService()' 
-				>
-				@form(routes.ClimateServiceController.deleteClimateService()){ 
-					<input
-						name="idHolder" class="hidden" type="hidden"
-						value="@climateService.getId()"> 
-					<input
-						type="submit" class="btn btn-danger delete-btn span2" value="Delete"
-						onclick="return confirm('Are you sure you want to delete this item?')">
-				}
-			</td> 
-		}
-	</tr>
-	}
-    </table>
- 
-    
-     @if(true){
-		    
-	    @form(routes.ClimateServiceController.downloadClimateService(), 'class -> "form-horizontal", 'role -> "form") {
-	
-	        <button type="submit" name="action" value="download">Download</button>
-	    }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/mostRecentlyUsedServices.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/mostRecentlyUsedServices.scala.html b/app/views/climate/mostRecentlyUsedServices.scala.html
deleted file mode 100644
index 0b65381..0000000
--- a/app/views/climate/mostRecentlyUsedServices.scala.html
+++ /dev/null
@@ -1,95 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(climateServices: List[metadata.ClimateService], climateServiceForm: play.data.Form[metadata.ClimateService])
-
-@import helper._
-
-@scripts = {
-	<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-	<script type="text/javascript">
-	$(document).ready(function(){
-		//alert($("#url").text());
-	});
-	</script>
-}
-
-@main("Climate Services", scripts) {
-	
-	@flash_message()   
-	 
-    <h1>@climateServices.size() Most Recently Used Climate Services</h1>
-		<table class="table table-striped table-bordered table-condensed ex2">
-	<tr>
-		<td class="col-md-2">Climate Service Name</td>
-		<td class="col-md-4">Purpose</td>
-		<td class="col-md-4">Url</td>
-		<td class="col-md-2">Scenario</td>
-		<td class="col-md-2">Version</td>
-		<td class="col-md-2">Root Service</td>
-		 @if(true){
-			<td class="col-md-3">Operation</td> 
-	     } 
-	</tr>
-	@for(climateService <- climateServices){
-	<tr>
-		<td><a href = "@climateService.getUrl()">@climateService.getClimateServiceName()</a></td>
-
-		<td><span class="@climateService.getClimateServiceName() editable" data-name='purpose'>
-				@climateService.getPurpose() </span></td>
-		
-		<td><span class="@climateService.getClimateServiceName() editable" id = "url" data-name='url'>
-				<a href = "@climateService.getUrl()"><img src='@climateService.getPhoto()' style="height: 100px; width: 100px" ></a> </span></td>
-				
-		<td><span class="@climateService.getClimateServiceName() editable" data-name='scenario'>
-				@climateService.getScenario() </span></td>
-				
-		<td><span class="@climateService.getClimateServiceName() editable" data-name='versionNo'>
-				@climateService.getVersion() </span></td>
-				
-		<td><span class="@climateService.getClimateServiceName() editable" data-name='rootServiceId'>
-				@climateService.getRootservice() </span></td>
-				
-		@if(true){ 
-			<td class="operation">
-				<input type="button" class="edit-btn btn btn-primary" value="Edit" 
-					data-pk='@climateService.getClimateServiceName()'
-					data-url='@routes.ClimateServiceController.editClimateService()' 
-				>
-				@form(routes.ClimateServiceController.deleteClimateService()){ 
-					<input
-						name="idHolder" class="hidden" type="hidden"
-						value="@climateService.getId()"> 
-					<input
-						type="submit" class="btn btn-danger delete-btn span2" value="Delete"
-						onclick="return confirm('Are you sure you want to delete this item?')">
-				}
-			</td> 
-		}
-	</tr>
-	}
-    </table>
- 
-    
-     @if(true){
-		    
-	    @form(routes.ClimateServiceController.downloadClimateService(), 'class -> "form-horizontal", 'role -> "form") {
-	
-	        <button type="submit" name="action" value="download">Download</button>
-	    }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/oneService.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/oneService.scala.html b/app/views/climate/oneService.scala.html
deleted file mode 100644
index ecb9373..0000000
--- a/app/views/climate/oneService.scala.html
+++ /dev/null
@@ -1,40 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(url: String) 
-
-@import helper._ 
-
-@scripts = {
-<script type="text/javascript">
-
-	$(document).ready(function(){
-		var obj = document.getElementById("iframe");
-		resizeIframe(obj);
-	}
-	function resizeIframe(obj) {
-		obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
-	}
-</script>
-}
-
-@main("Service", scripts) {
-
-<iframe id="iframe" width="100%" height="1200px" src="@url" frameborder="0" >
-</iframe>
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/recommend.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/recommend.scala.html b/app/views/climate/recommend.scala.html
deleted file mode 100644
index d9ec392..0000000
--- a/app/views/climate/recommend.scala.html
+++ /dev/null
@@ -1,125 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(jsonData: String)
-@import helper._
-
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/custom_recommend.css")'>
-
-<link rel="stylesheet"
-  href="https://cdnjs.cloudflare.com/ajax/libs/vis/3.11.0/vis.min.css"
->
-
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-	
-@scripts = {
-	<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-	<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-	<script type="text/javascript" src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-}
-
-@main("Service Logs", scripts){
-	
-	@flash_message()   
-
-  <div id="jsonData" style="display: none;">@jsonData</div>
-  <div id="graphText">
-    <div class="row">
-      <div class="col-lg-6" id="testGraph">
-      </div>
-      <div class="col-lg-6" id="testText">
-      </div>
-    </div>
-  </div>
-
-
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/vis/3.11.0/vis.min.js"></script>
-  <script type="text/javascript">
-  	  var jsonString = $('#jsonData').text();
-  	 	var data = JSON.parse(jsonString);
-      var container = document.getElementById('testGraph');
-      var options = {
-        stabilize:false,
-        edges: {
-          color: {
-            color: "gray",
-            highlight: "gray",
-          },
-        },
-        nodes: {
-          shape: 'dot',
-          radiusMin: 10,
-          radiusMax: 30,
-        },
-        groups: {
-          user: {
-            color:"#F2545A",
-            shape:"star",
-          },
-          feature: {
-            shape:"triangle",
-            color:"#EC8F93",
-          },
-          service: {
-            color:"#EF777C",
-            shape:"dot",
-          },
-          /*data: {
-            color:"#F46369",
-            shape:"square",
-          }*/
-        },
-        tooltip: {
-          delay: 300,
-          fontColor: "black",
-          fontSize: 14, // px
-          fontFace: "verdana",
-          color: {
-            border: "#666",
-            background: "#FFFFC6"
-          }
-        }
-      };
-
-      var network = new vis.Network(container, data, options);
-      //focus on serviceid 19
-      network.focusOnNode(19);
-      network.on('select', function(properties) {
-        var select_node = $.grep(data.nodes, function(e){
-          return e["id"] == properties.nodes[0];
-        })[0];
-        if(select_node["group"] == "service"){
-          var select_edges = $.grep(data.edges, function(e) { 
-            return e["from"] == select_node["id"] });
-          var textVal = "";
-          textVal += "<h3>"+select_node["label"]+"</h3>";
-          textVal += "<div><h4>Keywords:</h4><h4>"
-          for (var i = select_edges.length - 1; i >= 0; i--) {
-            textVal += "<span class=\"label label-primary\">"+select_edges[i]["to"]+"</span>\n";
-          };
-          textVal += "</h4></div>";
-          textVal += "<div><img src=\""+select_node["image"]+"\" class=\"img-responsive\"></div>";
-          $("#testText").html(textVal);
-        }
-      });
-  </script>
-  
-  
-	
-}


[11/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/jstree.js
----------------------------------------------------------------------
diff --git a/public/javascripts/jstree.js b/public/javascripts/jstree.js
deleted file mode 100644
index 3d837af..0000000
--- a/public/javascripts/jstree.js
+++ /dev/null
@@ -1,6932 +0,0 @@
-/*globals jQuery, define, exports, require, window, document, postMessage */
-(function (factory) {
-	"use strict";
-	if (typeof define === 'function' && define.amd) {
-		define(['jquery'], factory);
-	}
-	else if(typeof exports === 'object') {
-		factory(require('jquery'));
-	}
-	else {
-		factory(jQuery);
-	}
-}(function ($, undefined) {
-	"use strict";
-/*!
- * jsTree 3.0.6
- * http://jstree.com/
- *
- * Copyright (c) 2014 Ivan Bozhanov (http://vakata.com)
- *
- * Licensed same as jquery - under the terms of the MIT License
- *   http://www.opensource.org/licenses/mit-license.php
- */
-/*!
- * if using jslint please allow for the jQuery global and use following options: 
- * jslint: browser: true, ass: true, bitwise: true, continue: true, nomen: true, plusplus: true, regexp: true, unparam: true, todo: true, white: true
- */
-
-	// prevent another load? maybe there is a better way?
-	if($.jstree) {
-		return;
-	}
-
-	/**
-	 * ### jsTree core functionality
-	 */
-
-	// internal variables
-	var instance_counter = 0,
-		ccp_node = false,
-		ccp_mode = false,
-		ccp_inst = false,
-		themes_loaded = [],
-		src = $('script:last').attr('src'),
-		_d = document, _node = _d.createElement('LI'), _temp1, _temp2;
-
-	_node.setAttribute('role', 'treeitem');
-	_temp1 = _d.createElement('I');
-	_temp1.className = 'jstree-icon jstree-ocl';
-	_temp1.setAttribute('role', 'presentation');
-	_node.appendChild(_temp1);
-	_temp1 = _d.createElement('A');
-	_temp1.className = 'jstree-anchor';
-	_temp1.setAttribute('href','#');
-	_temp1.setAttribute('tabindex','-1');
-	_temp2 = _d.createElement('I');
-	_temp2.className = 'jstree-icon jstree-themeicon';
-	_temp2.setAttribute('role', 'presentation');
-	_temp1.appendChild(_temp2);
-	_node.appendChild(_temp1);
-	_temp1 = _temp2 = null;
-
-
-	/**
-	 * holds all jstree related functions and variables, including the actual class and methods to create, access and manipulate instances.
-	 * @name $.jstree
-	 */
-	$.jstree = {
-		/** 
-		 * specifies the jstree version in use
-		 * @name $.jstree.version
-		 */
-		version : '3.0.6',
-		/**
-		 * holds all the default options used when creating new instances
-		 * @name $.jstree.defaults
-		 */
-		defaults : {
-			/**
-			 * configure which plugins will be active on an instance. Should be an array of strings, where each element is a plugin name. The default is `[]`
-			 * @name $.jstree.defaults.plugins
-			 */
-			plugins : []
-		},
-		/**
-		 * stores all loaded jstree plugins (used internally)
-		 * @name $.jstree.plugins
-		 */
-		plugins : {},
-		path : src && src.indexOf('/') !== -1 ? src.replace(/\/[^\/]+$/,'') : '',
-		idregex : /[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%]/g
-	};
-	/**
-	 * creates a jstree instance
-	 * @name $.jstree.create(el [, options])
-	 * @param {DOMElement|jQuery|String} el the element to create the instance on, can be jQuery extended or a selector
-	 * @param {Object} options options for this instance (extends `$.jstree.defaults`)
-	 * @return {jsTree} the new instance
-	 */
-	$.jstree.create = function (el, options) {
-		var tmp = new $.jstree.core(++instance_counter),
-			opt = options;
-		options = $.extend(true, {}, $.jstree.defaults, options);
-		if(opt && opt.plugins) {
-			options.plugins = opt.plugins;
-		}
-		$.each(options.plugins, function (i, k) {
-			if(i !== 'core') {
-				tmp = tmp.plugin(k, options[k]);
-			}
-		});
-		tmp.init(el, options);
-		return tmp;
-	};
-	/**
-	 * remove all traces of jstree from the DOM and destroy all instances
-	 * @name $.jstree.destroy()
-	 */
-	$.jstree.destroy = function () {
-		$('.jstree:jstree').jstree('destroy');
-		$(document).off('.jstree');
-	};
-	/**
-	 * the jstree class constructor, used only internally
-	 * @private
-	 * @name $.jstree.core(id)
-	 * @param {Number} id this instance's index
-	 */
-	$.jstree.core = function (id) {
-		this._id = id;
-		this._cnt = 0;
-		this._wrk = null;
-		this._data = {
-			core : {
-				themes : {
-					name : false,
-					dots : false,
-					icons : false
-				},
-				selected : [],
-				last_error : {},
-				working : false,
-				worker_queue : [],
-				focused : null
-			}
-		};
-	};
-	/**
-	 * get a reference to an existing instance
-	 *
-	 * __Examples__
-	 *
-	 *	// provided a container with an ID of "tree", and a nested node with an ID of "branch"
-	 *	// all of there will return the same instance
-	 *	$.jstree.reference('tree');
-	 *	$.jstree.reference('#tree');
-	 *	$.jstree.reference($('#tree'));
-	 *	$.jstree.reference(document.getElementByID('tree'));
-	 *	$.jstree.reference('branch');
-	 *	$.jstree.reference('#branch');
-	 *	$.jstree.reference($('#branch'));
-	 *	$.jstree.reference(document.getElementByID('branch'));
-	 *
-	 * @name $.jstree.reference(needle)
-	 * @param {DOMElement|jQuery|String} needle
-	 * @return {jsTree|null} the instance or `null` if not found
-	 */
-	$.jstree.reference = function (needle) {
-		var tmp = null,
-			obj = null;
-		if(needle && needle.id) { needle = needle.id; }
-
-		if(!obj || !obj.length) {
-			try { obj = $(needle); } catch (ignore) { }
-		}
-		if(!obj || !obj.length) {
-			try { obj = $('#' + needle.replace($.jstree.idregex,'\\$&')); } catch (ignore) { }
-		}
-		if(obj && obj.length && (obj = obj.closest('.jstree')).length && (obj = obj.data('jstree'))) {
-			tmp = obj;
-		}
-		else {
-			$('.jstree').each(function () {
-				var inst = $(this).data('jstree');
-				if(inst && inst._model.data[needle]) {
-					tmp = inst;
-					return false;
-				}
-			});
-		}
-		return tmp;
-	};
-	/**
-	 * Create an instance, get an instance or invoke a command on a instance. 
-	 * 
-	 * If there is no instance associated with the current node a new one is created and `arg` is used to extend `$.jstree.defaults` for this new instance. There would be no return value (chaining is not broken).
-	 * 
-	 * If there is an existing instance and `arg` is a string the command specified by `arg` is executed on the instance, with any additional arguments passed to the function. If the function returns a value it will be returned (chaining could break depending on function).
-	 * 
-	 * If there is an existing instance and `arg` is not a string the instance itself is returned (similar to `$.jstree.reference`).
-	 * 
-	 * In any other case - nothing is returned and chaining is not broken.
-	 *
-	 * __Examples__
-	 *
-	 *	$('#tree1').jstree(); // creates an instance
-	 *	$('#tree2').jstree({ plugins : [] }); // create an instance with some options
-	 *	$('#tree1').jstree('open_node', '#branch_1'); // call a method on an existing instance, passing additional arguments
-	 *	$('#tree2').jstree(); // get an existing instance (or create an instance)
-	 *	$('#tree2').jstree(true); // get an existing instance (will not create new instance)
-	 *	$('#branch_1').jstree().select_node('#branch_1'); // get an instance (using a nested element and call a method)
-	 *
-	 * @name $().jstree([arg])
-	 * @param {String|Object} arg
-	 * @return {Mixed}
-	 */
-	$.fn.jstree = function (arg) {
-		// check for string argument
-		var is_method	= (typeof arg === 'string'),
-			args		= Array.prototype.slice.call(arguments, 1),
-			result		= null;
-		this.each(function () {
-			// get the instance (if there is one) and method (if it exists)
-			var instance = $.jstree.reference(this),
-				method = is_method && instance ? instance[arg] : null;
-			// if calling a method, and method is available - execute on the instance
-			result = is_method && method ?
-				method.apply(instance, args) :
-				null;
-			// if there is no instance and no method is being called - create one
-			if(!instance && !is_method && (arg === undefined || $.isPlainObject(arg))) {
-				$(this).data('jstree', new $.jstree.create(this, arg));
-			}
-			// if there is an instance and no method is called - return the instance
-			if( (instance && !is_method) || arg === true ) {
-				result = instance || false;
-			}
-			// if there was a method call which returned a result - break and return the value
-			if(result !== null && result !== undefined) {
-				return false;
-			}
-		});
-		// if there was a method call with a valid return value - return that, otherwise continue the chain
-		return result !== null && result !== undefined ?
-			result : this;
-	};
-	/**
-	 * used to find elements containing an instance
-	 *
-	 * __Examples__
-	 *
-	 *	$('div:jstree').each(function () {
-	 *		$(this).jstree('destroy');
-	 *	});
-	 *
-	 * @name $(':jstree')
-	 * @return {jQuery}
-	 */
-	$.expr[':'].jstree = $.expr.createPseudo(function(search) {
-		return function(a) {
-			return $(a).hasClass('jstree') &&
-				$(a).data('jstree') !== undefined;
-		};
-	});
-
-	/**
-	 * stores all defaults for the core
-	 * @name $.jstree.defaults.core
-	 */
-	$.jstree.defaults.core = {
-		/**
-		 * data configuration
-		 * 
-		 * If left as `false` the HTML inside the jstree container element is used to populate the tree (that should be an unordered list with list items).
-		 *
-		 * You can also pass in a HTML string or a JSON array here.
-		 * 
-		 * It is possible to pass in a standard jQuery-like AJAX config and jstree will automatically determine if the response is JSON or HTML and use that to populate the tree. 
-		 * In addition to the standard jQuery ajax options here you can suppy functions for `data` and `url`, the functions will be run in the current instance's scope and a param will be passed indicating which node is being loaded, the return value of those functions will be used.
-		 * 
-		 * The last option is to specify a function, that function will receive the node being loaded as argument and a second param which is a function which should be called with the result.
-		 *
-		 * __Examples__
-		 *
-		 *	// AJAX
-		 *	$('#tree').jstree({
-		 *		'core' : {
-		 *			'data' : {
-		 *				'url' : '/get/children/',
-		 *				'data' : function (node) {
-		 *					return { 'id' : node.id };
-		 *				}
-		 *			}
-		 *		});
-		 *
-		 *	// direct data
-		 *	$('#tree').jstree({
-		 *		'core' : {
-		 *			'data' : [
-		 *				'Simple root node',
-		 *				{
-		 *					'id' : 'node_2',
-		 *					'text' : 'Root node with options',
-		 *					'state' : { 'opened' : true, 'selected' : true },
-		 *					'children' : [ { 'text' : 'Child 1' }, 'Child 2']
-		 *				}
-		 *			]
-		 *		});
-		 *	
-		 *	// function
-		 *	$('#tree').jstree({
-		 *		'core' : {
-		 *			'data' : function (obj, callback) {
-		 *				callback.call(this, ['Root 1', 'Root 2']);
-		 *			}
-		 *		});
-		 * 
-		 * @name $.jstree.defaults.core.data
-		 */
-		data			: false,
-		/**
-		 * configure the various strings used throughout the tree
-		 *
-		 * You can use an object where the key is the string you need to replace and the value is your replacement.
-		 * Another option is to specify a function which will be called with an argument of the needed string and should return the replacement.
-		 * If left as `false` no replacement is made.
-		 *
-		 * __Examples__
-		 *
-		 *	$('#tree').jstree({
-		 *		'core' : {
-		 *			'strings' : {
-		 *				'Loading ...' : 'Please wait ...'
-		 *			}
-		 *		}
-		 *	});
-		 *
-		 * @name $.jstree.defaults.core.strings
-		 */
-		strings			: false,
-		/**
-		 * determines what happens when a user tries to modify the structure of the tree
-		 * If left as `false` all operations like create, rename, delete, move or copy are prevented.
-		 * You can set this to `true` to allow all interactions or use a function to have better control.
-		 *
-		 * __Examples__
-		 *
-		 *	$('#tree').jstree({
-		 *		'core' : {
-		 *			'check_callback' : function (operation, node, node_parent, node_position, more) {
-		 *				// operation can be 'create_node', 'rename_node', 'delete_node', 'move_node' or 'copy_node'
-		 *				// in case of 'rename_node' node_position is filled with the new node name
-		 *				return operation === 'rename_node' ? true : false;
-		 *			}
-		 *		}
-		 *	});
-		 * 
-		 * @name $.jstree.defaults.core.check_callback
-		 */
-		check_callback	: false,
-		/**
-		 * a callback called with a single object parameter in the instance's scope when something goes wrong (operation prevented, ajax failed, etc)
-		 * @name $.jstree.defaults.core.error
-		 */
-		error			: $.noop,
-		/**
-		 * the open / close animation duration in milliseconds - set this to `false` to disable the animation (default is `200`)
-		 * @name $.jstree.defaults.core.animation
-		 */
-		animation		: 200,
-		/**
-		 * a boolean indicating if multiple nodes can be selected
-		 * @name $.jstree.defaults.core.multiple
-		 */
-		multiple		: true,
-		/**
-		 * theme configuration object
-		 * @name $.jstree.defaults.core.themes
-		 */
-		themes			: {
-			/**
-			 * the name of the theme to use (if left as `false` the default theme is used)
-			 * @name $.jstree.defaults.core.themes.name
-			 */
-			name			: false,
-			/**
-			 * the URL of the theme's CSS file, leave this as `false` if you have manually included the theme CSS (recommended). You can set this to `true` too which will try to autoload the theme.
-			 * @name $.jstree.defaults.core.themes.url
-			 */
-			url				: false,
-			/**
-			 * the location of all jstree themes - only used if `url` is set to `true`
-			 * @name $.jstree.defaults.core.themes.dir
-			 */
-			dir				: false,
-			/**
-			 * a boolean indicating if connecting dots are shown
-			 * @name $.jstree.defaults.core.themes.dots
-			 */
-			dots			: true,
-			/**
-			 * a boolean indicating if node icons are shown
-			 * @name $.jstree.defaults.core.themes.icons
-			 */
-			icons			: true,
-			/**
-			 * a boolean indicating if the tree background is striped
-			 * @name $.jstree.defaults.core.themes.stripes
-			 */
-			stripes			: false,
-			/**
-			 * a string (or boolean `false`) specifying the theme variant to use (if the theme supports variants)
-			 * @name $.jstree.defaults.core.themes.variant
-			 */
-			variant			: false,
-			/**
-			 * a boolean specifying if a reponsive version of the theme should kick in on smaller screens (if the theme supports it). Defaults to `false`.
-			 * @name $.jstree.defaults.core.themes.responsive
-			 */
-			responsive		: false
-		},
-		/**
-		 * if left as `true` all parents of all selected nodes will be opened once the tree loads (so that all selected nodes are visible to the user)
-		 * @name $.jstree.defaults.core.expand_selected_onload
-		 */
-		expand_selected_onload : true,
-		/**
-		 * if left as `true` web workers will be used to parse incoming JSON data where possible, so that the UI will not be blocked by large requests. Workers are however about 30% slower. Defaults to `true`
-		 * @name $.jstree.defaults.core.worker
-		 */
-		worker : true,
-		/**
-		 * Force node text to plain text (and escape HTML). Defaults to `false`
-		 * @name $.jstree.defaults.core.force_text
-		 */
-		force_text : false
-	};
-	$.jstree.core.prototype = {
-		/**
-		 * used to decorate an instance with a plugin. Used internally.
-		 * @private
-		 * @name plugin(deco [, opts])
-		 * @param  {String} deco the plugin to decorate with
-		 * @param  {Object} opts options for the plugin
-		 * @return {jsTree}
-		 */
-		plugin : function (deco, opts) {
-			var Child = $.jstree.plugins[deco];
-			if(Child) {
-				this._data[deco] = {};
-				Child.prototype = this;
-				return new Child(opts, this);
-			}
-			return this;
-		},
-		/**
-		 * used to decorate an instance with a plugin. Used internally.
-		 * @private
-		 * @name init(el, optons)
-		 * @param {DOMElement|jQuery|String} el the element we are transforming
-		 * @param {Object} options options for this instance
-		 * @trigger init.jstree, loading.jstree, loaded.jstree, ready.jstree, changed.jstree
-		 */
-		init : function (el, options) {
-			this._model = {
-				data : {
-					'#' : {
-						id : '#',
-						parent : null,
-						parents : [],
-						children : [],
-						children_d : [],
-						state : { loaded : false }
-					}
-				},
-				changed : [],
-				force_full_redraw : false,
-				redraw_timeout : false,
-				default_state : {
-					loaded : true,
-					opened : false,
-					selected : false,
-					disabled : false
-				}
-			};
-
-			this.element = $(el).addClass('jstree jstree-' + this._id);
-			this.settings = options;
-			this.element.bind("destroyed", $.proxy(this.teardown, this));
-
-			this._data.core.ready = false;
-			this._data.core.loaded = false;
-			this._data.core.rtl = (this.element.css("direction") === "rtl");
-			this.element[this._data.core.rtl ? 'addClass' : 'removeClass']("jstree-rtl");
-			this.element.attr('role','tree');
-			if(this.settings.core.multiple) {
-				this.element.attr('aria-multiselectable', true);
-			}
-			if(!this.element.attr('tabindex')) {
-				this.element.attr('tabindex','0');
-			}
-
-			this.bind();
-			/**
-			 * triggered after all events are bound
-			 * @event
-			 * @name init.jstree
-			 */
-			this.trigger("init");
-
-			this._data.core.original_container_html = this.element.find(" > ul > li").clone(true);
-			this._data.core.original_container_html
-				.find("li").addBack()
-				.contents().filter(function() {
-					return this.nodeType === 3 && (!this.nodeValue || /^\s+$/.test(this.nodeValue));
-				})
-				.remove();
-			this.element.html("<"+"ul class='jstree-container-ul jstree-children' role='group'><"+"li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='tree-item'><i class='jstree-icon jstree-ocl'></i><"+"a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>" + this.get_string("Loading ...") + "</a></li></ul>");
-			this.element.attr('aria-activedescendant','j' + this._id + '_loading');
-			this._data.core.li_height = this.get_container_ul().children("li").first().height() || 24;
-			/**
-			 * triggered after the loading text is shown and before loading starts
-			 * @event
-			 * @name loading.jstree
-			 */
-			this.trigger("loading");
-			this.load_node('#');
-		},
-		/**
-		 * destroy an instance
-		 * @name destroy()
-		 * @param  {Boolean} keep_html if not set to `true` the container will be emptied, otherwise the current DOM elements will be kept intact
-		 */
-		destroy : function (keep_html) {
-			if(this._wrk) {
-				try {
-					window.URL.revokeObjectURL(this._wrk);
-					this._wrk = null;
-				}
-				catch (ignore) { }
-			}
-			if(!keep_html) { this.element.empty(); }
-			this.element.unbind("destroyed", this.teardown);
-			this.teardown();
-		},
-		/**
-		 * part of the destroying of an instance. Used internally.
-		 * @private
-		 * @name teardown()
-		 */
-		teardown : function () {
-			this.unbind();
-			this.element
-				.removeClass('jstree')
-				.removeData('jstree')
-				.find("[class^='jstree']")
-					.addBack()
-					.attr("class", function () { return this.className.replace(/jstree[^ ]*|$/ig,''); });
-			this.element = null;
-		},
-		/**
-		 * bind all events. Used internally.
-		 * @private
-		 * @name bind()
-		 */
-		bind : function () {
-			this.element
-				.on("dblclick.jstree", function () {
-						if(document.selection && document.selection.empty) {
-							document.selection.empty();
-						}
-						else {
-							if(window.getSelection) {
-								var sel = window.getSelection();
-								try {
-									sel.removeAllRanges();
-									sel.collapse();
-								} catch (ignore) { }
-							}
-						}
-					})
-				.on("click.jstree", ".jstree-ocl", $.proxy(function (e) {
-						this.toggle_node(e.target);
-					}, this))
-				.on("click.jstree", ".jstree-anchor", $.proxy(function (e) {
-						e.preventDefault();
-						if(e.currentTarget !== document.activeElement) { $(e.currentTarget).focus(); }
-						this.activate_node(e.currentTarget, e);
-					}, this))
-				.on('keydown.jstree', '.jstree-anchor', $.proxy(function (e) {
-						if(e.target.tagName === "INPUT") { return true; }
-						var o = null;
-						switch(e.which) {
-							case 13:
-							case 32:
-								e.type = "click";
-								$(e.currentTarget).trigger(e);
-								break;
-							case 37:
-								e.preventDefault();
-								if(this.is_open(e.currentTarget)) {
-									this.close_node(e.currentTarget);
-								}
-								else {
-									o = this.get_prev_dom(e.currentTarget);
-									if(o && o.length) { o.children('.jstree-anchor').focus(); }
-								}
-								break;
-							case 38:
-								e.preventDefault();
-								o = this.get_prev_dom(e.currentTarget);
-								if(o && o.length) { o.children('.jstree-anchor').focus(); }
-								break;
-							case 39:
-								e.preventDefault();
-								if(this.is_closed(e.currentTarget)) {
-									this.open_node(e.currentTarget, function (o) { this.get_node(o, true).children('.jstree-anchor').focus(); });
-								}
-								else {
-									o = this.get_next_dom(e.currentTarget);
-									if(o && o.length) { o.children('.jstree-anchor').focus(); }
-								}
-								break;
-							case 40:
-								e.preventDefault();
-								o = this.get_next_dom(e.currentTarget);
-								if(o && o.length) { o.children('.jstree-anchor').focus(); }
-								break;
-							// delete
-							case 46:
-								e.preventDefault();
-								o = this.get_node(e.currentTarget);
-								if(o && o.id && o.id !== '#') {
-									o = this.is_selected(o) ? this.get_selected() : o;
-									// this.delete_node(o);
-								}
-								break;
-							// f2
-							case 113:
-								e.preventDefault();
-								o = this.get_node(e.currentTarget);
-								/*!
-								if(o && o.id && o.id !== '#') {
-									// this.edit(o);
-								}
-								*/
-								break;
-							default:
-								// console.log(e.which);
-								break;
-						}
-					}, this))
-				.on("load_node.jstree", $.proxy(function (e, data) {
-						if(data.status) {
-							if(data.node.id === '#' && !this._data.core.loaded) {
-								this._data.core.loaded = true;
-								this.element.attr('aria-activedescendant',this._firstChild(this.get_container_ul()[0]).id);
-								/**
-								 * triggered after the root node is loaded for the first time
-								 * @event
-								 * @name loaded.jstree
-								 */
-								this.trigger("loaded");
-							}
-							if(!this._data.core.ready && !this.get_container_ul().find('.jstree-loading').length) {
-								this._data.core.ready = true;
-								if(this._data.core.selected.length) {
-									if(this.settings.core.expand_selected_onload) {
-										var tmp = [], i, j;
-										for(i = 0, j = this._data.core.selected.length; i < j; i++) {
-											tmp = tmp.concat(this._model.data[this._data.core.selected[i]].parents);
-										}
-										tmp = $.vakata.array_unique(tmp);
-										for(i = 0, j = tmp.length; i < j; i++) {
-											this.open_node(tmp[i], false, 0);
-										}
-									}
-									this.trigger('changed', { 'action' : 'ready', 'selected' : this._data.core.selected });
-								}
-								/**
-								 * triggered after all nodes are finished loading
-								 * @event
-								 * @name ready.jstree
-								 */
-								setTimeout($.proxy(function () { this.trigger("ready"); }, this), 0);
-							}
-						}
-					}, this))
-				// THEME RELATED
-				.on("init.jstree", $.proxy(function () {
-						var s = this.settings.core.themes;
-						this._data.core.themes.dots			= s.dots;
-						this._data.core.themes.stripes		= s.stripes;
-						this._data.core.themes.icons		= s.icons;
-						this.set_theme(s.name || "default", s.url);
-						this.set_theme_variant(s.variant);
-					}, this))
-				.on("loading.jstree", $.proxy(function () {
-						this[ this._data.core.themes.dots ? "show_dots" : "hide_dots" ]();
-						this[ this._data.core.themes.icons ? "show_icons" : "hide_icons" ]();
-						this[ this._data.core.themes.stripes ? "show_stripes" : "hide_stripes" ]();
-					}, this))
-				.on('blur.jstree', '.jstree-anchor', $.proxy(function (e) {
-						this._data.core.focused = null;
-						$(e.currentTarget).filter('.jstree-hovered').mouseleave();
-					}, this))
-				.on('focus.jstree', '.jstree-anchor', $.proxy(function (e) {
-						var tmp = this.get_node(e.currentTarget);
-						if(tmp && tmp.id) {
-							this._data.core.focused = tmp.id;
-						}
-						this.element.find('.jstree-hovered').not(e.currentTarget).mouseleave();
-						$(e.currentTarget).mouseenter();
-					}, this))
-				.on('focus.jstree', $.proxy(function () {
-						if(!this._data.core.focused) {
-							this.get_node(this.element.attr('aria-activedescendant'), true).find('> .jstree-anchor').focus();
-						}
-					}, this))
-				.on('mouseenter.jstree', '.jstree-anchor', $.proxy(function (e) {
-						this.hover_node(e.currentTarget);
-					}, this))
-				.on('mouseleave.jstree', '.jstree-anchor', $.proxy(function (e) {
-						this.dehover_node(e.currentTarget);
-					}, this));
-		},
-		/**
-		 * part of the destroying of an instance. Used internally.
-		 * @private
-		 * @name unbind()
-		 */
-		unbind : function () {
-			this.element.off('.jstree');
-			$(document).off('.jstree-' + this._id);
-		},
-		/**
-		 * trigger an event. Used internally.
-		 * @private
-		 * @name trigger(ev [, data])
-		 * @param  {String} ev the name of the event to trigger
-		 * @param  {Object} data additional data to pass with the event
-		 */
-		trigger : function (ev, data) {
-			if(!data) {
-				data = {};
-			}
-			data.instance = this;
-			this.element.triggerHandler(ev.replace('.jstree','') + '.jstree', data);
-		},
-		/**
-		 * returns the jQuery extended instance container
-		 * @name get_container()
-		 * @return {jQuery}
-		 */
-		get_container : function () {
-			return this.element;
-		},
-		/**
-		 * returns the jQuery extended main UL node inside the instance container. Used internally.
-		 * @private
-		 * @name get_container_ul()
-		 * @return {jQuery}
-		 */
-		get_container_ul : function () {
-			return this.element.children(".jstree-children").first();
-		},
-		/**
-		 * gets string replacements (localization). Used internally.
-		 * @private
-		 * @name get_string(key)
-		 * @param  {String} key
-		 * @return {String}
-		 */
-		get_string : function (key) {
-			var a = this.settings.core.strings;
-			if($.isFunction(a)) { return a.call(this, key); }
-			if(a && a[key]) { return a[key]; }
-			return key;
-		},
-		/**
-		 * gets the first child of a DOM node. Used internally.
-		 * @private
-		 * @name _firstChild(dom)
-		 * @param  {DOMElement} dom
-		 * @return {DOMElement}
-		 */
-		_firstChild : function (dom) {
-			dom = dom ? dom.firstChild : null;
-			while(dom !== null && dom.nodeType !== 1) {
-				dom = dom.nextSibling;
-			}
-			return dom;
-		},
-		/**
-		 * gets the next sibling of a DOM node. Used internally.
-		 * @private
-		 * @name _nextSibling(dom)
-		 * @param  {DOMElement} dom
-		 * @return {DOMElement}
-		 */
-		_nextSibling : function (dom) {
-			dom = dom ? dom.nextSibling : null;
-			while(dom !== null && dom.nodeType !== 1) {
-				dom = dom.nextSibling;
-			}
-			return dom;
-		},
-		/**
-		 * gets the previous sibling of a DOM node. Used internally.
-		 * @private
-		 * @name _previousSibling(dom)
-		 * @param  {DOMElement} dom
-		 * @return {DOMElement}
-		 */
-		_previousSibling : function (dom) {
-			dom = dom ? dom.previousSibling : null;
-			while(dom !== null && dom.nodeType !== 1) {
-				dom = dom.previousSibling;
-			}
-			return dom;
-		},
-		/**
-		 * get the JSON representation of a node (or the actual jQuery extended DOM node) by using any input (child DOM element, ID string, selector, etc)
-		 * @name get_node(obj [, as_dom])
-		 * @param  {mixed} obj
-		 * @param  {Boolean} as_dom
-		 * @return {Object|jQuery}
-		 */
-		get_node : function (obj, as_dom) {
-			if(obj && obj.id) {
-				obj = obj.id;
-			}
-			var dom;
-			try {
-				if(this._model.data[obj]) {
-					obj = this._model.data[obj];
-				}
-				else if(typeof obj === "string" && (dom = $('#' + obj.replace($.jstree.idregex,'\\$&'), this.element)).length && this._model.data[dom.closest('.jstree-node').attr('id')]) {
-					obj = this._model.data[dom.closest('.jstree-node').attr('id')];
-				}
-				else if((dom = $(obj, this.element)).length && this._model.data[dom.closest('.jstree-node').attr('id')]) {
-					obj = this._model.data[dom.closest('.jstree-node').attr('id')];
-				}
-				else if((dom = $(obj, this.element)).length && dom.hasClass('jstree')) {
-					obj = this._model.data['#'];
-				}
-				else {
-					return false;
-				}
-
-				if(as_dom) {
-					obj = obj.id === '#' ? this.element : $('#' + obj.id.replace($.jstree.idregex,'\\$&'), this.element);
-				}
-				return obj;
-			} catch (ex) { return false; }
-		},
-		/**
-		 * get the path to a node, either consisting of node texts, or of node IDs, optionally glued together (otherwise an array)
-		 * @name get_path(obj [, glue, ids])
-		 * @param  {mixed} obj the node
-		 * @param  {String} glue if you want the path as a string - pass the glue here (for example '/'), if a falsy value is supplied here, an array is returned
-		 * @param  {Boolean} ids if set to true build the path using ID, otherwise node text is used
-		 * @return {mixed}
-		 */
-		get_path : function (obj, glue, ids) {
-			obj = obj.parents ? obj : this.get_node(obj);
-			if(!obj || obj.id === '#' || !obj.parents) {
-				return false;
-			}
-			var i, j, p = [];
-			p.push(ids ? obj.id : obj.text);
-			for(i = 0, j = obj.parents.length; i < j; i++) {
-				p.push(ids ? obj.parents[i] : this.get_text(obj.parents[i]));
-			}
-			p = p.reverse().slice(1);
-			return glue ? p.join(glue) : p;
-		},
-		/**
-		 * get the next visible node that is below the `obj` node. If `strict` is set to `true` only sibling nodes are returned.
-		 * @name get_next_dom(obj [, strict])
-		 * @param  {mixed} obj
-		 * @param  {Boolean} strict
-		 * @return {jQuery}
-		 */
-		get_next_dom : function (obj, strict) {
-			var tmp;
-			obj = this.get_node(obj, true);
-			if(obj[0] === this.element[0]) {
-				tmp = this._firstChild(this.get_container_ul()[0]);
-				while (tmp && tmp.offsetHeight === 0) {
-					tmp = this._nextSibling(tmp);
-				}
-				return tmp ? $(tmp) : false;
-			}
-			if(!obj || !obj.length) {
-				return false;
-			}
-			if(strict) {
-				tmp = obj[0];
-				do {
-					tmp = this._nextSibling(tmp);
-				} while (tmp && tmp.offsetHeight === 0);
-				return tmp ? $(tmp) : false;
-			}
-			if(obj.hasClass("jstree-open")) {
-				tmp = this._firstChild(obj.children('.jstree-children')[0]);
-				while (tmp && tmp.offsetHeight === 0) {
-					tmp = this._nextSibling(tmp);
-				}
-				if(tmp !== null) {
-					return $(tmp);
-				}
-			}
-			tmp = obj[0];
-			do {
-				tmp = this._nextSibling(tmp);
-			} while (tmp && tmp.offsetHeight === 0);
-			if(tmp !== null) {
-				return $(tmp);
-			}
-			return obj.parentsUntil(".jstree",".jstree-node").next(".jstree-node:visible").first();
-		},
-		/**
-		 * get the previous visible node that is above the `obj` node. If `strict` is set to `true` only sibling nodes are returned.
-		 * @name get_prev_dom(obj [, strict])
-		 * @param  {mixed} obj
-		 * @param  {Boolean} strict
-		 * @return {jQuery}
-		 */
-		get_prev_dom : function (obj, strict) {
-			var tmp;
-			obj = this.get_node(obj, true);
-			if(obj[0] === this.element[0]) {
-				tmp = this.get_container_ul()[0].lastChild;
-				while (tmp && tmp.offsetHeight === 0) {
-					tmp = this._previousSibling(tmp);
-				}
-				return tmp ? $(tmp) : false;
-			}
-			if(!obj || !obj.length) {
-				return false;
-			}
-			if(strict) {
-				tmp = obj[0];
-				do {
-					tmp = this._previousSibling(tmp);
-				} while (tmp && tmp.offsetHeight === 0);
-				return tmp ? $(tmp) : false;
-			}
-			tmp = obj[0];
-			do {
-				tmp = this._previousSibling(tmp);
-			} while (tmp && tmp.offsetHeight === 0);
-			if(tmp !== null) {
-				obj = $(tmp);
-				while(obj.hasClass("jstree-open")) {
-					obj = obj.children(".jstree-children").first().children(".jstree-node:visible:last");
-				}
-				return obj;
-			}
-			tmp = obj[0].parentNode.parentNode;
-			return tmp && tmp.className && tmp.className.indexOf('jstree-node') !== -1 ? $(tmp) : false;
-		},
-		/**
-		 * get the parent ID of a node
-		 * @name get_parent(obj)
-		 * @param  {mixed} obj
-		 * @return {String}
-		 */
-		get_parent : function (obj) {
-			obj = this.get_node(obj);
-			if(!obj || obj.id === '#') {
-				return false;
-			}
-			return obj.parent;
-		},
-		/**
-		 * get a jQuery collection of all the children of a node (node must be rendered)
-		 * @name get_children_dom(obj)
-		 * @param  {mixed} obj
-		 * @return {jQuery}
-		 */
-		get_children_dom : function (obj) {
-			obj = this.get_node(obj, true);
-			if(obj[0] === this.element[0]) {
-				return this.get_container_ul().children(".jstree-node");
-			}
-			if(!obj || !obj.length) {
-				return false;
-			}
-			return obj.children(".jstree-children").children(".jstree-node");
-		},
-		/**
-		 * checks if a node has children
-		 * @name is_parent(obj)
-		 * @param  {mixed} obj
-		 * @return {Boolean}
-		 */
-		is_parent : function (obj) {
-			obj = this.get_node(obj);
-			return obj && (obj.state.loaded === false || obj.children.length > 0);
-		},
-		/**
-		 * checks if a node is loaded (its children are available)
-		 * @name is_loaded(obj)
-		 * @param  {mixed} obj
-		 * @return {Boolean}
-		 */
-		is_loaded : function (obj) {
-			obj = this.get_node(obj);
-			return obj && obj.state.loaded;
-		},
-		/**
-		 * check if a node is currently loading (fetching children)
-		 * @name is_loading(obj)
-		 * @param  {mixed} obj
-		 * @return {Boolean}
-		 */
-		is_loading : function (obj) {
-			obj = this.get_node(obj);
-			return obj && obj.state && obj.state.loading;
-		},
-		/**
-		 * check if a node is opened
-		 * @name is_open(obj)
-		 * @param  {mixed} obj
-		 * @return {Boolean}
-		 */
-		is_open : function (obj) {
-			obj = this.get_node(obj);
-			return obj && obj.state.opened;
-		},
-		/**
-		 * check if a node is in a closed state
-		 * @name is_closed(obj)
-		 * @param  {mixed} obj
-		 * @return {Boolean}
-		 */
-		is_closed : function (obj) {
-			obj = this.get_node(obj);
-			return obj && this.is_parent(obj) && !obj.state.opened;
-		},
-		/**
-		 * check if a node has no children
-		 * @name is_leaf(obj)
-		 * @param  {mixed} obj
-		 * @return {Boolean}
-		 */
-		is_leaf : function (obj) {
-			return !this.is_parent(obj);
-		},
-		/**
-		 * loads a node (fetches its children using the `core.data` setting). Multiple nodes can be passed to by using an array.
-		 * @name load_node(obj [, callback])
-		 * @param  {mixed} obj
-		 * @param  {function} callback a function to be executed once loading is complete, the function is executed in the instance's scope and receives two arguments - the node and a boolean status
-		 * @return {Boolean}
-		 * @trigger load_node.jstree
-		 */
-		load_node : function (obj, callback) {
-			var k, l, i, j, c;
-			if($.isArray(obj)) {
-				this._load_nodes(obj.slice(), callback);
-				return true;
-			}
-			obj = this.get_node(obj);
-			if(!obj) {
-				if(callback) { callback.call(this, obj, false); }
-				return false;
-			}
-			// if(obj.state.loading) { } // the node is already loading - just wait for it to load and invoke callback? but if called implicitly it should be loaded again?
-			if(obj.state.loaded) {
-				obj.state.loaded = false;
-				for(k = 0, l = obj.children_d.length; k < l; k++) {
-					for(i = 0, j = obj.parents.length; i < j; i++) {
-						this._model.data[obj.parents[i]].children_d = $.vakata.array_remove_item(this._model.data[obj.parents[i]].children_d, obj.children_d[k]);
-					}
-					if(this._model.data[obj.children_d[k]].state.selected) {
-						c = true;
-						this._data.core.selected = $.vakata.array_remove_item(this._data.core.selected, obj.children_d[k]);
-					}
-					delete this._model.data[obj.children_d[k]];
-				}
-				obj.children = [];
-				obj.children_d = [];
-				if(c) {
-					this.trigger('changed', { 'action' : 'load_node', 'node' : obj, 'selected' : this._data.core.selected });
-				}
-			}
-			obj.state.loading = true;
-			this.get_node(obj, true).addClass("jstree-loading").attr('aria-busy',true);
-			this._load_node(obj, $.proxy(function (status) {
-				obj = this._model.data[obj.id];
-				obj.state.loading = false;
-				obj.state.loaded = status;
-				var dom = this.get_node(obj, true);
-				if(obj.state.loaded && !obj.children.length && dom && dom.length && !dom.hasClass('jstree-leaf')) {
-					dom.removeClass('jstree-closed jstree-open').addClass('jstree-leaf');
-				}
-				dom.removeClass("jstree-loading").attr('aria-busy',false);
-				/**
-				 * triggered after a node is loaded
-				 * @event
-				 * @name load_node.jstree
-				 * @param {Object} node the node that was loading
-				 * @param {Boolean} status was the node loaded successfully
-				 */
-				this.trigger('load_node', { "node" : obj, "status" : status });
-				if(callback) {
-					callback.call(this, obj, status);
-				}
-			}, this));
-			return true;
-		},
-		/**
-		 * load an array of nodes (will also load unavailable nodes as soon as the appear in the structure). Used internally.
-		 * @private
-		 * @name _load_nodes(nodes [, callback])
-		 * @param  {array} nodes
-		 * @param  {function} callback a function to be executed once loading is complete, the function is executed in the instance's scope and receives one argument - the array passed to _load_nodes
-		 */
-		_load_nodes : function (nodes, callback, is_callback) {
-			var r = true,
-				c = function () { this._load_nodes(nodes, callback, true); },
-				m = this._model.data, i, j;
-			for(i = 0, j = nodes.length; i < j; i++) {
-				if(m[nodes[i]] && (!m[nodes[i]].state.loaded || !is_callback)) {
-					if(!this.is_loading(nodes[i])) {
-						this.load_node(nodes[i], c);
-					}
-					r = false;
-				}
-			}
-			if(r) {
-				if(callback && !callback.done) {
-					callback.call(this, nodes);
-					callback.done = true;
-				}
-			}
-		},
-		/**
-		 * handles the actual loading of a node. Used only internally.
-		 * @private
-		 * @name _load_node(obj [, callback])
-		 * @param  {mixed} obj
-		 * @param  {function} callback a function to be executed once loading is complete, the function is executed in the instance's scope and receives one argument - a boolean status
-		 * @return {Boolean}
-		 */
-		_load_node : function (obj, callback) {
-			var s = this.settings.core.data, t;
-			// use original HTML
-			if(!s) {
-				if(obj.id === '#') {
-					return this._append_html_data(obj, this._data.core.original_container_html.clone(true), function (status) {
-						callback.call(this, status);
-					});
-				}
-				else {
-					return callback.call(this, false);
-				}
-				// return callback.call(this, obj.id === '#' ? this._append_html_data(obj, this._data.core.original_container_html.clone(true)) : false);
-			}
-			if($.isFunction(s)) {
-				return s.call(this, obj, $.proxy(function (d) {
-					if(d === false) {
-						callback.call(this, false);
-					}
-					this[typeof d === 'string' ? '_append_html_data' : '_append_json_data'](obj, typeof d === 'string' ? $(d) : d, function (status) {
-						callback.call(this, status);
-					});
-					// return d === false ? callback.call(this, false) : callback.call(this, this[typeof d === 'string' ? '_append_html_data' : '_append_json_data'](obj, typeof d === 'string' ? $(d) : d));
-				}, this));
-			}
-			if(typeof s === 'object') {
-				if(s.url) {
-					s = $.extend(true, {}, s);
-					if($.isFunction(s.url)) {
-						s.url = s.url.call(this, obj);
-					}
-					if($.isFunction(s.data)) {
-						s.data = s.data.call(this, obj);
-					}
-					return $.ajax(s)
-						.done($.proxy(function (d,t,x) {
-								var type = x.getResponseHeader('Content-Type');
-								if(type.indexOf('json') !== -1 || typeof d === "object") {
-									return this._append_json_data(obj, d, function (status) { callback.call(this, status); });
-									//return callback.call(this, this._append_json_data(obj, d));
-								}
-								if(type.indexOf('html') !== -1 || typeof d === "string") {
-									return this._append_html_data(obj, $(d), function (status) { callback.call(this, status); });
-									// return callback.call(this, this._append_html_data(obj, $(d)));
-								}
-								this._data.core.last_error = { 'error' : 'ajax', 'plugin' : 'core', 'id' : 'core_04', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id, 'xhr' : x }) };
-								this.settings.core.error.call(this, this._data.core.last_error);
-								return callback.call(this, false);
-							}, this))
-						.fail($.proxy(function (f) {
-								callback.call(this, false);
-								this._data.core.last_error = { 'error' : 'ajax', 'plugin' : 'core', 'id' : 'core_04', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id, 'xhr' : f }) };
-								this.settings.core.error.call(this, this._data.core.last_error);
-							}, this));
-				}
-				t = ($.isArray(s) || $.isPlainObject(s)) ? JSON.parse(JSON.stringify(s)) : s;
-				if(obj.id === '#') {
-					return this._append_json_data(obj, t, function (status) {
-						callback.call(this, status);
-					});
-				}
-				else {
-					this._data.core.last_error = { 'error' : 'nodata', 'plugin' : 'core', 'id' : 'core_05', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id }) };
-					this.settings.core.error.call(this, this._data.core.last_error);
-					return callback.call(this, false);
-				}
-				//return callback.call(this, (obj.id === "#" ? this._append_json_data(obj, t) : false) );
-			}
-			if(typeof s === 'string') {
-				if(obj.id === '#') {
-					return this._append_html_data(obj, $(s), function (status) {
-						callback.call(this, status);
-					});
-				}
-				else {
-					this._data.core.last_error = { 'error' : 'nodata', 'plugin' : 'core', 'id' : 'core_06', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id }) };
-					this.settings.core.error.call(this, this._data.core.last_error);
-					return callback.call(this, false);
-				}
-				//return callback.call(this, (obj.id === "#" ? this._append_html_data(obj, $(s)) : false) );
-			}
-			return callback.call(this, false);
-		},
-		/**
-		 * adds a node to the list of nodes to redraw. Used only internally.
-		 * @private
-		 * @name _node_changed(obj [, callback])
-		 * @param  {mixed} obj
-		 */
-		_node_changed : function (obj) {
-			obj = this.get_node(obj);
-			if(obj) {
-				this._model.changed.push(obj.id);
-			}
-		},
-		/**
-		 * appends HTML content to the tree. Used internally.
-		 * @private
-		 * @name _append_html_data(obj, data)
-		 * @param  {mixed} obj the node to append to
-		 * @param  {String} data the HTML string to parse and append
-		 * @trigger model.jstree, changed.jstree
-		 */
-		_append_html_data : function (dom, data, cb) {
-			dom = this.get_node(dom);
-			dom.children = [];
-			dom.children_d = [];
-			var dat = data.is('ul') ? data.children() : data,
-				par = dom.id,
-				chd = [],
-				dpc = [],
-				m = this._model.data,
-				p = m[par],
-				s = this._data.core.selected.length,
-				tmp, i, j;
-			dat.each($.proxy(function (i, v) {
-				tmp = this._parse_model_from_html($(v), par, p.parents.concat());
-				if(tmp) {
-					chd.push(tmp);
-					dpc.push(tmp);
-					if(m[tmp].children_d.length) {
-						dpc = dpc.concat(m[tmp].children_d);
-					}
-				}
-			}, this));
-			p.children = chd;
-			p.children_d = dpc;
-			for(i = 0, j = p.parents.length; i < j; i++) {
-				m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc);
-			}
-			/**
-			 * triggered when new data is inserted to the tree model
-			 * @event
-			 * @name model.jstree
-			 * @param {Array} nodes an array of node IDs
-			 * @param {String} parent the parent ID of the nodes
-			 */
-			this.trigger('model', { "nodes" : dpc, 'parent' : par });
-			if(par !== '#') {
-				this._node_changed(par);
-				this.redraw();
-			}
-			else {
-				this.get_container_ul().children('.jstree-initial-node').remove();
-				this.redraw(true);
-			}
-			if(this._data.core.selected.length !== s) {
-				this.trigger('changed', { 'action' : 'model', 'selected' : this._data.core.selected });
-			}
-			cb.call(this, true);
-		},
-		/**
-		 * appends JSON content to the tree. Used internally.
-		 * @private
-		 * @name _append_json_data(obj, data)
-		 * @param  {mixed} obj the node to append to
-		 * @param  {String} data the JSON object to parse and append
-		 * @param  {Boolean} force_processing internal param - do not set
-		 * @trigger model.jstree, changed.jstree
-		 */
-		_append_json_data : function (dom, data, cb, force_processing) {
-			dom = this.get_node(dom);
-			dom.children = [];
-			dom.children_d = [];
-			// *%$@!!!
-			if(data.d) {
-				data = data.d;
-				if(typeof data === "string") {
-					data = JSON.parse(data);
-				}
-			}
-			if(!$.isArray(data)) { data = [data]; }
-			var w = null,
-				args = {
-					'df'	: this._model.default_state,
-					'dat'	: data,
-					'par'	: dom.id,
-					'm'		: this._model.data,
-					't_id'	: this._id,
-					't_cnt'	: this._cnt,
-					'sel'	: this._data.core.selected
-				},
-				func = function (data, undefined) {
-					if(data.data) { data = data.data; }
-					var dat = data.dat,
-						par = data.par,
-						chd = [],
-						dpc = [],
-						add = [],
-						df = data.df,
-						t_id = data.t_id,
-						t_cnt = data.t_cnt,
-						m = data.m,
-						p = m[par],
-						sel = data.sel,
-						tmp, i, j, rslt,
-						parse_flat = function (d, p, ps) {
-							if(!ps) { ps = []; }
-							else { ps = ps.concat(); }
-							if(p) { ps.unshift(p); }
-							var tid = d.id.toString(),
-								i, j, c, e,
-								tmp = {
-									id			: tid,
-									text		: d.text || '',
-									icon		: d.icon !== undefined ? d.icon : true,
-									parent		: p,
-									parents		: ps,
-									children	: d.children || [],
-									children_d	: d.children_d || [],
-									data		: d.data,
-									state		: { },
-									li_attr		: { id : false },
-									a_attr		: { href : '#' },
-									original	: false
-								};
-							for(i in df) {
-								if(df.hasOwnProperty(i)) {
-									tmp.state[i] = df[i];
-								}
-							}
-							if(d && d.data && d.data.jstree && d.data.jstree.icon) {
-								tmp.icon = d.data.jstree.icon;
-							}
-							if(d && d.data) {
-								tmp.data = d.data;
-								if(d.data.jstree) {
-									for(i in d.data.jstree) {
-										if(d.data.jstree.hasOwnProperty(i)) {
-											tmp.state[i] = d.data.jstree[i];
-										}
-									}
-								}
-							}
-							if(d && typeof d.state === 'object') {
-								for (i in d.state) {
-									if(d.state.hasOwnProperty(i)) {
-										tmp.state[i] = d.state[i];
-									}
-								}
-							}
-							if(d && typeof d.li_attr === 'object') {
-								for (i in d.li_attr) {
-									if(d.li_attr.hasOwnProperty(i)) {
-										tmp.li_attr[i] = d.li_attr[i];
-									}
-								}
-							}
-							if(!tmp.li_attr.id) {
-								tmp.li_attr.id = tid;
-							}
-							if(d && typeof d.a_attr === 'object') {
-								for (i in d.a_attr) {
-									if(d.a_attr.hasOwnProperty(i)) {
-										tmp.a_attr[i] = d.a_attr[i];
-									}
-								}
-							}
-							if(d && d.children && d.children === true) {
-								tmp.state.loaded = false;
-								tmp.children = [];
-								tmp.children_d = [];
-							}
-							m[tmp.id] = tmp;
-							for(i = 0, j = tmp.children.length; i < j; i++) {
-								c = parse_flat(m[tmp.children[i]], tmp.id, ps);
-								e = m[c];
-								tmp.children_d.push(c);
-								if(e.children_d.length) {
-									tmp.children_d = tmp.children_d.concat(e.children_d);
-								}
-							}
-							delete d.data;
-							delete d.children;
-							m[tmp.id].original = d;
-							if(tmp.state.selected) {
-								add.push(tmp.id);
-							}
-							return tmp.id;
-						},
-						parse_nest = function (d, p, ps) {
-							if(!ps) { ps = []; }
-							else { ps = ps.concat(); }
-							if(p) { ps.unshift(p); }
-							var tid = false, i, j, c, e, tmp;
-							do {
-								tid = 'j' + t_id + '_' + (++t_cnt);
-							} while(m[tid]);
-
-							tmp = {
-								id			: false,
-								text		: typeof d === 'string' ? d : '',
-								icon		: typeof d === 'object' && d.icon !== undefined ? d.icon : true,
-								parent		: p,
-								parents		: ps,
-								children	: [],
-								children_d	: [],
-								data		: null,
-								state		: { },
-								li_attr		: { id : false },
-								a_attr		: { href : '#' },
-								original	: false
-							};
-							for(i in df) {
-								if(df.hasOwnProperty(i)) {
-									tmp.state[i] = df[i];
-								}
-							}
-							if(d && d.id) { tmp.id = d.id.toString(); }
-							if(d && d.text) { tmp.text = d.text; }
-							if(d && d.data && d.data.jstree && d.data.jstree.icon) {
-								tmp.icon = d.data.jstree.icon;
-							}
-							if(d && d.data) {
-								tmp.data = d.data;
-								if(d.data.jstree) {
-									for(i in d.data.jstree) {
-										if(d.data.jstree.hasOwnProperty(i)) {
-											tmp.state[i] = d.data.jstree[i];
-										}
-									}
-								}
-							}
-							if(d && typeof d.state === 'object') {
-								for (i in d.state) {
-									if(d.state.hasOwnProperty(i)) {
-										tmp.state[i] = d.state[i];
-									}
-								}
-							}
-							if(d && typeof d.li_attr === 'object') {
-								for (i in d.li_attr) {
-									if(d.li_attr.hasOwnProperty(i)) {
-										tmp.li_attr[i] = d.li_attr[i];
-									}
-								}
-							}
-							if(tmp.li_attr.id && !tmp.id) {
-								tmp.id = tmp.li_attr.id.toString();
-							}
-							if(!tmp.id) {
-								tmp.id = tid;
-							}
-							if(!tmp.li_attr.id) {
-								tmp.li_attr.id = tmp.id;
-							}
-							if(d && typeof d.a_attr === 'object') {
-								for (i in d.a_attr) {
-									if(d.a_attr.hasOwnProperty(i)) {
-										tmp.a_attr[i] = d.a_attr[i];
-									}
-								}
-							}
-							if(d && d.children && d.children.length) {
-								for(i = 0, j = d.children.length; i < j; i++) {
-									c = parse_nest(d.children[i], tmp.id, ps);
-									e = m[c];
-									tmp.children.push(c);
-									if(e.children_d.length) {
-										tmp.children_d = tmp.children_d.concat(e.children_d);
-									}
-								}
-								tmp.children_d = tmp.children_d.concat(tmp.children);
-							}
-							if(d && d.children && d.children === true) {
-								tmp.state.loaded = false;
-								tmp.children = [];
-								tmp.children_d = [];
-							}
-							delete d.data;
-							delete d.children;
-							tmp.original = d;
-							m[tmp.id] = tmp;
-							if(tmp.state.selected) {
-								add.push(tmp.id);
-							}
-							return tmp.id;
-						};
-
-					if(dat.length && dat[0].id !== undefined && dat[0].parent !== undefined) {
-						// Flat JSON support (for easy import from DB):
-						// 1) convert to object (foreach)
-						for(i = 0, j = dat.length; i < j; i++) {
-							if(!dat[i].children) {
-								dat[i].children = [];
-							}
-							m[dat[i].id.toString()] = dat[i];
-						}
-						// 2) populate children (foreach)
-						for(i = 0, j = dat.length; i < j; i++) {
-							m[dat[i].parent.toString()].children.push(dat[i].id.toString());
-							// populate parent.children_d
-							p.children_d.push(dat[i].id.toString());
-						}
-						// 3) normalize && populate parents and children_d with recursion
-						for(i = 0, j = p.children.length; i < j; i++) {
-							tmp = parse_flat(m[p.children[i]], par, p.parents.concat());
-							dpc.push(tmp);
-							if(m[tmp].children_d.length) {
-								dpc = dpc.concat(m[tmp].children_d);
-							}
-						}
-						for(i = 0, j = p.parents.length; i < j; i++) {
-							m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc);
-						}
-						// ?) three_state selection - p.state.selected && t - (if three_state foreach(dat => ch) -> foreach(parents) if(parent.selected) child.selected = true;
-						rslt = {
-							'cnt' : t_cnt,
-							'mod' : m,
-							'sel' : sel,
-							'par' : par,
-							'dpc' : dpc,
-							'add' : add
-						};
-					}
-					else {
-						for(i = 0, j = dat.length; i < j; i++) {
-							tmp = parse_nest(dat[i], par, p.parents.concat());
-							if(tmp) {
-								chd.push(tmp);
-								dpc.push(tmp);
-								if(m[tmp].children_d.length) {
-									dpc = dpc.concat(m[tmp].children_d);
-								}
-							}
-						}
-						p.children = chd;
-						p.children_d = dpc;
-						for(i = 0, j = p.parents.length; i < j; i++) {
-							m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc);
-						}
-						rslt = {
-							'cnt' : t_cnt,
-							'mod' : m,
-							'sel' : sel,
-							'par' : par,
-							'dpc' : dpc,
-							'add' : add
-						};
-					}
-					if(typeof window === 'undefined' || typeof window.document === 'undefined') {
-						postMessage(rslt);
-					}
-					else {
-						return rslt;
-					}
-				},
-				rslt = function (rslt, worker) {
-					this._cnt = rslt.cnt;
-					this._model.data = rslt.mod; // breaks the reference in load_node - careful
-
-					if(worker) {
-						var i, j, a = rslt.add, r = rslt.sel, s = this._data.core.selected.slice(), m = this._model.data;
-						// if selection was changed while calculating in worker
-						if(r.length !== s.length || $.vakata.array_unique(r.concat(s)).length !== r.length) {
-							// deselect nodes that are no longer selected
-							for(i = 0, j = r.length; i < j; i++) {
-								if($.inArray(r[i], a) === -1 && $.inArray(r[i], s) === -1) {
-									m[r[i]].state.selected = false;
-								}
-							}
-							// select nodes that were selected in the mean time
-							for(i = 0, j = s.length; i < j; i++) {
-								if($.inArray(s[i], r) === -1) {
-									m[s[i]].state.selected = true;
-								}
-							}
-						}
-					}
-					if(rslt.add.length) {
-						this._data.core.selected = this._data.core.selected.concat(rslt.add);
-					}
-
-					this.trigger('model', { "nodes" : rslt.dpc, 'parent' : rslt.par });
-
-					if(rslt.par !== '#') {
-						this._node_changed(rslt.par);
-						this.redraw();
-					}
-					else {
-						// this.get_container_ul().children('.jstree-initial-node').remove();
-						this.redraw(true);
-					}
-					if(rslt.add.length) {
-						this.trigger('changed', { 'action' : 'model', 'selected' : this._data.core.selected });
-					}
-					cb.call(this, true);
-				};
-			if(this.settings.core.worker && window.Blob && window.URL && window.Worker) {
-				try {
-					if(this._wrk === null) {
-						this._wrk = window.URL.createObjectURL(
-							new window.Blob(
-								['self.onmessage = ' + func.toString()],
-								{type:"text/javascript"}
-							)
-						);
-					}
-					if(!this._data.core.working || force_processing) {
-						this._data.core.working = true;
-						w = new window.Worker(this._wrk);
-						w.onmessage = $.proxy(function (e) {
-							rslt.call(this, e.data, true);
-							try { w.terminate(); w = null; } catch(ignore) { }
-							if(this._data.core.worker_queue.length) {
-								this._append_json_data.apply(this, this._data.core.worker_queue.shift());
-							}
-							else {
-								this._data.core.working = false;
-							}
-						}, this);
-						if(!args.par) {
-							if(this._data.core.worker_queue.length) {
-								this._append_json_data.apply(this, this._data.core.worker_queue.shift());
-							}
-							else {
-								this._data.core.working = false;
-							}
-						}
-						else {
-							w.postMessage(args);
-						}
-					}
-					else {
-						this._data.core.worker_queue.push([dom, data, cb, true]);
-					}
-				}
-				catch(e) {
-					rslt.call(this, func(args), false);
-					if(this._data.core.worker_queue.length) {
-						this._append_json_data.apply(this, this._data.core.worker_queue.shift());
-					}
-					else {
-						this._data.core.working = false;
-					}
-				}
-			}
-			else {
-				rslt.call(this, func(args), false);
-			}
-		},
-		/**
-		 * parses a node from a jQuery object and appends them to the in memory tree model. Used internally.
-		 * @private
-		 * @name _parse_model_from_html(d [, p, ps])
-		 * @param  {jQuery} d the jQuery object to parse
-		 * @param  {String} p the parent ID
-		 * @param  {Array} ps list of all parents
-		 * @return {String} the ID of the object added to the model
-		 */
-		_parse_model_from_html : function (d, p, ps) {
-			if(!ps) { ps = []; }
-			else { ps = [].concat(ps); }
-			if(p) { ps.unshift(p); }
-			var c, e, m = this._model.data,
-				data = {
-					id			: false,
-					text		: false,
-					icon		: true,
-					parent		: p,
-					parents		: ps,
-					children	: [],
-					children_d	: [],
-					data		: null,
-					state		: { },
-					li_attr		: { id : false },
-					a_attr		: { href : '#' },
-					original	: false
-				}, i, tmp, tid;
-			for(i in this._model.default_state) {
-				if(this._model.default_state.hasOwnProperty(i)) {
-					data.state[i] = this._model.default_state[i];
-				}
-			}
-			tmp = $.vakata.attributes(d, true);
-			$.each(tmp, function (i, v) {
-				v = $.trim(v);
-				if(!v.length) { return true; }
-				data.li_attr[i] = v;
-				if(i === 'id') {
-					data.id = v.toString();
-				}
-			});
-			tmp = d.children('a').first();
-			if(tmp.length) {
-				tmp = $.vakata.attributes(tmp, true);
-				$.each(tmp, function (i, v) {
-					v = $.trim(v);
-					if(v.length) {
-						data.a_attr[i] = v;
-					}
-				});
-			}
-			tmp = d.children("a").first().length ? d.children("a").first().clone() : d.clone();
-			tmp.children("ins, i, ul").remove();
-			tmp = tmp.html();
-			tmp = $('<div />').html(tmp);
-			data.text = this.settings.core.force_text ? tmp.text() : tmp.html();
-			tmp = d.data();
-			data.data = tmp ? $.extend(true, {}, tmp) : null;
-			data.state.opened = d.hasClass('jstree-open');
-			data.state.selected = d.children('a').hasClass('jstree-clicked');
-			data.state.disabled = d.children('a').hasClass('jstree-disabled');
-			if(data.data && data.data.jstree) {
-				for(i in data.data.jstree) {
-					if(data.data.jstree.hasOwnProperty(i)) {
-						data.state[i] = data.data.jstree[i];
-					}
-				}
-			}
-			tmp = d.children("a").children(".jstree-themeicon");
-			if(tmp.length) {
-				data.icon = tmp.hasClass('jstree-themeicon-hidden') ? false : tmp.attr('rel');
-			}
-			if(data.state.icon) {
-				data.icon = data.state.icon;
-			}
-			tmp = d.children("ul").children("li");
-			do {
-				tid = 'j' + this._id + '_' + (++this._cnt);
-			} while(m[tid]);
-			data.id = data.li_attr.id ? data.li_attr.id.toString() : tid;
-			if(tmp.length) {
-				tmp.each($.proxy(function (i, v) {
-					c = this._parse_model_from_html($(v), data.id, ps);
-					e = this._model.data[c];
-					data.children.push(c);
-					if(e.children_d.length) {
-						data.children_d = data.children_d.concat(e.children_d);
-					}
-				}, this));
-				data.children_d = data.children_d.concat(data.children);
-			}
-			else {
-				if(d.hasClass('jstree-closed')) {
-					data.state.loaded = false;
-				}
-			}
-			if(data.li_attr['class']) {
-				data.li_attr['class'] = data.li_attr['class'].replace('jstree-closed','').replace('jstree-open','');
-			}
-			if(data.a_attr['class']) {
-				data.a_attr['class'] = data.a_attr['class'].replace('jstree-clicked','').replace('jstree-disabled','');
-			}
-			m[data.id] = data;
-			if(data.state.selected) {
-				this._data.core.selected.push(data.id);
-			}
-			return data.id;
-		},
-		/**
-		 * parses a node from a JSON object (used when dealing with flat data, which has no nesting of children, but has id and parent properties) and appends it to the in memory tree model. Used internally.
-		 * @private
-		 * @name _parse_model_from_flat_json(d [, p, ps])
-		 * @param  {Object} d the JSON object to parse
-		 * @param  {String} p the parent ID
-		 * @param  {Array} ps list of all parents
-		 * @return {String} the ID of the object added to the model
-		 */
-		_parse_model_from_flat_json : function (d, p, ps) {
-			if(!ps) { ps = []; }
-			else { ps = ps.concat(); }
-			if(p) { ps.unshift(p); }
-			var tid = d.id.toString(),
-				m = this._model.data,
-				df = this._model.default_state,
-				i, j, c, e,
-				tmp = {
-					id			: tid,
-					text		: d.text || '',
-					icon		: d.icon !== undefined ? d.icon : true,
-					parent		: p,
-					parents		: ps,
-					children	: d.children || [],
-					children_d	: d.children_d || [],
-					data		: d.data,
-					state		: { },
-					li_attr		: { id : false },
-					a_attr		: { href : '#' },
-					original	: false
-				};
-			for(i in df) {
-				if(df.hasOwnProperty(i)) {
-					tmp.state[i] = df[i];
-				}
-			}
-			if(d && d.data && d.data.jstree && d.data.jstree.icon) {
-				tmp.icon = d.data.jstree.icon;
-			}
-			if(d && d.data) {
-				tmp.data = d.data;
-				if(d.data.jstree) {
-					for(i in d.data.jstree) {
-						if(d.data.jstree.hasOwnProperty(i)) {
-							tmp.state[i] = d.data.jstree[i];
-						}
-					}
-				}
-			}
-			if(d && typeof d.state === 'object') {
-				for (i in d.state) {
-					if(d.state.hasOwnProperty(i)) {
-						tmp.state[i] = d.state[i];
-					}
-				}
-			}
-			if(d && typeof d.li_attr === 'object') {
-				for (i in d.li_attr) {
-					if(d.li_attr.hasOwnProperty(i)) {
-						tmp.li_attr[i] = d.li_attr[i];
-					}
-				}
-			}
-			if(!tmp.li_attr.id) {
-				tmp.li_attr.id = tid;
-			}
-			if(d && typeof d.a_attr === 'object') {
-				for (i in d.a_attr) {
-					if(d.a_attr.hasOwnProperty(i)) {
-						tmp.a_attr[i] = d.a_attr[i];
-					}
-				}
-			}
-			if(d && d.children && d.children === true) {
-				tmp.state.loaded = false;
-				tmp.children = [];
-				tmp.children_d = [];
-			}
-			m[tmp.id] = tmp;
-			for(i = 0, j = tmp.children.length; i < j; i++) {
-				c = this._parse_model_from_flat_json(m[tmp.children[i]], tmp.id, ps);
-				e = m[c];
-				tmp.children_d.push(c);
-				if(e.children_d.length) {
-					tmp.children_d = tmp.children_d.concat(e.children_d);
-				}
-			}
-			delete d.data;
-			delete d.children;
-			m[tmp.id].original = d;
-			if(tmp.state.selected) {
-				this._data.core.selected.push(tmp.id);
-			}
-			return tmp.id;
-		},
-		/**
-		 * parses a node from a JSON object and appends it to the in memory tree model. Used internally.
-		 * @private
-		 * @name _parse_model_from_json(d [, p, ps])
-		 * @param  {Object} d the JSON object to parse
-		 * @param  {String} p the parent ID
-		 * @param  {Array} ps list of all parents
-		 * @return {String} the ID of the object added to the model
-		 */
-		_parse_model_from_json : function (d, p, ps) {
-			if(!ps) { ps = []; }
-			else { ps = ps.concat(); }
-			if(p) { ps.unshift(p); }
-			var tid = false, i, j, c, e, m = this._model.data, df = this._model.default_state, tmp;
-			do {
-				tid = 'j' + this._id + '_' + (++this._cnt);
-			} while(m[tid]);
-
-			tmp = {
-				id			: false,
-				text		: typeof d === 'string' ? d : '',
-				icon		: typeof d === 'object' && d.icon !== undefined ? d.icon : true,
-				parent		: p,
-				parents		: ps,
-				children	: [],
-				children_d	: [],
-				data		: null,
-				state		: { },
-				li_attr		: { id : false },
-				a_attr		: { href : '#' },
-				original	: false
-			};
-			for(i in df) {
-				if(df.hasOwnProperty(i)) {
-					tmp.state[i] = df[i];
-				}
-			}
-			if(d && d.id) { tmp.id = d.id.toString(); }
-			if(d && d.text) { tmp.text = d.text; }
-			if(d && d.data && d.data.jstree && d.data.jstree.icon) {
-				tmp.icon = d.data.jstree.icon;
-			}
-			if(d && d.data) {
-				tmp.data = d.data;
-				if(d.data.jstree) {
-					for(i in d.data.jstree) {
-						if(d.data.jstree.hasOwnProperty(i)) {
-							tmp.state[i] = d.data.jstree[i];
-						}
-					}
-				}
-			}
-			if(d && typeof d.state === 'object') {
-				for (i in d.state) {
-					if(d.state.hasOwnProperty(i)) {
-						tmp.state[i] = d.state[i];
-					}
-				}
-			}
-			if(d && typeof d.li_attr === 'object') {
-				for (i in d.li_attr) {
-					if(d.li_attr.hasOwnProperty(i)) {
-						tmp.li_attr[i] = d.li_attr[i];
-					}
-				}
-			}
-			if(tmp.li_attr.id && !tmp.id) {
-				tmp.id = tmp.li_attr.id.toString();
-			}
-			if(!tmp.id) {
-				tmp.id = tid;
-			}
-			if(!tmp.li_attr.id) {
-				tmp.li_attr.id = tmp.id;
-			}
-			if(d && typeof d.a_attr === 'object') {
-				for (i in d.a_attr) {
-					if(d.a_attr.hasOwnProperty(i)) {
-						tmp.a_attr[i] = d.a_attr[i];
-					}
-				}
-			}
-			if(d && d.children && d.children.length) {
-				for(i = 0, j = d.children.length; i < j; i++) {
-					c = this._parse_model_from_json(d.children[i], tmp.id, ps);
-					e = m[c];
-					tmp.children.push(c);
-					if(e.children_d.length) {
-						tmp.children_d = tmp.children_d.concat(e.children_d);
-					}
-				}
-				tmp.children_d = tmp.children_d.concat(tmp.children);
-			}
-			if(d && d.children && d.children === true) {
-				tmp.state.loaded = false;
-				tmp.children = [];
-				tmp.children_d = [];
-			}
-			delete d.data;
-			delete d.children;
-			tmp.original = d;
-			m[tmp.id] = tmp;
-			if(tmp.state.selected) {
-				this._data.core.selected.push(tmp.id);
-			}
-			return tmp.id;
-		},
-		/**
-		 * redraws all nodes that need to be redrawn. Used internally.
-		 * @private
-		 * @name _redraw()
-		 * @trigger redraw.jstree
-		 */
-		_redraw : function () {
-			var nodes = this._model.force_full_redraw ? this._model.data['#'].children.concat([]) : this._model.changed.concat([]),
-				f = document.createElement('UL'), tmp, i, j, fe = this._data.core.focused;
-			for(i = 0, j = nodes.length; i < j; i++) {
-				tmp = this.redraw_node(nodes[i], true, this._model.force_full_redraw);
-				if(tmp && this._model.force_full_redraw) {
-					f.appendChild(tmp);
-				}
-			}
-			if(this._model.force_full_redraw) {
-				f.className = this.get_container_ul()[0].className;
-				f.setAttribute('role','group');
-				this.element.empty().append(f);
-				//this.get_container_ul()[0].appendChild(f);
-			}
-			if(fe !== null) {
-				tmp = this.get_node(fe, true);
-				if(tmp && tmp.length && tmp.children('.jstree-anchor')[0] !== document.activeElement) {
-					tmp.children('.jstree-anchor').focus();
-				}
-				else {
-					this._data.core.focused = null;
-				}
-			}
-			this._model.force_full_redraw = false;
-			this._model.changed = [];
-			/**
-			 * triggered after nodes are redrawn
-			 * @event
-			 * @name redraw.jstree
-			 * @param {array} nodes the redrawn nodes
-			 */
-			this.trigger('redraw', { "nodes" : nodes });
-		},
-		/**
-		 * redraws all nodes that need to be redrawn or optionally - the whole tree
-		 * @name redraw([full])
-		 * @param {Boolean} full if set to `true` all nodes are redrawn.
-		 */
-		redraw : function (full) {
-			if(full) {
-				this._model.force_full_redraw = true;
-			}
-			//if(this._model.redraw_timeout) {
-			//	clearTimeout(this._model.redraw_timeout);
-			//}
-			//this._model.redraw_timeout = setTimeout($.proxy(this._redraw, this),0);
-			this._redraw();
-		},
-		/**
-		 * redraws a single node. Used internally.
-		 * @private
-		 * @name redraw_node(node, deep, is_callback, force_render)
-		 * @param {mixed} node the node to redraw
-		 * @param {Boolean} deep should child nodes be redrawn too
-		 * @param {Boolean} is_callback is this a recursion call
-		 * @param {Boolean} force_render should children of closed parents be drawn anyway
-		 */
-		redraw_node : function (node, deep, is_callback, force_render) {
-			var obj = this.get_node(node),
-				par = false,
-				ind = false,
-				old = false,
-				i = false,
-				j = false,
-				k = false,
-				c = '',
-				d = document,
-				m = this._model.data,
-				f = false,
-				s = false,
-				tmp = null;
-			if(!obj) { return false; }
-			if(obj.id === '#') {  return this.redraw(true); }
-			deep = deep || obj.children.length === 0;
-			node = !document.querySelector ? document.getElementById(obj.id) : this.element[0].querySelector('#' + ("0123456789".indexOf(obj.id[0]) !== -1 ? '\\3' + obj.id[0] + ' ' + obj.id.substr(1).replace($.jstree.idregex,'\\$&') : obj.id.replace($.jstree.idregex,'\\$&')) ); //, this.element);
-			if(!node) {
-				deep = true;
-				//node = d.createElement('LI');
-				if(!is_callback) {
-					par = obj.parent !== '#' ? $('#' + obj.parent.replace($.jstree.idregex,'\\$&'), this.element)[0] : null;
-					if(par !== null && (!par || !m[obj.parent].state.opened)) {
-						return false;
-					}
-					ind = $.inArray(obj.id, par === null ? m['#'].children : m[obj.parent].children);
-				}
-			}
-			else {
-				node = $(node);
-				if(!is_callback) {
-					par = node.parent().parent()[0];
-					if(par === this.element[0]) {
-						par = null;
-					}
-					ind = node.index();
-				}
-				// m[obj.id].data = node.data(); // use only node's data, no need to touch jquery storage
-				if(!deep && obj.children.length && !node.children('.jstree-children').length) {
-					deep = true;
-				}
-				if(!deep) {
-					old = node.children('.jstree-children')[0];
-				}
-				f = node.children('.jstree-anchor')[0] === document.activeElement;
-				node.remove();
-				//node = d.createElement('LI');
-				//node = node[0];
-			}
-			node = _node.cloneNode(true);
-			// node is DOM, deep is boolean
-
-			c = 'jstree-node ';
-			for(i in obj.li_attr) {
-				if(obj.li_attr.hasOwnProperty(i)) {
-					if(i === 'id') { continue; }
-					if(i !== 'class') {
-						node.setAttribute(i, obj.li_attr[i]);
-					}
-					else {
-						c += obj.li_attr[i];
-					}
-				}
-			}
-			if(!obj.a_attr.id) {
-				obj.a_attr.id = obj.id + '_anchor';
-			}
-			node.setAttribute('aria-selected', !!obj.state.selected);
-			node.setAttribute('aria-level', obj.parents.length);
-			node.setAttribute('aria-labelledby', obj.a_attr.id);
-			if(obj.state.disabled) {
-				node.setAttribute('aria-disabled', true);
-			}
-
-			if(obj.state.loaded && !obj.children.length) {
-				c += ' jstree-leaf';
-			}
-			else {
-				c += obj.state.opened && obj.state.loaded ? ' jstree-open' : ' jstree-closed';
-				node.setAttribute('aria-expanded', (obj.state.opened && obj.state.loaded) );
-			}
-			if(obj.parent !== null && m[obj.parent].children[m[obj.parent].children.length - 1] === obj.id) {
-				c += ' jstree-last';
-			}
-			node.id = obj.id;
-			node.className = c;
-			c = ( obj.state.selected ? ' jstree-clicked' : '') + ( obj.state.disabled ? ' jstree-disabled' : '');
-			for(j in obj.a_attr) {
-				if(obj.a_attr.hasOwnProperty(j)) {
-					if(j === 'href' && obj.a_attr[j] === '#') { continue; }
-					if(j !== 'class') {
-						node.childNodes[1].setAttribute(j, obj.a_attr[j]);
-					}
-					else {
-						c += ' ' + obj.a_attr[j];
-					}
-				}
-			}
-			if(c.length) {
-				node.childNodes[1].className = 'jstree-anchor ' + c;
-			}
-			if((obj.icon && obj.icon !== true) || obj.icon === false) {
-				if(obj.icon === false) {
-					node.childNodes[1].childNodes[0].className += ' jstree-themeicon-hidden';
-				}
-				else if(obj.icon.indexOf('/') === -1 && obj.icon.indexOf('.') === -1) {
-					node.childNodes[1].childNodes[0].className += ' ' + obj.icon + ' jstree-themeicon-custom';
-				}
-				else {
-					node.childNodes[1].childNodes[0].style.backgroundImage = 'url('+obj.icon+')';
-					node.childNodes[1].childNodes[0].style.backgroundPosition = 'center center';
-					node.childNodes[1].childNodes[0].style.backgroundSize = 'auto';
-					node.childNodes[1].childNodes[0].className += ' jstree-themeicon-custom';
-				}
-			}
-
-			if(this.settings.core.force_text) {
-				node.childNodes[1].appendChild(d.createTextNode(obj.text));
-			}
-			else {
-				node.childNodes[1].innerHTML += obj.text;
-			}
-
-			if(deep && obj.children.length && (obj.state.opened || force_render) && obj.state.loaded) {
-				k = d.createElement('UL');
-				k.setAttribute('role', 'group');
-				k.className = 'jstree-children';
-				for(i = 0, j = obj.children.length; i < j; i++) {
-					k.appendChild(this.redraw_node(obj.children[i], deep, true));
-				}
-				node.appendChild(k);
-			}
-			if(old) {
-				node.appendChild(old);
-			}
-			if(!is_callback) {
-				// append back using par / ind
-				if(!par) {
-					par = this.element[0];
-				}
-				for(i = 0, j = par.childNodes.length; i < j; i++) {
-					if(par.childNodes[i] && par.childNodes[i].className && par.childNodes[i].className.indexOf('jstree-children') !== -1) {
-						tmp = par.childNodes[i];
-						break;
-					}
-				}
-				if(!tmp) {
-					tmp = d.createElement('UL');
-					tmp.setAttribute('role', 'group');
-					tmp.className = 'jstree-children';
-					par.appendChild(tmp);
-				}
-				par = tmp;
-
-				if(ind < par.childNodes.length) {
-					par.insertBefore(node, par.childNodes[ind]);
-				}
-				else {
-					par.appendChild(node);
-				}
-				if(f) {
-					node.childNodes[1].focus();
-				}
-			}
-			if(obj.state.opened && !obj.state.loaded) {
-				obj.state.opened = false;
-				setTimeout($.proxy(function () {
-					this.open_node(obj.id, false, 0);
-				}, this), 0);
-			}
-			return node;
-		},
-		/**
-		 * opens a node, revaling its children. If the node is not loaded it will be loaded and opened once ready.
-		 * @name open_node(obj [, callback, animation])
-		 * @param {mixed} obj the node to open
-		 * @param {Function} callback a function to execute once the node is opened
-		 * @param {Number} animation the animation duration in milliseconds when opening the node (overrides the `core.animation` setting). Use `false` for no animation.
-		 * @trigger open_node.jstree, after_open.jstree, before_open.jstree
-		 */
-		open_node : function (obj, callback, animation) {
-			var t1, t2, d, t;
-			if($.isArray(obj)) {
-				obj = obj.slice();
-				for(t1 = 0, t2 = obj.length; t1 < t2; t1++) {
-					this.open_node(obj[t1], callback, animation);
-				}
-				return true;
-			}
-			obj = this.get_node(obj);
-			if(!obj || obj.id === '#') {
-				return false;
-			}
-			animation = animation === undefined ? this.settings.core.animation : animation;
-			if(!this.is_closed(obj)) {
-				if(callback) {
-					callback.call(this, obj, false);
-				}
-				return false;
-			}
-			if(!this.is_loaded(obj)) {
-				if(this.is_loading(obj)) {
-					return setTimeout($.proxy(function () {
-						this.open_node(obj, callback, animation);
-					}, this), 500);
-				}
-				this.load_node(obj, function (o, ok) {
-					return ok ? this.open_node(o, callback, animation) : (callback ? callback.call(this, o, false) : false);
-				});
-			}
-			else {
-				d = this.get_node(obj, true);
-				t = this;
-				if(d.length) {
-					if(obj.children.length && !this._firstChild(d.children('.jstree-children')[0])) {
-						this.redraw_node(obj, true, false, true);
-						d = this.get_node(obj, true);
-					}
-					if(!animation) {
-						this.trigger('before_open', { "node" : obj });
-						d[0].className = d[0].className.replace('jstree-closed', 'jstree-open');
-						d[0].setAttribute("aria-expanded", true);
-					}
-					else {
-						this.trigger('before_open', { "node" : obj });
-						d
-							.children(".jstree-children").css("display","none").end()
-							.removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded", true)
-							.children(".jstree-children").stop(true, true)
-								.slideDown(animation, function () {
-									this.style.display = "";
-									t.trigger("after_open", { "node" : obj });
-								});
-					}
-				}
-				obj.state.opened = true;
-				if(callback) {
-					callback.call(this, obj, true);
-				}
-				if(!d.length) {
-					/**
-					 * triggered when a node is about to be opened (if the node is supposed to be in the DOM, it will be, but it won't be visible yet)
-					 * @event
-					 * @name before_open.jstree
-					 * @param {Object} node the opened node
-					 */
-					this.trigger('before_open', { "node" : obj });
-				}
-				/**
-				 * triggered when a node is opened (if there is an animation it will not be completed yet)
-				 * @event
-				 * @name open_node.jstree
-				 * @param {Object} node the opened node
-				 */
-				this.trigger('open_node', { "node" : obj });
-				if(!animation || !d.length) {
-					/**
-					 * triggered when a node is opened and the animation is complete
-					 * @event
-					 * @name after_open.jstree
-					 * @param {Object} node the opened node
-					 */
-					this.trigger("after_open", { "node" : obj });
-				}
-			}
-		},
-		/**
-		 * opens every parent of a node (node should be loaded)
-		 * @name _open_to(obj)
-		 * @param {mixed} obj the node to reveal
-		 * @private
-		 */
-		_open_to : function (obj) {
-			obj = this.get_node(obj);
-			if(!obj || obj.id === '#') {
-				return false;
-			}
-			var i, j, p = obj.parents;
-			for(i = 0, j = p.length; i < j; i+=1) {
-				if(i !== '#') {
-					this.open_node(p[i], false, 0);
-				}
-			}
-			return $('#' + obj.id.replace($.jstree.idregex,'\\$&'), this.element);
-		},
-		/**
-		 * closes a node, hiding its children
-		 * @name close_node(obj [, animation])
-		 * @param {mixed} obj the node to close
-		 * @param {Number} animation the animation duration in milliseconds when closing the node (overrides the `core.animation` setting). Use `false` for no animation.
-		 * @trigger close_node.jstree, after_close.jstree
-		 */
-		close_node : function (obj, animation) {
-			var t1, t2, t, d;
-			if($.isArray(obj)) {
-				obj = obj.slice();
-				for(t1 = 0, t2 = obj.length; t1 < t2; t1++) {
-					this.close_node(obj[t1], animation);
-				}
-				return true;
-			}
-			obj = this.get_node(obj);
-			if(!obj || obj.id === '#') {
-				return false;
-			}
-			if(this.is_closed(obj)) {
-				return false;
-			}
-			animation = animation === undefined ? this.settings.core.animation : animation;
-			t = this;
-			d = this.get_node(obj, true);
-			if(d.length) {
-				if(!animation) {
-					d[0].className = d[0].className.replace('jstree-open', 'jstree-closed');
-					d.attr("aria-expanded", false).children('.jstree-children').remove();
-				}
-				else {
-					d
-						.children(".jstree-children").attr("style","display:block !important").end()
-						.removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded", false)
-						.children(".jstree-children").stop(true, true).slideUp(animation, function () {
-							this.style.display = "";
-							d.children('.jstree-children').remove();
-							t.trigger("after_close", { "node" : obj });
-						});
-				}
-			}
-			obj.state.opened = false;
-			/**
-			 * triggered when a node is closed (if there is an animation it will not be complete yet)
-			 * @event
-			 * @name close_node.jstree
-			 * @param {Object} node the closed node
-			 */
-			this.trigger('close_node',{ "node" : obj });
-			if(!animation || !d.length) {
-				/**
-				 * triggered when a node is closed and the animation is complete
-				 * @event
-				 * @name after_close.jstree
-				 * @param {Object} node the closed node
-				 */
-				this.trigger("after_close", { "node" : obj });
-			}
-		},
-		/**
-		 * toggles a node - closing it if it is open, opening it if it is closed
-		 * @name toggle_node(obj)
-		 * @param {mixed} obj the node to toggle
-		 */
-		toggle_node : function (obj) {
-			var t1, t2;
-			if($.isArray(obj)) {
-				obj = obj.slice();
-				for(t1 = 0, t2 = obj.length; t1 < t2; t1++) {
-					this.toggle_node(obj[t1]);
-				}
-				return true;
-			}
-			if(this.is_closed(obj)) {
-				return this.open_node(obj);
-			}
-			if(this.is_open(obj)) {
-				return this.close_node(obj);
-			}
-		},
-		/**
-		 * opens all nodes within a node (or the tree), revaling their children. If the node is not loaded it will be loaded and opened once ready.
-		 * @name open_all([obj, animation, original_obj])
-		 * @param {mixed} obj the node to open recursively, omit to open all nodes in the tree
-		 * @param {Number} animation the animation duration in milliseconds when opening the nodes, the default is no animation
-		 * @param {jQuery} reference to the node that started the process (internal use)
-		 * @trigger open_all.jstree
-		 */
-		open_all : function (obj, animation, original_obj) {
-			if(!obj) { obj = '#'; }
-			obj = this.get_node(obj);
-			if(!obj) { return false; }
-			var dom = obj.id === '#' ? this.get_container_ul() : this.get_node(obj, true), i, j, _this;
-			if(!dom.length) {
-				for(i = 0, j = obj.children_d.length; i < j; i++) {
-					if(this.is_closed(this._model.data[obj.children_d[i]])) {
-						this._model.data[obj.children_d[i]].state.opened = true;
-					}
-				}
-				return this.trigger('open_all', { "node" : obj });
-			}
-			original_obj = original_obj || dom;
-			_this = this;
-			dom = this.is_closed(obj) ? dom.find('.jstree-closed').addBack() : dom.find('.jstree-closed');
-			dom.each(function () {
-				_this.open_node(
-					this,
-					function(node, status) { if(status && this.is_parent(node)) { this.open_all(node, animation, original_obj); } },
-					animation || 0
-				);
-			});
-			if(original_obj.find('.jstree-closed').length === 0) {
-				/**
-				 * triggered when an `open_all` call completes
-				 * @event
-				 * @name open_all.jstree
-				 * @param {Object} node the opened node
-				 */
-				this.trigger('open_all', { "node" : this.get_node(original_obj) });
-			}
-		},
-		/**
-		 * closes all nodes within a node (or the tree), revaling their children
-		 * @name close_all([obj, animation])
-		 * @param {mixed} obj the node to close recursively, omit to close all nodes in the tree
-		 * @param {Number} animation the animation duration in milliseconds when closing the nodes, the default is no animation
-		 * @trigger close_all.jstree
-		 */
-		close_all : function (obj, animation) {
-			if(!obj) { obj = '#'; }
-			obj = this.get_node(obj);
-			if(!obj) { return false; }
-			var dom = obj.id === '#' ? this.get_container_ul() : this.get_node(obj, true),
-				_this = this, i, j;
-			if(!dom.length) {
-				for(i = 0, j = obj.children_d.length; i < j; i++) {
-					this._model.data[obj.children_d[i]].state.opened = false;
-				}
-				return this.trigger('close_all', { "node" : obj });
-			}
-			dom = this.is_open(obj) ? dom.find('.jstree-open').addBack() : dom.find('.jstree-open');
-			$(dom.get().reverse()).each(function () { _this.close_node(this, animation || 0); });
-			/**
-			 * triggered when an `close_all` call completes
-			 * @event
-			 * @name close_all.jstree
-			 * @param {Object} node the closed node
-			 */
-			this.trigger('close_all', { "node" : obj });
-		},
-		/**
-		 * checks if a node is disabled (not selectable)
-		 * @name is_disabled(obj)
-		 * @param  {mixed} obj
-		 * @return {Boolean}
-		 */
-		is_disabled : function (obj) {
-			obj = this.get_node(obj);
-			return obj && obj.state && obj.state.disabled;
-		},
-		/**
-		 * enables a node - so that it can be selected
-		 * @name enable_node(obj)
-		 * @param {mixed} obj the node to enable
-		 * @trigger enable_node.jstree
-		 */
-		enable_node : function (obj) {
-			var t1, t2;
-			if($.isArray(obj)) {
-				obj = obj.slice();
-				for(t1 = 0, t2 = obj.length; t1 < t2; t1++) {
-					this.enable_node(obj[t1]);
-				}
-				return true;
-			}
-			obj = this.get_node(obj);
-			if(!obj || obj.id === '#') {
-				return false;
-			}
-			obj.state.disabled = false;
-			this.get_node(obj,true).children('.jstree-anchor').removeClass('jstree-disabled').attr('aria-disabled', false);
-			/**
-			 * triggered when an node is enabled
-			 * @event
-			 * @name enable_node.jstree
-			 * @param {Object} node the enabled node
-			 */
-			this.trigger('enable_node', { 'node' : obj });
-		},
-		/**
-		 * disables a node - so that it can not be selected
-		 * @name disable_node(obj)
-		 * @param {mixed} obj the node to disable
-		 * @trigger disable_node.jstree
-		 */
-		disable_node : function (obj) {
-			var t1, t2;
-			if($.isArray(obj)) {
-				obj = obj.slice();
-				for(t1 = 0, t2 = obj.length; t1 < t2; t1++) {
-					this.disable_node(obj[t1]);
-				}
-				return true;
-			}
-			obj = this.get_node(obj);
-			if(!obj || obj.id === '#') {
-				return false;
-			}
-			obj.state.disabled = true;
-			this.get_node(obj,true).children('.jstree-anchor').addClass('jstree-disabled').attr('aria-disabled', true);
-			/**
-			 * triggered when an node is disabled
-			 * @event
-			 * @name disable_node.jstree
-			 * @param {Object} node the disabled node
-			 */
-			this.trigger('disable_node', { 'node' : obj });
-		},
-		/**
-		 * called when a node is selected by the user. Used internally.
-		 * @private
-		 * @name activate_node(obj, e)
-		 * @param {mixed} obj the node
-		 * @param {Object} e the related event
-		 * @trigger activate_node.jstree, changed.jstree
-		 */
-		activate_node : function (obj, e) {
-			if(this.is_disabled(obj)) {
-				return false;
-			}
-
-			// ensure last_clicked is still in the DOM, make it fresh (maybe it was moved?) and make sure it is still selected, if not - make last_clicked the last selected node
-			this._data.core.last_clicked = this._data.core.last_clicked && this._data.core.last_clicked.id !== undefined ? this.get_node(this._data.core.last_clicked.id) : null;
-			if(this._data.core.last_clicked && !this._data.core.last_clicked.state.selected) { this._data.core.last_clicked = null; }
-			if(!this._data.core.last_clicked && this._data.core.selected.length) { this._data.core.last_clicked = this.get_node(this._data.core.selected[this._data.core.selected.length - 1]); }
-
-			if(!this.settings.core.multiple || (!e.metaKey && !e.ctrlKey && !e.shiftKey) || (e.shiftKey && (!this._data.core.last_clicked || !this.get_parent(obj) || this.get_parent(obj) !== this._data.core.last_clicked.parent ) )) {
-				if(!this.settings.core.multiple && (e.metaKey || e.ctrlKey || e.shiftKey) && this.is_selected(obj)) {
-					this.deselect_node(obj, false, e);
-				}
-				else {
-					this.deselect_all(true);
-					this.select_node(obj, false, false, e);
-					this._data.core.last_clicked = this.get_node(obj);
-				}
-			}
-			else {
-				if(e.shiftKey) {
-					var o = this.get_node(obj).id,
-						l = this._data.core.last_clicked.id,
-						p = this.get_node(this._data.core.last_clicked.parent).children,
-						c = false,
-						i, j;
-					for(i = 0, j = p.length; i < j; i += 1) {
-						// separate IFs work whem o and l are the same
-						if(p[i] === o) {
-							c = !c;
-						}
-						if(p[i] === l) {
-							c = !c;
-						}
-						if(c || p[i] === o || p[i] === l) {
-							this.select_node(p[i], true, false, e);
-						}
-						else {
-							this.deselect_node(p[i], true, e);
-						}
-					}
-					this.trigger('changed', { 'action' : 'select_node', 'node' : this.get_node(obj), 'selected' : this._data.core.selected, 'event' : e });
-				}
-				else {
-					if(!this.is_selected(obj)) {
-						this.select_node(obj, false, false, e);
-					}
-					else {
-						this.deselect_node(obj, false, e);
-					}
-				}
-			}
-			/**
-			 * triggered when an node is clicked or intercated with by the user
-			 * @event
-			 * @name activate_node.jstree
-			 * @param {Object} node
-			 */
-			this.trigger('activate_node', { 'node' : this.get_node(obj) });
-		},
-		/**
-		 * applies the hover state on a node, called when a node is hovered by the user. Used internally.
-		 * @private
-		 * @name hover_node(obj)
-		 * @param {mixed} obj
-		 * @trigger hover_node.jstree
-		 */
-		hover_node : function (obj) {
-			obj = this.get_node(obj, true);
-			if(!obj || !obj.length || obj.children('.jstree-hovered').length) {
-				return false;
-			}
-			var o = this.element.find('.jstree-hovered'), t = this.element;
-			if(o && o.length) { this.dehover_node(o); }
-
-			obj.children('.jstree-anchor').addClass('jstree-hovered');
-			/**
-			 * triggered when an node is hovered
-			 * @event
-			 * @name hover_node.jstree
-			 * @param {Object} node
-			 */
-			this.trigger('hover_node', { 'node' : this.get_node(obj) });
-			setTimeout(function () { t.attr('aria-activedescendant', obj[0].id); }, 0);
-		},
-		/**
-		 * removes the hover state from a nodecalled when a node is no longer hovered by the user. Used internally.
-		 * @private
-		 * @name dehover_node(obj)
-		 * @param {mixed} obj
-		 * @trigger dehover_node.jstree
-		 */
-		dehover_node : function (obj) {
-			obj = this.get_node(obj, true);
-			if(!obj || !obj.length || !obj.children('.jstree-hovered').length) {
-				return false;
-			}
-			obj.children('.jstree-anchor').removeClass('jstree-hovered');
-			/**
-			 * triggered when an node is no longer hovered
-			 * @event
-			 * @name dehover_node.jstree
-			 * @param {Object} node
-			 */
-			this.trigger('dehover_node', { 'node' : this.get_node(obj) });
-		},
-		/**
-		 * select a node
-		 * @name select_node(obj [, supress_event, prevent_open])
-		 * @param {mixed} obj an array can be used to select multiple nodes
-		 * @param {Boolean} supress_event if set to `true` the `changed.jstree` event won't be triggered
-		 * @param {Boolean} prevent_open if set to `true` parents of the selected node won't be opened
-		 * @trigger select_node.jstree, changed.jstree
-		 */
-		select_node : function (obj, supress_event, prevent_open, e) {
-			var dom, t1, t2, th;
-			if($.isArray(obj)) {
-				obj = obj.slice();
-				for(t1 = 0, t2 = obj.length; t1 < t2; t1++) {
-					this.select_node(obj[t1], supress_event, prevent_open, e);
-				}
-				return true;
-			}
-			obj = this.get_node(obj);
-			if(!obj || obj.id === '#') {
-		

<TRUNCATED>


[16/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/jquery-1.9.0.min.js
----------------------------------------------------------------------
diff --git a/public/javascripts/jquery-1.9.0.min.js b/public/javascripts/jquery-1.9.0.min.js
deleted file mode 100644
index 50d1b22..0000000
--- a/public/javascripts/jquery-1.9.0.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! 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.conc
 at(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.ex
 pando]){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 fun
 ction(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.m
 ax(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.ge
 tElementById(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):nu
 ll===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=f
 unction(){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("Boole
 an 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(),th
 is},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.appendChil
 d(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.getA
 ttribute("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:inli
 ne;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.attrib
 utes;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|h
 idden|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},v
 al: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.va
 lue=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
-},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:f
 unction(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,handler
 s: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.eve
 nt.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:func
 tion(){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}ret
 urn 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|nt
 h-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){ret
 urn 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){r
 eturn 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)re
 turn 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.c
 hildNodes[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.textCon
 tent||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")
-},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},si
 bling: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>"],_def
 ault: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;nul
 l!=(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)&&(s
 t(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||"").r
 eplace(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.typ
 e(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.su
 pport.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:funct
 ion(){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:funct
 ion(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.marginRigh
 t={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:funct
 ion(){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:{u
 rl: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="er
 ror",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.setRequestHea
 der("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/},conv
 erters:{"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-fo
 rm-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.xhrFi
 elds)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

<TRUNCATED>


[33/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/fonts/glyphicons-halflings-regular.svg
----------------------------------------------------------------------
diff --git a/public/fonts/glyphicons-halflings-regular.svg b/public/fonts/glyphicons-halflings-regular.svg
deleted file mode 100644
index e3e2dc7..0000000
--- a/public/fonts/glyphicons-halflings-regular.svg
+++ /dev/null
@@ -1,229 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
-<font-face units-per-em="1200" ascent="960" descent="-240" />
-<missing-glyph horiz-adv-x="500" />
-<glyph />
-<glyph />
-<glyph unicode="&#xd;" />
-<glyph unicode=" " />
-<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
-<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
-<glyph unicode="&#xa0;" />
-<glyph unicode="&#x2000;" horiz-adv-x="652" />
-<glyph unicode="&#x2001;" horiz-adv-x="1304" />
-<glyph unicode="&#x2002;" horiz-adv-x="652" />
-<glyph unicode="&#x2003;" horiz-adv-x="1304" />
-<glyph unicode="&#x2004;" horiz-adv-x="434" />
-<glyph unicode="&#x2005;" horiz-adv-x="326" />
-<glyph unicode="&#x2006;" horiz-adv-x="217" />
-<glyph unicode="&#x2007;" horiz-adv-x="217" />
-<glyph unicode="&#x2008;" horiz-adv-x="163" />
-<glyph unicode="&#x2009;" horiz-adv-x="260" />
-<glyph unicode="&#x200a;" horiz-adv-x="72" />
-<glyph unicode="&#x202f;" horiz-adv-x="260" />
-<glyph unicode="&#x205f;" horiz-adv-x="326" />
-<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
-<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
-<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#x2601;" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
-<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
-<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
-<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
-<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
-<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
-<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
-<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
-<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
-<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
-<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
-<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 
 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
-<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
-<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
-<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
-<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
-<glyph unicode="&#xe018;" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
-<glyph unicode="&#xe019;" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
-<glyph unicode="&#xe020;" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
-<glyph unicode="&#xe021;" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
-<glyph unicode="&#xe022;" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
-<glyph unicode="&#xe023;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
-<glyph unicode="&#xe024;" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
-<glyph unicode="&#xe025;" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
-<glyph unicode="&#xe026;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
-<glyph unicode="&#xe027;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
-<glyph unicode="&#xe028;" d="M0 25v475l200 700h800l199 -700l1 -475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
-<glyph unicode="&#xe029;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
-<glyph unicode="&#xe030;" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
-<glyph unicode="&#xe031;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
-<glyph unicode="&#xe032;" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
-<glyph unicode="&#xe033;" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
-<glyph unicode="&#xe034;" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
-<glyph unicode="&#xe035;" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
-<glyph unicode="&#xe036;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
-<glyph unicode="&#xe037;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
-<glyph unicode="&#xe038;" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
-<glyph unicode="&#xe039;" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
-<glyph unicode="&#xe040;" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
-<glyph unicode="&#xe041;" d="M0 700l1 475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
-<glyph unicode="&#xe042;" d="M1 700l1 475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
-<glyph unicode="&#xe043;" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
-<glyph unicode="&#xe044;" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
-<glyph unicode="&#xe045;" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
-<glyph unicode="&#xe046;" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
-<glyph unicode="&#xe047;" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
-<glyph unicode="&#xe048;" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v71l471 -1q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
-<glyph unicode="&#xe049;" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
-<glyph unicode="&#xe050;" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
-<glyph unicode="&#xe051;" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
-<glyph unicode="&#xe052;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
-<glyph unicode="&#xe053;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
-<glyph unicode="&#xe054;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe055;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe056;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-10
 0q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe057;" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
-<glyph unicode="&#xe058;" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
-<glyph unicode="&#xe059;" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
-<glyph unicode="&#xe060;" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
-<glyph unicode="&#xe062;" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
-<glyph unicode="&#xe063;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
-<glyph unicode="&#xe064;" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 139t-64 210zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
-<glyph unicode="&#xe065;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
-<glyph unicode="&#xe066;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
-<glyph unicode="&#xe067;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q61 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l567 567l-137 137l-430 -431l-146 147z" />
-<glyph unicode="&#xe068;" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
-<glyph unicode="&#xe069;" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe070;" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe071;" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
-<glyph unicode="&#xe072;" d="M200 0l900 550l-900 550v-1100z" />
-<glyph unicode="&#xe073;" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
-<glyph unicode="&#xe074;" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
-<glyph unicode="&#xe075;" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
-<glyph unicode="&#xe076;" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
-<glyph unicode="&#xe077;" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
-<glyph unicode="&#xe078;" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
-<glyph unicode="&#xe079;" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
-<glyph unicode="&#xe080;" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
-<glyph unicode="&#xe081;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
-<glyph unicode="&#xe082;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h600v200h-600v-200z" />
-<glyph unicode="&#xe083;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141 z" />
-<glyph unicode="&#xe084;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
-<glyph unicode="&#xe085;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM364 700h143q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5 q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5t-53.5 -74.5t-19 -114zM500 300h200v100h-200 v-100z" />
-<glyph unicode="&#xe086;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
-<glyph unicode="&#xe087;" d="M0 500v200h195q31 125 98.5 199.5t206.5 100.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200v-206 q149 48 201 206h-201v200h200q-25 74 -75.5 127t-124.5 77v-204h-200v203q-75 -23 -130 -77t-79 -126h209v-200h-210z" />
-<glyph unicode="&#xe088;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
-<glyph unicode="&#xe089;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
-<glyph unicode="&#xe090;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
-<glyph unicode="&#xe091;" d="M0 547l600 453v-300h600v-300h-600v-301z" />
-<glyph unicode="&#xe092;" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
-<glyph unicode="&#xe093;" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
-<glyph unicode="&#xe094;" d="M104 600h296v600h300v-600h298l-449 -600z" />
-<glyph unicode="&#xe095;" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
-<glyph unicode="&#xe096;" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
-<glyph unicode="&#xe097;" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
-<glyph unicode="&#xe101;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5h-207q-21 0 -33 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
-<glyph unicode="&#xe102;" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111q1 1 1 6.5t-1.5 15t-3.5 17.5l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6 h-111v-100zM100 0h400v400h-400v-400zM200 900q-3 0 14 48t36 96l18 47l213 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
-<glyph unicode="&#xe103;" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
-<glyph unicode="&#xe104;" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
-<glyph unicode="&#xe105;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
-<glyph unicode="&#xe106;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
-<glyph unicode="&#xe107;" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 34 -48 36.5t-48 -29.5l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
-<glyph unicode="&#xe108;" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
-<glyph unicode="&#xe109;" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
-<glyph unicode="&#xe110;" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
-<glyph unicode="&#xe111;" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
-<glyph unicode="&#xe112;" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
-<glyph unicode="&#xe113;" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
-<glyph unicode="&#xe114;" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
-<glyph unicode="&#xe115;" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
-<glyph unicode="&#xe116;" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
-<glyph unicode="&#xe117;" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
-<glyph unicode="&#xe118;" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
-<glyph unicode="&#xe119;" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
-<glyph unicode="&#xe120;" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
-<glyph unicode="&#xe121;" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
-<glyph unicode="&#xe122;" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe123;" d="M74 350q0 21 13.5 35.5t33.5 14.5h18l117 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-8 -3 -23 -8.5 t-65 -20t-103 -25t-132.5 -19.5t-158.5 -9q-125 0 -245.5 20.5t-178.5 40.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
-<glyph unicode="&#xe124;" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
-<glyph unicode="&#xe125;" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q124 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 213l100 212h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
-<glyph unicode="&#xe126;" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q124 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
-<glyph unicode="&#xe127;" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
-<glyph unicode="&#xe128;" d="M-101 651q0 72 54 110t139 38l302 -1l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 17 -10.5t26.5 -26t16.5 -36.5v-526q0 -13 -86 -93.5t-94 -80.5h-341q-16 0 -29.5 20t-19.5 41l-130 339h-107q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l107 89v502l-343 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM1000 201v600h200v-600h-200z" />
-<glyph unicode="&#xe129;" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6.5v7.5v6.5v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
-<glyph unicode="&#xe130;" d="M2 585q-16 -31 6 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM77 565l236 339h503 l89 -100v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
-<glyph unicode="&#xe131;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM298 701l2 -201h300l-2 -194l402 294l-402 298v-197h-300z" />
-<glyph unicode="&#xe132;" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l402 -294l-2 194h300l2 201h-300v197z" />
-<glyph unicode="&#xe133;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
-<glyph unicode="&#xe134;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
-<glyph unicode="&#xe135;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60 q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5 t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5 q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 39 2 44q31 -13 58 -14.5t39 3.5l11 4q7 36 -16.5 53.5t-64.5 28.5t-5
 6 23q-19 -3 -37 0 q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -24 17 -66.5t17 -43.5 q-9 2 -31 5t-36 5t-32 8t-30 14zM692 1003h1h-1z" />
-<glyph unicode="&#xe136;" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
-<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
-<glyph unicode="&#xe138;" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
-<glyph unicode="&#xe139;" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
-<glyph unicode="&#xe140;" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
-<glyph unicode="&#xe141;" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM514 609q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
-<glyph unicode="&#xe142;" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -78.5 -16.5t-67.5 -51.5l-389 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23 q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60 l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
-<glyph unicode="&#xe143;" d="M80 784q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100q-71 70 -104.5 105.5t-77 89.5t-61 99 t-17.5 91zM250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-105 48.5q-74 0 -132 -83l-118 -171l-114 174q-51 80 -123 80q-60 0 -109.5 -49.5t-49.5 -118.5z" />
-<glyph unicode="&#xe144;" d="M57 353q0 -95 66 -159l141 -142q68 -66 159 -66q93 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-8 9 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q7 -7 19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -17q47 -49 77 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
-<glyph unicode="&#xe145;" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
-<glyph unicode="&#xe146;" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
-<glyph unicode="&#xe148;" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5 zM700 237q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
-<glyph unicode="&#xe149;" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q33 1 103 -16t103 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" />
-<glyph unicode="&#xe150;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
-<glyph unicode="&#xe151;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
-<glyph unicode="&#xe152;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
-<glyph unicode="&#xe153;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
-<glyph unicode="&#xe154;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
-<glyph unicode="&#xe155;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
-<glyph unicode="&#xe156;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
-<glyph unicode="&#xe157;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
-<glyph unicode="&#xe158;" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
-<glyph unicode="&#xe159;" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
-<glyph unicode="&#xe160;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
-<glyph unicode="&#xe161;" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
-<glyph unicode="&#xe162;" d="M217 519q8 -19 31 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8h9q14 0 26 15q11 13 274.5 321.5t264.5 308.5q14 19 5 36q-8 17 -31 17l-301 -1q1 4 78 219.5t79 227.5q2 15 -5 27l-9 9h-9q-15 0 -25 -16q-4 -6 -98 -111.5t-228.5 -257t-209.5 -237.5q-16 -19 -6 -41 z" />
-<glyph unicode="&#xe163;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
-<glyph unicode="&#xe164;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
-<glyph unicode="&#xe165;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
-<glyph unicode="&#xe166;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe167;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe168;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe169;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 400l697 1l3 699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe170;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l249 -237l-1 697zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe171;" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
-<glyph unicode="&#xe172;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
-<glyph unicode="&#xe173;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
-<glyph unicode="&#xe174;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
-<glyph unicode="&#xe175;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
-<glyph unicode="&#xe176;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
-<glyph unicode="&#xe177;" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
-<glyph unicode="&#xe178;" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
-<glyph unicode="&#xe179;" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -116q-25 -17 -43.5 -51.5t-18.5 -65.5v-359z" />
-<glyph unicode="&#xe180;" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
-<glyph unicode="&#xe181;" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
-<glyph unicode="&#xe182;" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q17 18 13.5 41t-22.5 37l-192 136q-19 14 -45 12t-42 -19l-118 -118q-142 101 -268 227t-227 268l118 118q17 17 20 41.5t-11 44.5 l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
-<glyph unicode="&#xe183;" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-20 0 -35 14.5t-15 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
-<glyph unicode="&#xe184;" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
-<glyph unicode="&#xe185;" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
-<glyph unicode="&#xe186;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
-<glyph unicode="&#xe187;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
-<glyph unicode="&#xe188;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
-<glyph unicode="&#xe189;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
-<glyph unicode="&#xe190;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
-<glyph unicode="&#xe191;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
-<glyph unicode="&#xe192;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
-<glyph unicode="&#xe193;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
-<glyph unicode="&#xe194;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
-<glyph unicode="&#xe195;" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
-<glyph unicode="&#xe197;" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300h200 l-300 -300z" />
-<glyph unicode="&#xe198;" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104.5t60.5 178.5q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
-<glyph unicode="&#xe199;" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
-<glyph unicode="&#xe200;" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -11.5t1 -11.5q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
-</font>
-</defs></svg> 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/fonts/glyphicons-halflings-regular.ttf
----------------------------------------------------------------------
diff --git a/public/fonts/glyphicons-halflings-regular.ttf b/public/fonts/glyphicons-halflings-regular.ttf
deleted file mode 100644
index 67fa00b..0000000
Binary files a/public/fonts/glyphicons-halflings-regular.ttf and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/fonts/glyphicons-halflings-regular.woff
----------------------------------------------------------------------
diff --git a/public/fonts/glyphicons-halflings-regular.woff b/public/fonts/glyphicons-halflings-regular.woff
deleted file mode 100644
index 8c54182..0000000
Binary files a/public/fonts/glyphicons-halflings-regular.woff and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/common.css
----------------------------------------------------------------------
diff --git a/public/html/common.css b/public/html/common.css
deleted file mode 100644
index f9b898d..0000000
--- a/public/html/common.css
+++ /dev/null
@@ -1,23 +0,0 @@
-  .center1 {text-align: center;}
-  .right1 {text-align: right;}
-  /*.left1 {text-align: left; margin-left: 50px;}*/
-  .left1 {text-align: left;}
-  .middle1 {vertical-align: middle;}
-  .row1 {margin: 0 auto;}
-
-  .subtitle1 {color: DarkBlue; font-weight: bold; }
-
-  /*.color-head {background-color: Aqua;} */
-  .color-head {background-color: #C2EBFF  ;} /* A6C0CE  *A6C0CE  ABD8C0 */
-  .color4 {background-color: #B8B8B8;}  /*Azure EBFFF5  */
-  .color3 {background-color: #C8C8C8;}  /* Beige C2F0F0 */
-  /* .color3 {border-color: Azure; border-style: solid; } */ /* Beige C2F0F0 */
-  .color2 {background-color: #E8E8E8;}   /* YellowGreen B2B2E0 */
-  .color1 {background-color: #D8D8D8;}   /* SpringGreen*/
-  .color0 {background-color: #F8F8F8;}   /* Turquoise*/
-
-@media screen and (max-width: 768px) {
-.right1 {text-align: left;}
-}
-
-

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/conditionalSampling.html
----------------------------------------------------------------------
diff --git a/public/html/conditionalSampling.html b/public/html/conditionalSampling.html
deleted file mode 100644
index 983092e..0000000
--- a/public/html/conditionalSampling.html
+++ /dev/null
@@ -1,700 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta charset="utf-8">
-
-  <!-- for Bootstrap -->
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
-  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
-
-  <!-- still needed? -->
-  <script src="js/jquery.flot.min.js"></script>
-  <script src="js/json2.js"></script>
-  <script src="js/xmisc.js"></script>
-
-  <!-- cmac related -->
-  <link rel="stylesheet" href="common.css">
-  <script src='js2/dataList2.js'></script>
-  <script src='js2/varList.js'></script>
-  <script src='js2/common.js'></script>
-
-  <title>Conditional Sampling 2 Var</title>
-
-  <script>
-
-    var Response = null;
-    var variable1 = "";
-    var variable2 = "";
-
-    var naValue = "-999999";
-
-    // called on load or reload
-    window.onload = function() {
-      var str1 = data_block_str(1, 2, "Physical Variable (sampled variable)", 
-          "", "500");
-      document.getElementById("dataBlock1").innerHTML = str1;
-
-      str1 = data_block_str(2, 2, "Environmental Variable (sampling variable)", 
-          "", "500");
-      document.getElementById("dataBlock2").innerHTML = str1;
-
-      put_data(1);
-      put_data(2);
-      put_var(1);
-      put_var(2);
-      select_var(1);
-      select_var(2);
-      time_range2();
-      fillMonth();
-
-      disable_download_button();
-
-      select_all_months();
-      setDefault(1);
-    }
-
-    // disable customized input text boxes
-    function setDefault(ID)
-    {
-       // alert("in setDefault(ID) ... ");
-       var x=document.getElementById("min"+ID);
-       var y=document.getElementById("max"+ID);
-       var z=document.getElementById("bins"+ID);
-       x.value = "N/A";
-       x.disabled=true;
-       y.value = "N/A";
-       y.disabled=true;
-       z.value = "N/A";
-       z.disabled=true;
-    }
-
-    // enable customized input text boxes
-    function setCustomized(ID)
-    {
-       // alert("in setCustomized() ... ");
-       var x=document.getElementById("min"+ID);
-       var y=document.getElementById("max"+ID);
-       var z=document.getElementById("bins"+ID);
-       x.value = "";
-       x.disabled=false;
-       y.value = "";
-       y.disabled=false;
-       z.value = "";
-       z.disabled=false;
-    }
-
-    $(document).ready(function(){
-
-      $("a").click(function(event){
-        alert("As you can see, the link no longer took you to jquery.com");
-        event.preventDefault();
-      });
-
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        // alert(durl);
-        window.location.assign(durl);
-      });
-
-
-      $("#conditionalSamp").click(function(event) {
-        // alert('****** inside conditionalSamp()!');
-        Response = null;
-
-        // no data to download yet
-        disable_download_button();
-
-        // flag error if no month box is checked
-        if (no_month_check()) {
-           // $("#Response").html("<span style='color:red'>Error: please check at least one month.</span>");
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        }
-
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-
-        // sample url: http://cmacws.jpl.nasa.gov:8090/svc/conditionalSampling?model1=ukmo_hadgem2-a&var1=ts&pres1=200&model2=ukmo_hadgem2-a&var2=clt&pres2=200&start_time=199001&end_time=199512&lon1=0&lon2=100&lat1=-29&lat2=29
-        // form url string
-        // var url = "http://cmacws.jpl.nasa.gov:8090/svc/conditionalSamp?";
-        var url = "http://" + window.location.hostname + ":9002/svc/conditionalSampling?";
-        // alert("url: " + url);
-
-        var d1 = $("#data1").val();
-        var model1 = d1.replace("/", "_");
-        model1 = model1.toLowerCase();
-
-        var arglist = "";
-        arglist = arglist.concat("model1=");
-        arglist = arglist.concat(model1);
-
-        // alert("arglist: " + arglist);
-
-        var variable1 = $("#var1").val();
-        arglist = arglist.concat("&var1=");
-        arglist = arglist.concat(variable1);
-
-        // alert("arglist: " + arglist);
-
-
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-
-        // alert("arglist: " + arglist);
-
-
-        var press_range = $("#pres1").val();
-        // alert("press_range: " + press_range);
-
-        var pres12 = parse_pres(press_range);
-
-        var pres1;
-        var pres2;
-        if (pres12 === naValue) {
-          pres1 = naValue;
-          pres2 = naValue;
-        } else {
-          split12 = pres12.split(",");
-          if (split12.length != 2) {
-            alert("pressure level range needs to be two values separated by comma.");
-            return; 
-          } else {
-            pres1 = split12[0];
-            pres2 = split12[1];
-        
-            // when variable is the 3D Ocean Salinity or Ocean Temperature
-            if (variable1 == 'ot' || variable1 == 'os') {
-              pres1 = pres1 * 10000;  // convert from dbar on GUI
-              pres2 = pres2 * 10000;  // convert from dbar on GUI
-            } 
-            // when variable2 is 3D atmosphere var
-            else {
-              pres1 = pres1 * 100;  // convert from hPa on GUI
-              pres2 = pres2 * 100;  // convert from hPa on GUI
-            }
-          }
-        }
-        // alert("pres1, pres2: " + pres1 + ", " + pres2);
-
-        arglist = arglist.concat("&pres1=");
-        arglist = arglist.concat(pres1);
-        arglist = arglist.concat("&pres2=");
-        arglist = arglist.concat(pres2);
-
-        // alert("arglist: " + arglist);
-
-        var month_str = getMonthStr();
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-
-        // alert("arglist: " + arglist);
-
-
-        var d2 = $("#data2").val();
-        var model2 = d2.replace("/", "_");
-        model2 = model2.toLowerCase();
-
-        arglist = arglist.concat("&model2=");
-        arglist = arglist.concat(model2);
-
-        // alert("arglist: " + arglist);
-
-        var variable2 = $("#var2").val();
-        arglist = arglist.concat("&var2=");
-        arglist = arglist.concat(variable2);
-
-        // alert("arglist: " + arglist);
-
-        var plev1 = $("#pres2").val();
-        plev1 = parse_pres(plev1);
-
-        if (plev1>0) {
-          // when variable is the 3D Ocean Salinity or Ocean Temperature
-          if (variable2 == 'ot' || variable2 == 'os') {
-            plev1 = plev1 * 10000;  // convert from dbar on GUI
-          } 
-          // when variable2 is 3D atmosphere var
-          else {
-            plev1 = plev1 * 100;  // convert from hPa on GUI
-          }
-        }
-
-        arglist = arglist.concat("&env_var_plev=");
-        arglist = arglist.concat(plev1);
-
-        // alert("arglist: " + arglist);
-
-        var binstate1 = document.getElementById('radioDef1').checked;
-
-        var binMin1, binMax1, numBins1;
-
-        if (binstate1 == true) { // default
-          binMin1 = naValue;
-          binMax1 = naValue;
-          numBins1 = naValue;
-        }
-        else { // customized
-          binMin1 = $("#min1").val();
-          binMax1 = $("#max1").val();
-          numBins1 = $("#bins1").val();
-        }
-
-        arglist = arglist.concat("&bin_min=");
-        arglist = arglist.concat(binMin1);
-        arglist = arglist.concat("&bin_max=");
-        arglist = arglist.concat(binMax1);
-        arglist = arglist.concat("&bin_n=");
-        arglist = arglist.concat(numBins1);
-
-        // alert("arglist: " + arglist);
-
-        var xstate = document.getElementById('radioXLin').checked;
-        var xvalue;
-
-        if (xstate == true)
-          xvalue = 0;
-        else
-          xvalue = 1;
-
-        // alert("xvalue: " + xvalue);
-
-        var ystate = document.getElementById('radioYLin').checked;
-        var yvalue;
-
-        if (ystate == true)
-          yvalue = 0;
-        else
-          yvalue = 1;
-
-        // alert("yvalue: " + yvalue);
-
-        var zstate = document.getElementById('radioZLin').checked;
-        var zvalue;
-
-        if (zstate == true)
-          zvalue = 0;
-        else
-          zvalue = 1;
-
-        // alert("zvalue: " + zvalue);
-
-        var dispOpt;
-        dispOpt = xvalue*1 + yvalue*2 + zvalue*4;
-        // alert("dispOpt: " + dispOpt);
-        var dispOptString = dispOpt.toString();
-
-        arglist = arglist.concat("&displayOpt=");
-        arglist = arglist.concat(dispOptString);
-
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-
-        // alert("arglist: " + arglist);
-
-        // url = url + encodeURIComponent(arglist);
-        url = url + encodeURI(arglist);
-        // url = url + arglist;
-        // alert("url: " + url);
-
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/two_time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source1=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var1=");
-        arglistTB = arglistTB.concat(variable1);
-        arglistTB = arglistTB.concat("&source2=");
-        arglistTB = arglistTB.concat(d2);
-        arglistTB = arglistTB.concat("&var2=");
-        arglistTB = arglistTB.concat(variable2);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        // alert("urlTimeBounds: " + urlTimeBounds);
-
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert("text: " + text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                // $("#Response").html(text);
-
-                var tb1 = data.time_bounds1;
-                var bds1 = String(tb1).split(",");
-                // alert("tb1: " + tb1);
-                // alert("bds1: " + bds1);
-                var lowerT1 = parseInt(bds1[0]);
-                // alert("inside ajax, lowerT1: " + lowerT1);
-                var upperT1 = parseInt(bds1[1]);
-                // alert("upperT1: " + upperT1);
-
-                var tb2 = data.time_bounds2;
-                var bds2 = String(tb2).split(",");
-                // alert("tb2: " + tb2);
-                // alert("bds2: " + bds2);
-                var lowerT2 = parseInt(bds2[0]);
-                // alert("inside ajax, lowerT2: " + lowerT2);
-                var upperT2 = parseInt(bds2[1]);
-                // alert("upperT2: " + upperT2);
-
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                // alert("t0: " + t0I);
-                // alert("t1: " + t1I);
-
-                var lowerT, upperT;
-                // compute the intersection of the two data bounds
-
-                if (lowerT1 == 0  || upperT1 == 0){ // no data-1
-                  alert("We do not have data for the data-1 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 == 0  || upperT2 == 0){ // no data-2
-                  alert("We do not have data for the data-2 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 > upperT1 || lowerT1 > upperT2) { // no intersection
-                  alert("The two data sets/vars do not have a common time range.");
-                  return;
-                }
-                else { // compute intersection
-                  if (lowerT1 > lowerT2) { // pick bigger lower time bound
-                    lowerT = lowerT1;
-                  }
-                  else {
-                    lowerT = lowerT2;
-                  }
-
-                  if (upperT1 > upperT2) { // pick smaller upper time bound
-                    upperT = upperT2;
-                  }
-                  else {
-                    upperT = upperT1;
-                  }
-                }
-                // alert("lowerT: " + lowerT);
-                // alert("upperT: " + upperT);
-
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    // $("#Response").html("<span style='color:red'>" + text + "</span>");
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert(text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                $("#Response").html(text);
-
-                var html = "<img src='"+data.url+"' width='820'/>";
-                // alert(html);
-                $("#Image").html(html);
-
-                // post dataUrl to textarea and enable download button
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-      });
-
-    });
-    
-  </script>
-</head>
-
-<body>
-<div class="container-fluid">
-<div class="row center1">
-<div class="col-sm-8 col-sm-offset-2 col-xs-12 color-head">
-<h3>Service: Conditional Sampling with One Variable</h3>
-This service sorts one variable by the values of another variable (environmental condition, e.g. SST) 
-and displays the averaged value of the first variable as a function of the bin value of the second variable.
-If the first variable is a two-dimensional variable, the plot will be a X-Y plot. 
-If the first variable is a three-dimensional variable, the plot will be a colored profile image. 
-</div> <!-- col-sm -->
-<div class="col-sm-offset-2">
-</div> <!-- col-sm -->
-</div> <!-- row center1 -->
-
-<div class="row level0">
-<div class="col-sm-12 col-lg-12 level0 color0">
-  <div id="dataBlock1">
-  </div>
-</div> <!-- col level0 -->
-
-<div class="col-sm-12 col-lg-12 level0 color1">
-  <div id="dataBlock2">
-  </div>
-
-  <div class="row row1">
-    <div class="col-sm-4 right1">
-      sampling variable binning specification:
-    </div>
-    <div class="col-sm-8 left1">
-      default: <input onclick="setDefault(1)" type="radio" name="default1" value="" id="radioDef1" checked>
-      customized: <input onclick="setCustomized(1)" type="radio" name="default1" value="" id="radioCus1">
-    </div>
-  </div>
-
-  <div class="row">
-    <div class="col-sm-4 right1">
-    </div>
-    <div class="col-sm-8 left1">
-      Min: <input id="min1" value="" alt="" size=3/> 
-      Max: <input id="max1" value="" alt="" size=3/>
-      number of bins: <input id="bins1" value="" alt="" size=3/>
-    </div>
-  </div>
-</div> <!-- col level0 -->
-
-</div> <!-- row level0 -->
-
-<div class="color3">
-<div class="row center1 subtitle1" >
-Data Subsetting
-</div> <!-- row -->
-<div class="row">
-  <div class="col-sm-4 right1">
-    <div id="monthSelect0"></div>
-  </div>
-  <div class="col-sm-8 left1">
-    <div id="monthSelect"></div>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-4 right1">
-    <div id=startYear>start year-month:</div>
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="t0" value="2004-01" alt="start"/>
-  </div>
-
-  <div class="col-sm-4 right1">
-    <div id=endYear>end year-month:</div>
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="t1" value="2004-12" alt="start"/>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-4 right1">
-    start lon (deg):
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="lon0" value="0"/>
-  </div>
-  <div class="col-sm-4 right1">
-    end lon (deg):
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="lon1" value="360"/>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-4 right1">
-    start lat (deg):
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="lat0" value="-90"/>
-  </div>
-  <div class="col-sm-4 right1">
-    end lat (deg):
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="lat1" value="90"/>
-  </div>
-</div> <!-- row -->
-
-</div> <!-- color3 -->
-
-<div class="color2">
-<div class="row">
-  <div class="col-sm-12 center1 subtitle1">
-    Display Options:
-  </div>
-</div>
-
-<div class="row">
-  <div class="col-sm-6 right1">
-        X-axis (sampling variable) scale: 
-  </div>
-  <div class="col-sm-6 left1">
-        <form><input type="radio" name="scale1" value="linear" id="radioXLin" checked>linear
-        <input type="radio" name="scale1" value="logarithmic" id="radioXLog">logarithmic
-        </form>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-6 right1">
-        y-axis (sampling variable or pressure) scale:
-  </div>
-  <div class="col-sm-6 left1">
-        <form><input type="radio" name="scale1" value="linear" id="radioYLin" checked>linear
-        <input type="radio" name="scale1" value="logarithmic" id="radioYLog">logarithmic
-        </form>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-6 right1">
-        z-axis (color) scale: 
-  </div>
-  <div class="col-sm-6 left1">
-        <form><input type="radio" name="scale1" value="linear" id="radioZLin" checked>linear
-        <input type="radio" name="scale1" value="logarithmic" id="radioZLog">logarithmic
-        </form>
-  </div>
-</div> <!-- row -->
-</div> <!-- color2 -->
-
-<div class="color3">
-<div class="row">
-  <div class="col-sm-4 right1">
-    Execution purpose:
-  </div> <!-- col -->
-  <div class="col-sm-8 left1">
-    <form>
-    <textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-    </form>
-  </div> <!-- col -->
-</div> <!-- row -->
-</div> <!-- color2 -->
-
-<div class="color4">
-<div class="row">
-  <div class="col-sm-6 center1">
-    <input id="conditionalSamp" type="submit" value="            Get  Plot            " style="height:28px"/>
-  </div>
-  <div class="col-sm-6 center1">
-    <form>
-      <input id="download_data" type="button" value="Download Data" style="height:28px"/>
-    </form>
-  </div>
-</div> <!-- row -->
-</div> <!-- color4 -->
- 			
-<div class="row" center1>
-  <div class="col-sm-12 center1">
-    <div id="Image">Image Here</div>
-  </div>
-</div> <!-- row -->
-
-<div class="row" >
-  <div class="col-sm-12 center1">
-    <textarea readonly id="data_url" cols="150" rows="2">Data URL Here</textarea>
-  </div>
-</div> <!-- row -->
-
-<div class="row" center1>
-  <div class="col-sm-12 center1">
-    <textarea id="Response" cols="150" rows="6">Service Response Text Here</textarea>
-  </div>
-</div> <!-- row -->
-
-</div> <!-- container -->
-</body>
-</html>



[18/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/bootstrap-editable.min.js
----------------------------------------------------------------------
diff --git a/public/javascripts/bootstrap-editable.min.js b/public/javascripts/bootstrap-editable.min.js
deleted file mode 100644
index e2703ae..0000000
--- a/public/javascripts/bootstrap-editable.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*! X-editable - v1.5.1 
-* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
-* http://github.com/vitalets/x-editable
-* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
-!function(a){"use strict";var b=function(b,c){this.options=a.extend({},a.fn.editableform.defaults,c),this.$div=a(b),this.options.scope||(this.options.scope=this)};b.prototype={constructor:b,initInput:function(){this.input=this.options.input,this.value=this.input.str2value(this.options.value),this.input.prerender()},initTemplate:function(){this.$form=a(a.fn.editableform.template)},initButtons:function(){var b=this.$form.find(".editable-buttons");b.append(a.fn.editableform.buttons),"bottom"===this.options.showbuttons&&b.addClass("editable-buttons-bottom")},render:function(){this.$loading=a(a.fn.editableform.loading),this.$div.empty().append(this.$loading),this.initTemplate(),this.options.showbuttons?this.initButtons():this.$form.find(".editable-buttons").remove(),this.showLoading(),this.isSaving=!1,this.$div.triggerHandler("rendering"),this.initInput(),this.$form.find("div.editable-input").append(this.input.$tpl),this.$div.append(this.$form),a.when(this.input.render()).then(a.proxy(fu
 nction(){if(this.options.showbuttons||this.input.autosubmit(),this.$form.find(".editable-cancel").click(a.proxy(this.cancel,this)),this.input.error)this.error(this.input.error),this.$form.find(".editable-submit").attr("disabled",!0),this.input.$input.attr("disabled",!0),this.$form.submit(function(a){a.preventDefault()});else{this.error(!1),this.input.$input.removeAttr("disabled"),this.$form.find(".editable-submit").removeAttr("disabled");var b=null===this.value||void 0===this.value||""===this.value?this.options.defaultValue:this.value;this.input.value2input(b),this.$form.submit(a.proxy(this.submit,this))}this.$div.triggerHandler("rendered"),this.showForm(),this.input.postrender&&this.input.postrender()},this))},cancel:function(){this.$div.triggerHandler("cancel")},showLoading:function(){var a,b;this.$form?(a=this.$form.outerWidth(),b=this.$form.outerHeight(),a&&this.$loading.width(a),b&&this.$loading.height(b),this.$form.hide()):(a=this.$loading.parent().width(),a&&this.$loading.wid
 th(a)),this.$loading.show()},showForm:function(a){this.$loading.hide(),this.$form.show(),a!==!1&&this.input.activate(),this.$div.triggerHandler("show")},error:function(b){var c,d=this.$form.find(".control-group"),e=this.$form.find(".editable-error-block");if(b===!1)d.removeClass(a.fn.editableform.errorGroupClass),e.removeClass(a.fn.editableform.errorBlockClass).empty().hide();else{if(b){c=(""+b).split("\n");for(var f=0;f<c.length;f++)c[f]=a("<div>").text(c[f]).html();b=c.join("<br>")}d.addClass(a.fn.editableform.errorGroupClass),e.addClass(a.fn.editableform.errorBlockClass).html(b).show()}},submit:function(b){b.stopPropagation(),b.preventDefault();var c=this.input.input2value(),d=this.validate(c);if("object"===a.type(d)&&void 0!==d.newValue){if(c=d.newValue,this.input.value2input(c),"string"==typeof d.msg)return this.error(d.msg),this.showForm(),void 0}else if(d)return this.error(d),this.showForm(),void 0;if(!this.options.savenochange&&this.input.value2str(c)==this.input.value2str(t
 his.value))return this.$div.triggerHandler("nochange"),void 0;var e=this.input.value2submit(c);this.isSaving=!0,a.when(this.save(e)).done(a.proxy(function(a){this.isSaving=!1;var b="function"==typeof this.options.success?this.options.success.call(this.options.scope,a,c):null;return b===!1?(this.error(!1),this.showForm(!1),void 0):"string"==typeof b?(this.error(b),this.showForm(),void 0):(b&&"object"==typeof b&&b.hasOwnProperty("newValue")&&(c=b.newValue),this.error(!1),this.value=c,this.$div.triggerHandler("save",{newValue:c,submitValue:e,response:a}),void 0)},this)).fail(a.proxy(function(a){this.isSaving=!1;var b;b="function"==typeof this.options.error?this.options.error.call(this.options.scope,a,c):"string"==typeof a?a:a.responseText||a.statusText||"Unknown error!",this.error(b),this.showForm()},this))},save:function(b){this.options.pk=a.fn.editableutils.tryParseJson(this.options.pk,!0);var c,d="function"==typeof this.options.pk?this.options.pk.call(this.options.scope):this.option
 s.pk,e=!!("function"==typeof this.options.url||this.options.url&&("always"===this.options.send||"auto"===this.options.send&&null!==d&&void 0!==d));return e?(this.showLoading(),c={name:this.options.name||"",value:b,pk:d},"function"==typeof this.options.params?c=this.options.params.call(this.options.scope,c):(this.options.params=a.fn.editableutils.tryParseJson(this.options.params,!0),a.extend(c,this.options.params)),"function"==typeof this.options.url?this.options.url.call(this.options.scope,c):a.ajax(a.extend({url:this.options.url,data:c,type:"POST"},this.options.ajaxOptions))):void 0},validate:function(a){return void 0===a&&(a=this.value),"function"==typeof this.options.validate?this.options.validate.call(this.options.scope,a):void 0},option:function(a,b){a in this.options&&(this.options[a]=b),"value"===a&&this.setValue(b)},setValue:function(a,b){this.value=b?this.input.str2value(a):a,this.$form&&this.$form.is(":visible")&&this.input.value2input(this.value)}},a.fn.editableform=funct
 ion(c){var d=arguments;return this.each(function(){var e=a(this),f=e.data("editableform"),g="object"==typeof c&&c;f||e.data("editableform",f=new b(this,g)),"string"==typeof c&&f[c].apply(f,Array.prototype.slice.call(d,1))})},a.fn.editableform.Constructor=b,a.fn.editableform.defaults={type:"text",url:null,params:null,name:null,pk:null,value:null,defaultValue:null,send:"auto",validate:null,success:null,error:null,ajaxOptions:null,showbuttons:!0,scope:null,savenochange:!1},a.fn.editableform.template='<form class="form-inline editableform"><div class="control-group"><div><div class="editable-input"></div><div class="editable-buttons"></div></div><div class="editable-error-block"></div></div></form>',a.fn.editableform.loading='<div class="editableform-loading"></div>',a.fn.editableform.buttons='<button type="submit" class="editable-submit">ok</button><button type="button" class="editable-cancel">cancel</button>',a.fn.editableform.errorGroupClass=null,a.fn.editableform.errorBlockClass="ed
 itable-error",a.fn.editableform.engine="jquery"}(window.jQuery),function(a){"use strict";a.fn.editableutils={inherit:function(a,b){var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a,a.superclass=b.prototype},setCursorPosition:function(a,b){if(a.setSelectionRange)a.setSelectionRange(b,b);else if(a.createTextRange){var c=a.createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",b),c.select()}},tryParseJson:function(a,b){if("string"==typeof a&&a.length&&a.match(/^[\{\[].*[\}\]]$/))if(b)try{a=new Function("return "+a)()}catch(c){}finally{return a}else a=new Function("return "+a)();return a},sliceObj:function(b,c,d){var e,f,g={};if(!a.isArray(c)||!c.length)return g;for(var h=0;h<c.length;h++)e=c[h],b.hasOwnProperty(e)&&(g[e]=b[e]),d!==!0&&(f=e.toLowerCase(),b.hasOwnProperty(f)&&(g[e]=b[f]));return g},getConfigData:function(b){var c={};return a.each(b.data(),function(a,b){("object"!=typeof b||b&&"object"==typeof b&&(b.construct
 or===Object||b.constructor===Array))&&(c[a]=b)}),c},objectKeys:function(a){if(Object.keys)return Object.keys(a);if(a!==Object(a))throw new TypeError("Object.keys called on a non-object");var b,c=[];for(b in a)Object.prototype.hasOwnProperty.call(a,b)&&c.push(b);return c},escape:function(b){return a("<div>").text(b).html()},itemsByValue:function(b,c,d){if(!c||null===b)return[];if("function"!=typeof d){var e=d||"value";d=function(a){return a[e]}}var f=a.isArray(b),g=[],h=this;return a.each(c,function(c,e){if(e.children)g=g.concat(h.itemsByValue(b,e.children,d));else if(f)a.grep(b,function(a){return a==(e&&"object"==typeof e?d(e):e)}).length&&g.push(e);else{var i=e&&"object"==typeof e?d(e):e;b==i&&g.push(e)}}),g},createInput:function(b){var c,d,e,f=b.type;return"date"===f&&("inline"===b.mode?a.fn.editabletypes.datefield?f="datefield":a.fn.editabletypes.dateuifield&&(f="dateuifield"):a.fn.editabletypes.date?f="date":a.fn.editabletypes.dateui&&(f="dateui"),"date"!==f||a.fn.editabletypes.
 date||(f="combodate")),"datetime"===f&&"inline"===b.mode&&(f="datetimefield"),"wysihtml5"!==f||a.fn.editabletypes[f]||(f="textarea"),"function"==typeof a.fn.editabletypes[f]?(c=a.fn.editabletypes[f],d=this.sliceObj(b,this.objectKeys(c.defaults)),e=new c(d)):(a.error("Unknown type: "+f),!1)},supportsTransitions:function(){var a=document.body||document.documentElement,b=a.style,c="transition",d=["Moz","Webkit","Khtml","O","ms"];if("string"==typeof b[c])return!0;c=c.charAt(0).toUpperCase()+c.substr(1);for(var e=0;e<d.length;e++)if("string"==typeof b[d[e]+c])return!0;return!1}}}(window.jQuery),function(a){"use strict";var b=function(a,b){this.init(a,b)},c=function(a,b){this.init(a,b)};b.prototype={containerName:null,containerDataName:null,innerCss:null,containerClass:"editable-container editable-popup",defaults:{},init:function(c,d){this.$element=a(c),this.options=a.extend({},a.fn.editableContainer.defaults,d),this.splitOptions(),this.formOptions.scope=this.$element[0],this.initContaine
 r(),this.delayedHide=!1,this.$element.on("destroyed",a.proxy(function(){this.destroy()},this)),a(document).data("editable-handlers-attached")||(a(document).on("keyup.editable",function(b){27===b.which&&a(".editable-open").editableContainer("hide")}),a(document).on("click.editable",function(c){var d,e=a(c.target),f=[".editable-container",".ui-datepicker-header",".datepicker",".modal-backdrop",".bootstrap-wysihtml5-insert-image-modal",".bootstrap-wysihtml5-insert-link-modal"];if(a.contains(document.documentElement,c.target)&&!e.is(document)){for(d=0;d<f.length;d++)if(e.is(f[d])||e.parents(f[d]).length)return;b.prototype.closeOthers(c.target)}}),a(document).data("editable-handlers-attached",!0))},splitOptions:function(){if(this.containerOptions={},this.formOptions={},!a.fn[this.containerName])throw new Error(this.containerName+" not found. Have you included corresponding js file?");for(var b in this.options)b in this.defaults?this.containerOptions[b]=this.options[b]:this.formOptions[b]
 =this.options[b]},tip:function(){return this.container()?this.container().$tip:null},container:function(){var a;return this.containerDataName&&(a=this.$element.data(this.containerDataName))?a:a=this.$element.data(this.containerName)},call:function(){this.$element[this.containerName].apply(this.$element,arguments)},initContainer:function(){this.call(this.containerOptions)},renderForm:function(){this.$form.editableform(this.formOptions).on({save:a.proxy(this.save,this),nochange:a.proxy(function(){this.hide("nochange")},this),cancel:a.proxy(function(){this.hide("cancel")},this),show:a.proxy(function(){this.delayedHide?(this.hide(this.delayedHide.reason),this.delayedHide=!1):this.setPosition()},this),rendering:a.proxy(this.setPosition,this),resize:a.proxy(this.setPosition,this),rendered:a.proxy(function(){this.$element.triggerHandler("shown",a(this.options.scope).data("editable"))},this)}).editableform("render")},show:function(b){this.$element.addClass("editable-open"),b!==!1&&this.clos
 eOthers(this.$element[0]),this.innerShow(),this.tip().addClass(this.containerClass),this.$form,this.$form=a("<div>"),this.tip().is(this.innerCss)?this.tip().append(this.$form):this.tip().find(this.innerCss).append(this.$form),this.renderForm()},hide:function(a){if(this.tip()&&this.tip().is(":visible")&&this.$element.hasClass("editable-open")){if(this.$form.data("editableform").isSaving)return this.delayedHide={reason:a},void 0;this.delayedHide=!1,this.$element.removeClass("editable-open"),this.innerHide(),this.$element.triggerHandler("hidden",a||"manual")}},innerShow:function(){},innerHide:function(){},toggle:function(a){this.container()&&this.tip()&&this.tip().is(":visible")?this.hide():this.show(a)},setPosition:function(){},save:function(a,b){this.$element.triggerHandler("save",b),this.hide("save")},option:function(a,b){this.options[a]=b,a in this.containerOptions?(this.containerOptions[a]=b,this.setContainerOption(a,b)):(this.formOptions[a]=b,this.$form&&this.$form.editableform("
 option",a,b))},setContainerOption:function(a,b){this.call("option",a,b)},destroy:function(){this.hide(),this.innerDestroy(),this.$element.off("destroyed"),this.$element.removeData("editableContainer")},innerDestroy:function(){},closeOthers:function(b){a(".editable-open").each(function(c,d){if(d!==b&&!a(d).find(b).length){var e=a(d),f=e.data("editableContainer");f&&("cancel"===f.options.onblur?e.data("editableContainer").hide("onblur"):"submit"===f.options.onblur&&e.data("editableContainer").tip().find("form").submit())}})},activate:function(){this.tip&&this.tip().is(":visible")&&this.$form&&this.$form.data("editableform").input.activate()}},a.fn.editableContainer=function(d){var e=arguments;return this.each(function(){var f=a(this),g="editableContainer",h=f.data(g),i="object"==typeof d&&d,j="inline"===i.mode?c:b;h||f.data(g,h=new j(this,i)),"string"==typeof d&&h[d].apply(h,Array.prototype.slice.call(e,1))})},a.fn.editableContainer.Popup=b,a.fn.editableContainer.Inline=c,a.fn.editabl
 eContainer.defaults={value:null,placement:"top",autohide:!0,onblur:"cancel",anim:!1,mode:"popup"},jQuery.event.special.destroyed={remove:function(a){a.handler&&a.handler()}}}(window.jQuery),function(a){"use strict";a.extend(a.fn.editableContainer.Inline.prototype,a.fn.editableContainer.Popup.prototype,{containerName:"editableform",innerCss:".editable-inline",containerClass:"editable-container editable-inline",initContainer:function(){this.$tip=a("<span></span>"),this.options.anim||(this.options.anim=0)},splitOptions:function(){this.containerOptions={},this.formOptions=this.options},tip:function(){return this.$tip},innerShow:function(){this.$element.hide(),this.tip().insertAfter(this.$element).show()},innerHide:function(){this.$tip.hide(this.options.anim,a.proxy(function(){this.$element.show(),this.innerDestroy()},this))},innerDestroy:function(){this.tip()&&this.tip().empty().remove()}})}(window.jQuery),function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.ex
 tend({},a.fn.editable.defaults,c,a.fn.editableutils.getConfigData(this.$element)),this.options.selector?this.initLive():this.init(),this.options.highlight&&!a.fn.editableutils.supportsTransitions()&&(this.options.highlight=!1)};b.prototype={constructor:b,init:function(){var b,c=!1;if(this.options.name=this.options.name||this.$element.attr("id"),this.options.scope=this.$element[0],this.input=a.fn.editableutils.createInput(this.options),this.input){switch(void 0===this.options.value||null===this.options.value?(this.value=this.input.html2value(a.trim(this.$element.html())),c=!0):(this.options.value=a.fn.editableutils.tryParseJson(this.options.value,!0),this.value="string"==typeof this.options.value?this.input.str2value(this.options.value):this.options.value),this.$element.addClass("editable"),"textarea"===this.input.type&&this.$element.addClass("editable-pre-wrapped"),"manual"!==this.options.toggle?(this.$element.addClass("editable-click"),this.$element.on(this.options.toggle+".editabl
 e",a.proxy(function(a){if(this.options.disabled||a.preventDefault(),"mouseenter"===this.options.toggle)this.show();else{var b="click"!==this.options.toggle;this.toggle(b)}},this))):this.$element.attr("tabindex",-1),"function"==typeof this.options.display&&(this.options.autotext="always"),this.options.autotext){case"always":b=!0;break;case"auto":b=!a.trim(this.$element.text()).length&&null!==this.value&&void 0!==this.value&&!c;break;default:b=!1}a.when(b?this.render():!0).then(a.proxy(function(){this.options.disabled?this.disable():this.enable(),this.$element.triggerHandler("init",this)},this))}},initLive:function(){var b=this.options.selector;this.options.selector=!1,this.options.autotext="never",this.$element.on(this.options.toggle+".editable",b,a.proxy(function(b){var c=a(b.target);c.data("editable")||(c.hasClass(this.options.emptyclass)&&c.empty(),c.editable(this.options).trigger(b))},this))},render:function(a){return this.options.display!==!1?this.input.value2htmlFinal?this.inpu
 t.value2html(this.value,this.$element[0],this.options.display,a):"function"==typeof this.options.display?this.options.display.call(this.$element[0],this.value,a):this.input.value2html(this.value,this.$element[0]):void 0},enable:function(){this.options.disabled=!1,this.$element.removeClass("editable-disabled"),this.handleEmpty(this.isEmpty),"manual"!==this.options.toggle&&"-1"===this.$element.attr("tabindex")&&this.$element.removeAttr("tabindex")},disable:function(){this.options.disabled=!0,this.hide(),this.$element.addClass("editable-disabled"),this.handleEmpty(this.isEmpty),this.$element.attr("tabindex",-1)},toggleDisabled:function(){this.options.disabled?this.enable():this.disable()},option:function(b,c){return b&&"object"==typeof b?(a.each(b,a.proxy(function(b,c){this.option(a.trim(b),c)},this)),void 0):(this.options[b]=c,"disabled"===b?c?this.disable():this.enable():("value"===b&&this.setValue(c),this.container&&this.container.option(b,c),this.input.option&&this.input.option(b,c
 ),void 0))},handleEmpty:function(b){this.options.display!==!1&&(this.isEmpty=void 0!==b?b:"function"==typeof this.input.isEmpty?this.input.isEmpty(this.$element):""===a.trim(this.$element.html()),this.options.disabled?this.isEmpty&&(this.$element.empty(),this.options.emptyclass&&this.$element.removeClass(this.options.emptyclass)):this.isEmpty?(this.$element.html(this.options.emptytext),this.options.emptyclass&&this.$element.addClass(this.options.emptyclass)):this.options.emptyclass&&this.$element.removeClass(this.options.emptyclass))},show:function(b){if(!this.options.disabled){if(this.container){if(this.container.tip().is(":visible"))return}else{var c=a.extend({},this.options,{value:this.value,input:this.input});this.$element.editableContainer(c),this.$element.on("save.internal",a.proxy(this.save,this)),this.container=this.$element.data("editableContainer")}this.container.show(b)}},hide:function(){this.container&&this.container.hide()},toggle:function(a){this.container&&this.contai
 ner.tip().is(":visible")?this.hide():this.show(a)},save:function(a,b){if(this.options.unsavedclass){var c=!1;c=c||"function"==typeof this.options.url,c=c||this.options.display===!1,c=c||void 0!==b.response,c=c||this.options.savenochange&&this.input.value2str(this.value)!==this.input.value2str(b.newValue),c?this.$element.removeClass(this.options.unsavedclass):this.$element.addClass(this.options.unsavedclass)}if(this.options.highlight){var d=this.$element,e=d.css("background-color");d.css("background-color",this.options.highlight),setTimeout(function(){"transparent"===e&&(e=""),d.css("background-color",e),d.addClass("editable-bg-transition"),setTimeout(function(){d.removeClass("editable-bg-transition")},1700)},10)}this.setValue(b.newValue,!1,b.response)},validate:function(){return"function"==typeof this.options.validate?this.options.validate.call(this,this.value):void 0},setValue:function(b,c,d){this.value=c?this.input.str2value(b):b,this.container&&this.container.option("value",this.
 value),a.when(this.render(d)).then(a.proxy(function(){this.handleEmpty()},this))},activate:function(){this.container&&this.container.activate()},destroy:function(){this.disable(),this.container&&this.container.destroy(),this.input.destroy(),"manual"!==this.options.toggle&&(this.$element.removeClass("editable-click"),this.$element.off(this.options.toggle+".editable")),this.$element.off("save.internal"),this.$element.removeClass("editable editable-open editable-disabled"),this.$element.removeData("editable")}},a.fn.editable=function(c){var d={},e=arguments,f="editable";switch(c){case"validate":return this.each(function(){var b,c=a(this),e=c.data(f);e&&(b=e.validate())&&(d[e.options.name]=b)}),d;case"getValue":return 2===arguments.length&&arguments[1]===!0?d=this.eq(0).data(f).value:this.each(function(){var b=a(this),c=b.data(f);c&&void 0!==c.value&&null!==c.value&&(d[c.options.name]=c.input.value2submit(c.value))}),d;case"submit":var g=arguments[1]||{},h=this,i=this.editable("validate
 ");if(a.isEmptyObject(i)){var j={};if(1===h.length){var k=h.data("editable"),l={name:k.options.name||"",value:k.input.value2submit(k.value),pk:"function"==typeof k.options.pk?k.options.pk.call(k.options.scope):k.options.pk};"function"==typeof k.options.params?l=k.options.params.call(k.options.scope,l):(k.options.params=a.fn.editableutils.tryParseJson(k.options.params,!0),a.extend(l,k.options.params)),j={url:k.options.url,data:l,type:"POST"},g.success=g.success||k.options.success,g.error=g.error||k.options.error}else{var m=this.editable("getValue");j={url:g.url,data:m,type:"POST"}}j.success="function"==typeof g.success?function(a){g.success.call(h,a,g)}:a.noop,j.error="function"==typeof g.error?function(){g.error.apply(h,arguments)}:a.noop,g.ajaxOptions&&a.extend(j,g.ajaxOptions),g.data&&a.extend(j.data,g.data),a.ajax(j)}else"function"==typeof g.error&&g.error.call(h,i);return this}return this.each(function(){var d=a(this),g=d.data(f),h="object"==typeof c&&c;return h&&h.selector?(g=n
 ew b(this,h),void 0):(g||d.data(f,g=new b(this,h)),"string"==typeof c&&g[c].apply(g,Array.prototype.slice.call(e,1)),void 0)})},a.fn.editable.defaults={type:"text",disabled:!1,toggle:"click",emptytext:"Empty",autotext:"auto",value:null,display:null,emptyclass:"editable-empty",unsavedclass:"editable-unsaved",selector:null,highlight:"#FFFF80"}}(window.jQuery),function(a){"use strict";a.fn.editabletypes={};var b=function(){};b.prototype={init:function(b,c,d){this.type=b,this.options=a.extend({},d,c)},prerender:function(){this.$tpl=a(this.options.tpl),this.$input=this.$tpl,this.$clear=null,this.error=null},render:function(){},value2html:function(b,c){a(c)[this.options.escape?"text":"html"](a.trim(b))},html2value:function(b){return a("<div>").html(b).text()},value2str:function(a){return a},str2value:function(a){return a},value2submit:function(a){return a},value2input:function(a){this.$input.val(a)},input2value:function(){return this.$input.val()},activate:function(){this.$input.is(":visi
 ble")&&this.$input.focus()},clear:function(){this.$input.val(null)},escape:function(b){return a("<div>").text(b).html()},autosubmit:function(){},destroy:function(){},setClass:function(){this.options.inputclass&&this.$input.addClass(this.options.inputclass)},setAttr:function(a){void 0!==this.options[a]&&null!==this.options[a]&&this.$input.attr(a,this.options[a])},option:function(a,b){this.options[a]=b}},b.defaults={tpl:"",inputclass:null,escape:!0,scope:null,showbuttons:!0},a.extend(a.fn.editabletypes,{abstractinput:b})}(window.jQuery),function(a){"use strict";var b=function(){};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){var b=a.Deferred();return this.error=null,this.onSourceReady(function(){this.renderList(),b.resolve()},function(){this.error=this.options.sourceError,b.resolve()}),b.promise()},html2value:function(){return null},value2html:function(b,c,d,e){var f=a.Deferred(),g=function(){"function"==typeof d?d.call(c,b,this
 .sourceData,e):this.value2htmlFinal(b,c),f.resolve()};return null===b?g.call(this):this.onSourceReady(g,function(){f.resolve()}),f.promise()},onSourceReady:function(b,c){var d;if(a.isFunction(this.options.source)?(d=this.options.source.call(this.options.scope),this.sourceData=null):d=this.options.source,this.options.sourceCache&&a.isArray(this.sourceData))return b.call(this),void 0;try{d=a.fn.editableutils.tryParseJson(d,!1)}catch(e){return c.call(this),void 0}if("string"==typeof d){if(this.options.sourceCache){var f,g=d;if(a(document).data(g)||a(document).data(g,{}),f=a(document).data(g),f.loading===!1&&f.sourceData)return this.sourceData=f.sourceData,this.doPrepend(),b.call(this),void 0;if(f.loading===!0)return f.callbacks.push(a.proxy(function(){this.sourceData=f.sourceData,this.doPrepend(),b.call(this)},this)),f.err_callbacks.push(a.proxy(c,this)),void 0;f.loading=!0,f.callbacks=[],f.err_callbacks=[]}var h=a.extend({url:d,type:"get",cache:!1,dataType:"json",success:a.proxy(funct
 ion(d){f&&(f.loading=!1),this.sourceData=this.makeArray(d),a.isArray(this.sourceData)?(f&&(f.sourceData=this.sourceData,a.each(f.callbacks,function(){this.call()})),this.doPrepend(),b.call(this)):(c.call(this),f&&a.each(f.err_callbacks,function(){this.call()}))},this),error:a.proxy(function(){c.call(this),f&&(f.loading=!1,a.each(f.err_callbacks,function(){this.call()}))},this)},this.options.sourceOptions);a.ajax(h)}else this.sourceData=this.makeArray(d),a.isArray(this.sourceData)?(this.doPrepend(),b.call(this)):c.call(this)},doPrepend:function(){null!==this.options.prepend&&void 0!==this.options.prepend&&(a.isArray(this.prependData)||(a.isFunction(this.options.prepend)&&(this.options.prepend=this.options.prepend.call(this.options.scope)),this.options.prepend=a.fn.editableutils.tryParseJson(this.options.prepend,!0),"string"==typeof this.options.prepend&&(this.options.prepend={"":this.options.prepend}),this.prependData=this.makeArray(this.options.prepend)),a.isArray(this.prependData)&
 &a.isArray(this.sourceData)&&(this.sourceData=this.prependData.concat(this.sourceData)))},renderList:function(){},value2htmlFinal:function(){},makeArray:function(b){var c,d,e,f,g=[];if(!b||"string"==typeof b)return null;if(a.isArray(b)){f=function(a,b){return d={value:a,text:b},c++>=2?!1:void 0};for(var h=0;h<b.length;h++)e=b[h],"object"==typeof e?(c=0,a.each(e,f),1===c?g.push(d):c>1&&(e.children&&(e.children=this.makeArray(e.children)),g.push(e))):g.push({value:e,text:e})}else a.each(b,function(a,b){g.push({value:a,text:b})});return g},option:function(a,b){this.options[a]=b,"source"===a&&(this.sourceData=null),"prepend"===a&&(this.prependData=null)}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{source:null,prepend:!1,sourceError:"Error when loading list",sourceCache:!0,sourceOptions:null}),a.fn.editabletypes.list=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("text",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstract
 input),a.extend(b.prototype,{render:function(){this.renderClear(),this.setClass(),this.setAttr("placeholder")},activate:function(){this.$input.is(":visible")&&(this.$input.focus(),a.fn.editableutils.setCursorPosition(this.$input.get(0),this.$input.val().length),this.toggleClear&&this.toggleClear())},renderClear:function(){this.options.clear&&(this.$clear=a('<span class="editable-clear-x"></span>'),this.$input.after(this.$clear).css("padding-right",24).keyup(a.proxy(function(b){if(!~a.inArray(b.keyCode,[40,38,9,13,27])){clearTimeout(this.t);var c=this;this.t=setTimeout(function(){c.toggleClear(b)},100)}},this)).parent().css("position","relative"),this.$clear.click(a.proxy(this.clear,this)))},postrender:function(){},toggleClear:function(){if(this.$clear){var a=this.$input.val().length,b=this.$clear.is(":visible");a&&!b&&this.$clear.show(),!a&&b&&this.$clear.hide()}},clear:function(){this.$clear.hide(),this.$input.val("").focus()}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinp
 ut.defaults,{tpl:'<input type="text">',placeholder:null,clear:!0}),a.fn.editabletypes.text=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("textarea",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.setClass(),this.setAttr("placeholder"),this.setAttr("rows"),this.$input.keydown(function(b){b.ctrlKey&&13===b.which&&a(this).closest("form").submit()})},activate:function(){a.fn.editabletypes.text.prototype.activate.call(this)}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:"<textarea></textarea>",inputclass:"input-large",placeholder:null,rows:7}),a.fn.editabletypes.textarea=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("select",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.list),a.extend(b.prototype,{renderList:function(){this.$input.empty();var b=function(c,d){var e;if(a.isArray(d))for(var f=0;f<d.length;f++)e={},d[f].childr
 en?(e.label=d[f].text,c.append(b(a("<optgroup>",e),d[f].children))):(e.value=d[f].value,d[f].disabled&&(e.disabled=!0),c.append(a("<option>",e).text(d[f].text)));return c};b(this.$input,this.sourceData),this.setClass(),this.$input.on("keydown.editable",function(b){13===b.which&&a(this).closest("form").submit()})},value2htmlFinal:function(b,c){var d="",e=a.fn.editableutils.itemsByValue(b,this.sourceData);e.length&&(d=e[0].text),a.fn.editabletypes.abstractinput.prototype.value2html.call(this,d,c)},autosubmit:function(){this.$input.off("keydown.editable").on("change.editable",function(){a(this).closest("form").submit()})}}),b.defaults=a.extend({},a.fn.editabletypes.list.defaults,{tpl:"<select></select>"}),a.fn.editabletypes.select=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("checklist",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.list),a.extend(b.prototype,{renderList:function(){var b;if(this.$tpl.empty(),a.isArray(this.sourceData)){for(var 
 c=0;c<this.sourceData.length;c++)b=a("<label>").append(a("<input>",{type:"checkbox",value:this.sourceData[c].value})).append(a("<span>").text(" "+this.sourceData[c].text)),a("<div>").append(b).appendTo(this.$tpl);this.$input=this.$tpl.find('input[type="checkbox"]'),this.setClass()}},value2str:function(b){return a.isArray(b)?b.sort().join(a.trim(this.options.separator)):""},str2value:function(b){var c,d=null;return"string"==typeof b&&b.length?(c=new RegExp("\\s*"+a.trim(this.options.separator)+"\\s*"),d=b.split(c)):d=a.isArray(b)?b:[b],d},value2input:function(b){this.$input.prop("checked",!1),a.isArray(b)&&b.length&&this.$input.each(function(c,d){var e=a(d);a.each(b,function(a,b){e.val()==b&&e.prop("checked",!0)})})},input2value:function(){var b=[];return this.$input.filter(":checked").each(function(c,d){b.push(a(d).val())}),b},value2htmlFinal:function(b,c){var d=[],e=a.fn.editableutils.itemsByValue(b,this.sourceData),f=this.options.escape;e.length?(a.each(e,function(b,c){var e=f?a.f
 n.editableutils.escape(c.text):c.text;d.push(e)}),a(c).html(d.join("<br>"))):a(c).empty()},activate:function(){this.$input.first().focus()},autosubmit:function(){this.$input.on("keydown",function(b){13===b.which&&a(this).closest("form").submit()})}}),b.defaults=a.extend({},a.fn.editabletypes.list.defaults,{tpl:'<div class="editable-checklist"></div>',inputclass:null,separator:","}),a.fn.editabletypes.checklist=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("password",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),a.extend(b.prototype,{value2html:function(b,c){b?a(c).text("[hidden]"):a(c).empty()},html2value:function(){return null}}),b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input type="password">'}),a.fn.editabletypes.password=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("email",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),b.defaults=a.extend({},a.fn.editabletypes.tex
 t.defaults,{tpl:'<input type="email">'}),a.fn.editabletypes.email=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("url",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input type="url">'}),a.fn.editabletypes.url=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("tel",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input type="tel">'}),a.fn.editabletypes.tel=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("number",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),a.extend(b.prototype,{render:function(){b.superclass.render.call(this),this.setAttr("min"),this.setAttr("max"),this.setAttr("step")},postrender:function(){this.$clear&&this.$clear.css({right:24})}}),b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input type="nu
 mber">',inputclass:"input-mini",min:null,max:null,step:null}),a.fn.editabletypes.number=b}(window.jQuery),function(a){"use strict";
-var b=function(a){this.init("range",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.number),a.extend(b.prototype,{render:function(){this.$input=this.$tpl.filter("input"),this.setClass(),this.setAttr("min"),this.setAttr("max"),this.setAttr("step"),this.$input.on("input",function(){a(this).siblings("output").text(a(this).val())})},activate:function(){this.$input.focus()}}),b.defaults=a.extend({},a.fn.editabletypes.number.defaults,{tpl:'<input type="range"><output style="width: 30px; display: inline-block"></output>',inputclass:"input-medium"}),a.fn.editabletypes.range=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("time",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.setClass()}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="time">'}),a.fn.editabletypes.time=b}(window.jQuery),function(a){"use strict";var b=function(c){if(this.init("s
 elect2",c,b.defaults),c.select2=c.select2||{},this.sourceData=null,c.placeholder&&(c.select2.placeholder=c.placeholder),!c.select2.tags&&c.source){var d=c.source;a.isFunction(c.source)&&(d=c.source.call(c.scope)),"string"==typeof d?(c.select2.ajax=c.select2.ajax||{},c.select2.ajax.data||(c.select2.ajax.data=function(a){return{query:a}}),c.select2.ajax.results||(c.select2.ajax.results=function(a){return{results:a}}),c.select2.ajax.url=d):(this.sourceData=this.convertSource(d),c.select2.data=this.sourceData)}if(this.options.select2=a.extend({},b.defaults.select2,c.select2),this.isMultiple=this.options.select2.tags||this.options.select2.multiple,this.isRemote="ajax"in this.options.select2,this.idFunc=this.options.select2.id,"function"!=typeof this.idFunc){var e=this.idFunc||"id";this.idFunc=function(a){return a[e]}}this.formatSelection=this.options.select2.formatSelection,"function"!=typeof this.formatSelection&&(this.formatSelection=function(a){return a.text})};a.fn.editableutils.inhe
 rit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.setClass(),this.isRemote&&this.$input.on("select2-loaded",a.proxy(function(a){this.sourceData=a.items.results},this)),this.isMultiple&&this.$input.on("change",function(){a(this).closest("form").parent().triggerHandler("resize")})},value2html:function(c,d){var e,f="",g=this;this.options.select2.tags?e=c:this.sourceData&&(e=a.fn.editableutils.itemsByValue(c,this.sourceData,this.idFunc)),a.isArray(e)?(f=[],a.each(e,function(a,b){f.push(b&&"object"==typeof b?g.formatSelection(b):b)})):e&&(f=g.formatSelection(e)),f=a.isArray(f)?f.join(this.options.viewseparator):f,b.superclass.value2html.call(this,f,d)},html2value:function(a){return this.options.select2.tags?this.str2value(a,this.options.viewseparator):null},value2input:function(b){if(a.isArray(b)&&(b=b.join(this.getSeparator())),this.$input.data("select2")?this.$input.val(b).trigger("change",!0):(this.$input.val(b),this.$input.select2(this.options.selec
 t2)),this.isRemote&&!this.isMultiple&&!this.options.select2.initSelection){var c=this.options.select2.id,d=this.options.select2.formatSelection;if(!c&&!d){var e=a(this.options.scope);if(!e.data("editable").isEmpty){var f={id:b,text:e.text()};this.$input.select2("data",f)}}}},input2value:function(){return this.$input.select2("val")},str2value:function(b,c){if("string"!=typeof b||!this.isMultiple)return b;c=c||this.getSeparator();var d,e,f;if(null===b||b.length<1)return null;for(d=b.split(c),e=0,f=d.length;f>e;e+=1)d[e]=a.trim(d[e]);return d},autosubmit:function(){this.$input.on("change",function(b,c){c||a(this).closest("form").submit()})},getSeparator:function(){return this.options.select2.separator||a.fn.select2.defaults.separator},convertSource:function(b){if(a.isArray(b)&&b.length&&void 0!==b[0].value)for(var c=0;c<b.length;c++)void 0!==b[c].value&&(b[c].id=b[c].value,delete b[c].value);return b},destroy:function(){this.$input.data("select2")&&this.$input.select2("destroy")}}),b.d
 efaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="hidden">',select2:null,placeholder:null,source:null,viewseparator:", "}),a.fn.editabletypes.select2=b}(window.jQuery),function(a){var b=function(b,c){return this.$element=a(b),this.$element.is("input")?(this.options=a.extend({},a.fn.combodate.defaults,c,this.$element.data()),this.init(),void 0):(a.error("Combodate should be applied to INPUT element"),void 0)};b.prototype={constructor:b,init:function(){this.map={day:["D","date"],month:["M","month"],year:["Y","year"],hour:["[Hh]","hours"],minute:["m","minutes"],second:["s","seconds"],ampm:["[Aa]",""]},this.$widget=a('<span class="combodate"></span>').html(this.getTemplate()),this.initCombos(),this.$widget.on("change","select",a.proxy(function(b){this.$element.val(this.getValue()).change(),this.options.smartDays&&(a(b.target).is(".month")||a(b.target).is(".year"))&&this.fillCombo("day")},this)),this.$widget.find("select").css("width","auto"),this.$element.
 hide().after(this.$widget),this.setValue(this.$element.val()||this.options.value)},getTemplate:function(){var b=this.options.template;return a.each(this.map,function(a,c){c=c[0];var d=new RegExp(c+"+"),e=c.length>1?c.substring(1,2):c;b=b.replace(d,"{"+e+"}")}),b=b.replace(/ /g,"&nbsp;"),a.each(this.map,function(a,c){c=c[0];var d=c.length>1?c.substring(1,2):c;b=b.replace("{"+d+"}",'<select class="'+a+'"></select>')}),b},initCombos:function(){for(var a in this.map){var b=this.$widget.find("."+a);this["$"+a]=b.length?b:null,this.fillCombo(a)}},fillCombo:function(a){var b=this["$"+a];if(b){var c="fill"+a.charAt(0).toUpperCase()+a.slice(1),d=this[c](),e=b.val();b.empty();for(var f=0;f<d.length;f++)b.append('<option value="'+d[f][0]+'">'+d[f][1]+"</option>");b.val(e)}},fillCommon:function(a){var b,c=[];if("name"===this.options.firstItem){b=moment.relativeTime||moment.langData()._relativeTime;var d="function"==typeof b[a]?b[a](1,!0,a,!1):b[a];d=d.split(" ").reverse()[0],c.push(["",d])}else
 "empty"===this.options.firstItem&&c.push(["",""]);return c},fillDay:function(){var a,b,c=this.fillCommon("d"),d=-1!==this.options.template.indexOf("DD"),e=31;if(this.options.smartDays&&this.$month&&this.$year){var f=parseInt(this.$month.val(),10),g=parseInt(this.$year.val(),10);isNaN(f)||isNaN(g)||(e=moment([g,f]).daysInMonth())}for(b=1;e>=b;b++)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillMonth:function(){var a,b,c=this.fillCommon("M"),d=-1!==this.options.template.indexOf("MMMM"),e=-1!==this.options.template.indexOf("MMM"),f=-1!==this.options.template.indexOf("MM");for(b=0;11>=b;b++)a=d?moment().date(1).month(b).format("MMMM"):e?moment().date(1).month(b).format("MMM"):f?this.leadZero(b+1):b+1,c.push([b,a]);return c},fillYear:function(){var a,b,c=[],d=-1!==this.options.template.indexOf("YYYY");for(b=this.options.maxYear;b>=this.options.minYear;b--)a=d?b:(b+"").substring(2),c[this.options.yearDescending?"push":"unshift"]([b,a]);return c=this.fillCommon("y").concat(c)},fillHour:
 function(){var a,b,c=this.fillCommon("h"),d=-1!==this.options.template.indexOf("h"),e=(-1!==this.options.template.indexOf("H"),-1!==this.options.template.toLowerCase().indexOf("hh")),f=d?1:0,g=d?12:23;for(b=f;g>=b;b++)a=e?this.leadZero(b):b,c.push([b,a]);return c},fillMinute:function(){var a,b,c=this.fillCommon("m"),d=-1!==this.options.template.indexOf("mm");for(b=0;59>=b;b+=this.options.minuteStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillSecond:function(){var a,b,c=this.fillCommon("s"),d=-1!==this.options.template.indexOf("ss");for(b=0;59>=b;b+=this.options.secondStep)a=d?this.leadZero(b):b,c.push([b,a]);return c},fillAmpm:function(){var a=-1!==this.options.template.indexOf("a"),b=(-1!==this.options.template.indexOf("A"),[["am",a?"am":"AM"],["pm",a?"pm":"PM"]]);return b},getValue:function(b){var c,d={},e=this,f=!1;return a.each(this.map,function(a){if("ampm"!==a){var b="day"===a?1:0;return d[a]=e["$"+a]?parseInt(e["$"+a].val(),10):b,isNaN(d[a])?(f=!0,!1):void 0}}),f?"":(t
 his.$ampm&&(d.hour=12===d.hour?"am"===this.$ampm.val()?0:12:"am"===this.$ampm.val()?d.hour:d.hour+12),c=moment([d.year,d.month,d.day,d.hour,d.minute,d.second]),this.highlight(c),b=void 0===b?this.options.format:b,null===b?c.isValid()?c:null:c.isValid()?c.format(b):"")},setValue:function(b){function c(b,c){var d={};return b.children("option").each(function(b,e){var f,g=a(e).attr("value");""!==g&&(f=Math.abs(g-c),("undefined"==typeof d.distance||f<d.distance)&&(d={value:g,distance:f}))}),d.value}if(b){var d="string"==typeof b?moment(b,this.options.format):moment(b),e=this,f={};d.isValid()&&(a.each(this.map,function(a,b){"ampm"!==a&&(f[a]=d[b[1]]())}),this.$ampm&&(f.hour>=12?(f.ampm="pm",f.hour>12&&(f.hour-=12)):(f.ampm="am",0===f.hour&&(f.hour=12))),a.each(f,function(a,b){e["$"+a]&&("minute"===a&&e.options.minuteStep>1&&e.options.roundTime&&(b=c(e["$"+a],b)),"second"===a&&e.options.secondStep>1&&e.options.roundTime&&(b=c(e["$"+a],b)),e["$"+a].val(b))}),this.options.smartDays&&this.fil
 lCombo("day"),this.$element.val(d.format(this.options.format)).change())}},highlight:function(a){a.isValid()?this.options.errorClass?this.$widget.removeClass(this.options.errorClass):this.$widget.find("select").css("border-color",this.borderColor):this.options.errorClass?this.$widget.addClass(this.options.errorClass):(this.borderColor||(this.borderColor=this.$widget.find("select").css("border-color")),this.$widget.find("select").css("border-color","red"))},leadZero:function(a){return 9>=a?"0"+a:a},destroy:function(){this.$widget.remove(),this.$element.removeData("combodate").show()}},a.fn.combodate=function(c){var d,e=Array.apply(null,arguments);return e.shift(),"getValue"===c&&this.length&&(d=this.eq(0).data("combodate"))?d.getValue.apply(d,e):this.each(function(){var d=a(this),f=d.data("combodate"),g="object"==typeof c&&c;f||d.data("combodate",f=new b(this,g)),"string"==typeof c&&"function"==typeof f[c]&&f[c].apply(f,e)})},a.fn.combodate.defaults={format:"DD-MM-YYYY HH:mm",templat
 e:"D / MMM / YYYY   H : mm",value:null,minYear:1970,maxYear:2015,yearDescending:!0,minuteStep:5,secondStep:1,firstItem:"empty",errorClass:null,roundTime:!0,smartDays:!1}}(window.jQuery),function(a){"use strict";var b=function(c){this.init("combodate",c,b.defaults),this.options.viewformat||(this.options.viewformat=this.options.format),c.combodate=a.fn.editableutils.tryParseJson(c.combodate,!0),this.options.combodate=a.extend({},b.defaults.combodate,c.combodate,{format:this.options.format,template:this.options.template})};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.$input.combodate(this.options.combodate),"bs3"===a.fn.editableform.engine&&this.$input.siblings().find("select").addClass("form-control"),this.options.inputclass&&this.$input.siblings().find("select").addClass(this.options.inputclass)},value2html:function(a,c){var d=a?a.format(this.options.viewformat):"";b.superclass.value2html.call(this,d,c)},html2value:functi
 on(a){return a?moment(a,this.options.viewformat):null},value2str:function(a){return a?a.format(this.options.format):""},str2value:function(a){return a?moment(a,this.options.format):null},value2submit:function(a){return this.value2str(a)},value2input:function(a){this.$input.combodate("setValue",a)},input2value:function(){return this.$input.combodate("getValue",null)},activate:function(){this.$input.siblings(".combodate").find("select").eq(0).focus()},autosubmit:function(){}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="text">',inputclass:null,format:"YYYY-MM-DD",viewformat:null,template:"D / MMM / YYYY",combodate:null}),a.fn.editabletypes.combodate=b}(window.jQuery),function(a){"use strict";var b=a.fn.editableform.Constructor.prototype.initInput;a.extend(a.fn.editableform.Constructor.prototype,{initTemplate:function(){this.$form=a(a.fn.editableform.template),this.$form.find(".control-group").addClass("form-group"),this.$form.find(".editable-err
 or-block").addClass("help-block")},initInput:function(){b.apply(this);var c=null===this.input.options.inputclass||this.input.options.inputclass===!1,d="input-sm",e="text,select,textarea,password,email,url,tel,number,range,time,typeaheadjs".split(",");~a.inArray(this.input.type,e)&&(this.input.$input.addClass("form-control"),c&&(this.input.options.inputclass=d,this.input.$input.addClass(d)));for(var f=this.$form.find(".editable-buttons"),g=c?[d]:this.input.options.inputclass.split(" "),h=0;h<g.length;h++)"input-lg"===g[h].toLowerCase()&&f.find("button").removeClass("btn-sm").addClass("btn-lg")}}),a.fn.editableform.buttons='<button type="submit" class="btn btn-primary btn-sm editable-submit"><i class="glyphicon glyphicon-ok"></i></button><button type="button" class="btn btn-default btn-sm editable-cancel"><i class="glyphicon glyphicon-remove"></i></button>',a.fn.editableform.errorGroupClass="has-error",a.fn.editableform.errorBlockClass=null,a.fn.editableform.engine="bs3"}(window.jQuer
 y),function(a){"use strict";a.extend(a.fn.editableContainer.Popup.prototype,{containerName:"popover",containerDataName:"bs.popover",innerCss:".popover-content",defaults:a.fn.popover.Constructor.DEFAULTS,initContainer:function(){a.extend(this.containerOptions,{trigger:"manual",selector:!1,content:" ",template:this.defaults.template});var b;this.$element.data("template")&&(b=this.$element.data("template"),this.$element.removeData("template")),this.call(this.containerOptions),b&&this.$element.data("template",b)},innerShow:function(){this.call("show")},innerHide:function(){this.call("hide")},innerDestroy:function(){this.call("destroy")},setContainerOption:function(a,b){this.container().options[a]=b},setPosition:function(){!function(){var a=this.tip(),b="function"==typeof this.options.placement?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,c=/\s?auto?\s?/i,d=c.test(b);d&&(b=b.replace(c,"")||"top");var e=this.getPosition(),f=a[0].offsetWidth,g=a[0].offsetH
 eight;if(d){var h=this.$element.parent(),i=b,j=document.documentElement.scrollTop||document.body.scrollTop,k="body"==this.options.container?window.innerWidth:h.outerWidth(),l="body"==this.options.container?window.innerHeight:h.outerHeight(),m="body"==this.options.container?0:h.offset().left;b="bottom"==b&&e.top+e.height+g-j>l?"top":"top"==b&&e.top-j-g<0?"bottom":"right"==b&&e.right+f>k?"left":"left"==b&&e.left-f<m?"right":b,a.removeClass(i).addClass(b)}var n=this.getCalculatedOffset(b,e,f,g);this.applyPlacement(n,b)}.call(this.container())}})}(window.jQuery),function(a){function b(){return new Date(Date.UTC.apply(Date,arguments))}function c(b,c){var d,e=a(b).data(),f={},g=new RegExp("^"+c.toLowerCase()+"([A-Z])"),c=new RegExp("^"+c.toLowerCase());for(var h in e)c.test(h)&&(d=h.replace(g,function(a,b){return b.toLowerCase()}),f[d]=e[h]);return f}function d(b){var c={};if(k[b]||(b=b.split("-")[0],k[b])){var d=k[b];return a.each(j,function(a,b){b in d&&(c[b]=d[b])}),c}}var e=function(b
 ,c){this._process_options(c),this.element=a(b),this.isInline=!1,this.isInput=this.element.is("input"),this.component=this.element.is(".date")?this.element.find(".add-on, .btn"):!1,this.hasInput=this.component&&this.element.find("input").length,this.component&&0===this.component.length&&(this.component=!1),this.picker=a(l.template),this._buildEvents(),this._attachEvents(),this.isInline?this.picker.addClass("datepicker-inline").appendTo(this.element):this.picker.addClass("datepicker-dropdown dropdown-menu"),this.o.rtl&&(this.picker.addClass("datepicker-rtl"),this.picker.find(".prev i, .next i").toggleClass("icon-arrow-left icon-arrow-right")),this.viewMode=this.o.startView,this.o.calendarWeeks&&this.picker.find("tfoot th.today").attr("colspan",function(a,b){return parseInt(b)+1}),this._allow_update=!1,this.setStartDate(this.o.startDate),this.setEndDate(this.o.endDate),this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled),this.fillDow(),this.fillMonths(),this._allow_update=!0,this.upda
 te(),this.showMode(),this.isInline&&this.show()};e.prototype={constructor:e,_process_options:function(b){this._o=a.extend({},this._o,b);var c=this.o=a.extend({},this._o),d=c.language;switch(k[d]||(d=d.split("-")[0],k[d]||(d=i.language)),c.language=d,c.startView){case 2:case"decade":c.startView=2;break;case 1:case"year":c.startView=1;break;default:c.startView=0}switch(c.minViewMode){case 1:case"months":c.minViewMode=1;break;case 2:case"years":c.minViewMode=2;break;default:c.minViewMode=0}c.startView=Math.max(c.startView,c.minViewMode),c.weekStart%=7,c.weekEnd=(c.weekStart+6)%7;var e=l.parseFormat(c.format);c.startDate!==-1/0&&(c.startDate=l.parseDate(c.startDate,e,c.language)),1/0!==c.endDate&&(c.endDate=l.parseDate(c.endDate,e,c.language)),c.daysOfWeekDisabled=c.daysOfWeekDisabled||[],a.isArray(c.daysOfWeekDisabled)||(c.daysOfWeekDisabled=c.daysOfWeekDisabled.split(/[,\s]*/)),c.daysOfWeekDisabled=a.map(c.daysOfWeekDisabled,function(a){return parseInt(a,10)})},_events:[],_secondaryEv
 ents:[],_applyEvents:function(a){for(var b,c,d=0;d<a.length;d++)b=a[d][0],c=a[d][1],b.on(c)},_unapplyEvents:function(a){for(var b,c,d=0;d<a.length;d++)b=a[d][0],c=a[d][1],b.off(c)},_buildEvents:function(){this.isInput?this._events=[[this.element,{focus:a.proxy(this.show,this),keyup:a.proxy(this.update,this),keydown:a.proxy(this.keydown,this)}]]:this.component&&this.hasInput?this._events=[[this.element.find("input"),{focus:a.proxy(this.show,this),keyup:a.proxy(this.update,this),keydown:a.proxy(this.keydown,this)}],[this.component,{click:a.proxy(this.show,this)}]]:this.element.is("div")?this.isInline=!0:this._events=[[this.element,{click:a.proxy(this.show,this)}]],this._secondaryEvents=[[this.picker,{click:a.proxy(this.click,this)}],[a(window),{resize:a.proxy(this.place,this)}],[a(document),{mousedown:a.proxy(function(a){this.element.is(a.target)||this.element.find(a.target).size()||this.picker.is(a.target)||this.picker.find(a.target).size()||this.hide()},this)}]]},_attachEvents:funct
 ion(){this._detachEvents(),this._applyEvents(this._events)},_detachEvents:function(){this._unapplyEvents(this._events)},_attachSecondaryEvents:function(){this._detachSecondaryEvents(),this._applyEvents(this._secondaryEvents)},_detachSecondaryEvents:function(){this._unapplyEvents(this._secondaryEvents)},_trigger:function(b,c){var d=c||this.date,e=new Date(d.getTime()+6e4*d.getTimezoneOffset());this.element.trigger({type:b,date:e,format:a.proxy(function(a){var b=a||this.o.format;return l.formatDate(d,b,this.o.language)},this)})},show:function(a){this.isInline||this.picker.appendTo("body"),this.picker.show(),this.height=this.component?this.component.outerHeight():this.element.outerHeight(),this.place(),this._attachSecondaryEvents(),a&&a.preventDefault(),this._trigger("show")},hide:function(){this.isInline||this.picker.is(":visible")&&(this.picker.hide().detach(),this._detachSecondaryEvents(),this.viewMode=this.o.startView,this.showMode(),this.o.forceParse&&(this.isInput&&this.element.v
 al()||this.hasInput&&this.element.find("input").val())&&this.setValue(),this._trigger("hide"))},remove:function(){this.hide(),this._detachEvents(),this._detachSecondaryEvents(),this.picker.remove(),delete this.element.data().datepicker,this.isInput||delete this.element.data().date},getDate:function(){var a=this.getUTCDate();return new Date(a.getTime()+6e4*a.getTimezoneOffset())},getUTCDate:function(){return this.date},setDate:function(a){this.setUTCDate(new Date(a.getTime()-6e4*a.getTimezoneOffset()))},setUTCDate:function(a){this.date=a,this.setValue()},setValue:function(){var a=this.getFormattedDate();this.isInput?this.element.val(a):this.component&&this.element.find("input").val(a)},getFormattedDate:function(a){return void 0===a&&(a=this.o.format),l.formatDate(this.date,a,this.o.language)},setStartDate:function(a){this._process_options({startDate:a}),this.update(),this.updateNavArrows()},setEndDate:function(a){this._process_options({endDate:a}),this.update(),this.updateNavArrows()
 },setDaysOfWeekDisabled:function(a){this._process_options({daysOfWeekDisabled:a}),this.update(),this.updateNavArrows()},place:function(){if(!this.isInline){var b=parseInt(this.element.parents().filter(function(){return"auto"!=a(this).css("z-index")}).first().css("z-index"))+10,c=this.component?this.component.parent().offset():this.element.offset(),d=this.component?this.component.outerHeight(!0):this.element.outerHeight(!0);this.picker.css({top:c.top+d,left:c.left,zIndex:b})}},_allow_update:!0,update:function(){if(this._allow_update){var a,b=!1;arguments&&arguments.length&&("string"==typeof arguments[0]||arguments[0]instanceof Date)?(a=arguments[0],b=!0):(a=this.isInput?this.element.val():this.element.data("date")||this.element.find("input").val(),delete this.element.data().date),this.date=l.parseDate(a,this.o.format,this.o.language),b&&this.setValue(),this.viewDate=this.date<this.o.startDate?new Date(this.o.startDate):this.date>this.o.endDate?new Date(this.o.endDate):new Date(this.d
 ate),this.fill()}},fillDow:function(){var a=this.o.weekStart,b="<tr>";if(this.o.calendarWeeks){var c='<th class="cw">&nbsp;</th>';b+=c,this.picker.find(".datepicker-days thead tr:first-child").prepend(c)}for(;a<this.o.weekStart+7;)b+='<th class="dow">'+k[this.o.language].daysMin[a++%7]+"</th>";b+="</tr>",this.picker.find(".datepicker-days thead").append(b)},fillMonths:function(){for(var a="",b=0;12>b;)a+='<span class="month">'+k[this.o.language].monthsShort[b++]+"</span>";this.picker.find(".datepicker-months td").html(a)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],d=this.viewDate.getUTCFullYear(),e=this.viewDate.getUTCMonth(),f=this.date.valueOf(),g=new Date;return b.getUTCFullYear()<d||b.getUTCFullYear()==d&&b.getUTCMonth()<e?c.push("old"):(b.getUTCFullYear()>d||b.getUTCFullYear()==d&&b.getUTCMonth()>e)&&c.push("new"),this.o.todayHighlight&&b.getUTCFullYear()==g.getFullYear()
 &&b.getUTCMonth()==g.getMonth()&&b.getUTCDate()==g.getDate()&&c.push("today"),f&&b.valueOf()==f&&c.push("active"),(b.valueOf()<this.o.startDate||b.valueOf()>this.o.endDate||-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekDisabled))&&c.push("disabled"),this.range&&(b>this.range[0]&&b<this.range[this.range.length-1]&&c.push("range"),-1!=a.inArray(b.valueOf(),this.range)&&c.push("selected")),c},fill:function(){var c,d=new Date(this.viewDate),e=d.getUTCFullYear(),f=d.getUTCMonth(),g=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,h=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,i=1/0!==this.o.endDate?this.o.endDate.getUTCFullYear():1/0,j=1/0!==this.o.endDate?this.o.endDate.getUTCMonth():1/0;this.date&&this.date.valueOf(),this.picker.find(".datepicker-days thead th.datepicker-switch").text(k[this.o.language].months[f]+" "+e),this.picker.find("tfoot th.today").text(k[this.o.language].today).toggle(this.o.todayBtn!==!1),this.picker.find("tfoot th.clear").text(k[th
 is.o.language].clear).toggle(this.o.clearBtn!==!1),this.updateNavArrows(),this.fillMonths();var m=b(e,f-1,28,0,0,0,0),n=l.getDaysInMonth(m.getUTCFullYear(),m.getUTCMonth());m.setUTCDate(n),m.setUTCDate(n-(m.getUTCDay()-this.o.weekStart+7)%7);var o=new Date(m);o.setUTCDate(o.getUTCDate()+42),o=o.valueOf();for(var p,q=[];m.valueOf()<o;){if(m.getUTCDay()==this.o.weekStart&&(q.push("<tr>"),this.o.calendarWeeks)){var r=new Date(+m+864e5*((this.o.weekStart-m.getUTCDay()-7)%7)),s=new Date(+r+864e5*((11-r.getUTCDay())%7)),t=new Date(+(t=b(s.getUTCFullYear(),0,1))+864e5*((11-t.getUTCDay())%7)),u=(s-t)/864e5/7+1;q.push('<td class="cw">'+u+"</td>")}p=this.getClassNames(m),p.push("day");var v=this.o.beforeShowDay(m);void 0===v?v={}:"boolean"==typeof v?v={enabled:v}:"string"==typeof v&&(v={classes:v}),v.enabled===!1&&p.push("disabled"),v.classes&&(p=p.concat(v.classes.split(/\s+/))),v.tooltip&&(c=v.tooltip),p=a.unique(p),q.push('<td class="'+p.join(" ")+'"'+(c?' title="'+c+'"':"")+">"+m.getUTCDa
 te()+"</td>"),m.getUTCDay()==this.o.weekEnd&&q.push("</tr>"),m.setUTCDate(m.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").empty().append(q.join(""));var w=this.date&&this.date.getUTCFullYear(),x=this.picker.find(".datepicker-months").find("th:eq(1)").text(e).end().find("span").removeClass("active");w&&w==e&&x.eq(this.date.getUTCMonth()).addClass("active"),(g>e||e>i)&&x.addClass("disabled"),e==g&&x.slice(0,h).addClass("disabled"),e==i&&x.slice(j+1).addClass("disabled"),q="",e=10*parseInt(e/10,10);var y=this.picker.find(".datepicker-years").find("th:eq(1)").text(e+"-"+(e+9)).end().find("td");e-=1;for(var z=-1;11>z;z++)q+='<span class="year'+(-1==z?" old":10==z?" new":"")+(w==e?" active":"")+(g>e||e>i?" disabled":"")+'">'+e+"</span>",e+=1;y.html(q)},updateNavArrows:function(){if(this._allow_update){var a=new Date(this.viewDate),b=a.getUTCFullYear(),c=a.getUTCMonth();switch(this.viewMode){case 0:this.o.startDate!==-1/0&&b<=this.o.startDate.getUTCFullYear()&&c<=this.o.startD
 ate.getUTCMonth()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),1/0!==this.o.endDate&&b>=this.o.endDate.getUTCFullYear()&&c>=this.o.endDate.getUTCMonth()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"});break;case 1:case 2:this.o.startDate!==-1/0&&b<=this.o.startDate.getUTCFullYear()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),1/0!==this.o.endDate&&b>=this.o.endDate.getUTCFullYear()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"})}}},click:function(c){c.preventDefault();var d=a(c.target).closest("span, td, th");if(1==d.length)switch(d[0].nodeName.toLowerCase()){case"th":switch(d[0].className){case"datepicker-switch":this.showMode(1);break;case"prev":case"next":var e=l.modes[this.viewMode].navStep*("prev"==d[0].className?-1:1);switch(this.viewMode)
 {case 0:this.viewDate=this.moveMonth(this.viewDate,e);break;case 1:case 2:this.viewDate=this.moveYear(this.viewDate,e)}this.fill();break;case"today":var f=new Date;f=b(f.getFullYear(),f.getMonth(),f.getDate(),0,0,0),this.showMode(-2);var g="linked"==this.o.todayBtn?null:"view";this._setDate(f,g);break;case"clear":var h;this.isInput?h=this.element:this.component&&(h=this.element.find("input")),h&&h.val("").change(),this._trigger("changeDate"),this.update(),this.o.autoclose&&this.hide()}break;case"span":if(!d.is(".disabled")){if(this.viewDate.setUTCDate(1),d.is(".month")){var i=1,j=d.parent().find("span").index(d),k=this.viewDate.getUTCFullYear();this.viewDate.setUTCMonth(j),this._trigger("changeMonth",this.viewDate),1===this.o.minViewMode&&this._setDate(b(k,j,i,0,0,0,0))}else{var k=parseInt(d.text(),10)||0,i=1,j=0;this.viewDate.setUTCFullYear(k),this._trigger("changeYear",this.viewDate),2===this.o.minViewMode&&this._setDate(b(k,j,i,0,0,0,0))}this.showMode(-1),this.fill()}break;case"t
 d":if(d.is(".day")&&!d.is(".disabled")){var i=parseInt(d.text(),10)||1,k=this.viewDate.getUTCFullYear(),j=this.viewDate.getUTCMonth();d.is(".old")?0===j?(j=11,k-=1):j-=1:d.is(".new")&&(11==j?(j=0,k+=1):j+=1),this._setDate(b(k,j,i,0,0,0,0))}}},_setDate:function(a,b){b&&"date"!=b||(this.date=new Date(a)),b&&"view"!=b||(this.viewDate=new Date(a)),this.fill(),this.setValue(),this._trigger("changeDate");var c;this.isInput?c=this.element:this.component&&(c=this.element.find("input")),c&&(c.change(),!this.o.autoclose||b&&"date"!=b||this.hide())},moveMonth:function(a,b){if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),g=e.getUTCMonth(),h=Math.abs(b);if(b=b>0?1:-1,1==h)d=-1==b?function(){return e.getUTCMonth()==g}:function(){return e.getUTCMonth()!=c},c=g+b,e.setUTCMonth(c),(0>c||c>11)&&(c=(c+12)%12);else{for(var i=0;h>i;i++)e=this.moveMonth(e,b);c=e.getUTCMonth(),e.setUTCDate(f),d=function(){return c!=e.getUTCMonth()}}for(;d();)e.setUTCDate(--f),e.setUTCMonth(c);return e},mov
 eYear:function(a,b){return this.moveMonth(a,12*b)},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(this.picker.is(":not(:visible)"))return 27==a.keyCode&&this.show(),void 0;var b,c,d,e=!1;switch(a.keyCode){case 27:this.hide(),a.preventDefault();break;case 37:case 39:if(!this.o.keyboardNavigation)break;b=37==a.keyCode?-1:1,a.ctrlKey?(c=this.moveYear(this.date,b),d=this.moveYear(this.viewDate,b)):a.shiftKey?(c=this.moveMonth(this.date,b),d=this.moveMonth(this.viewDate,b)):(c=new Date(this.date),c.setUTCDate(this.date.getUTCDate()+b),d=new Date(this.viewDate),d.setUTCDate(this.viewDate.getUTCDate()+b)),this.dateWithinRange(c)&&(this.date=c,this.viewDate=d,this.setValue(),this.update(),a.preventDefault(),e=!0);break;case 38:case 40:if(!this.o.keyboardNavigation)break;b=38==a.keyCode?-1:1,a.ctrlKey?(c=this.moveYear(this.date,b),d=this.moveYear(this.viewDate,b)):a.shiftKey?(c=this.moveMonth(this.date,b),d=this.moveMonth(this.viewDate,b)):(
 c=new Date(this.date),c.setUTCDate(this.date.getUTCDate()+7*b),d=new Date(this.viewDate),d.setUTCDate(this.viewDate.getUTCDate()+7*b)),this.dateWithinRange(c)&&(this.date=c,this.viewDate=d,this.setValue(),this.update(),a.preventDefault(),e=!0);break;case 13:this.hide(),a.preventDefault();break;case 9:this.hide()}if(e){this._trigger("changeDate");var f;this.isInput?f=this.element:this.component&&(f=this.element.find("input")),f&&f.change()}},showMode:function(a){a&&(this.viewMode=Math.max(this.o.minViewMode,Math.min(2,this.viewMode+a))),this.picker.find(">div").hide().filter(".datepicker-"+l.modes[this.viewMode].clsName).css("display","block"),this.updateNavArrows()}};var f=function(b,c){this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,a(this.inputs).datepicker(c).bind("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a(b).data("datepicker")}),this.updateDates()};f.prototype={updateDates:fun
 ction(){this.dates=a.map(this.pickers,function(a){return a.date}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},dateUpdated:function(b){var c=a(b.target).data("datepicker"),d=c.getUTCDate(),e=a.inArray(b.target,this.inputs),f=this.inputs.length;if(-1!=e){if(d<this.dates[e])for(;e>=0&&d<this.dates[e];)this.pickers[e--].setUTCDate(d);else if(d>this.dates[e])for(;f>e&&d>this.dates[e];)this.pickers[e++].setUTCDate(d);this.updateDates()}},remove:function(){a.map(this.pickers,function(a){a.remove()}),delete this.element.data().datepicker}};var g=a.fn.datepicker,h=a.fn.datepicker=function(b){var g=Array.apply(null,arguments);g.shift();var h;return this.each(function(){var j=a(this),k=j.data("datepicker"),l="object"==typeof b&&b;if(!k){var m=c(this,"date"),n=a.extend({},i,m,l),o=d(n.language),p=a.extend({},i,o,m,l);if(j.is(".input-daterange")||p.inputs){var q={inputs:p.inputs||j.find("i
 nput").toArray()};j.data("datepicker",k=new f(this,a.extend(p,q)))}else j.data("datepicker",k=new e(this,p))}return"string"==typeof b&&"function"==typeof k[b]&&(h=k[b].apply(k,g),void 0!==h)?!1:void 0}),void 0!==h?h:this},i=a.fn.datepicker.defaults={autoclose:!1,beforeShowDay:a.noop,calendarWeeks:!1,clearBtn:!1,daysOfWeekDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keyboardNavigation:!0,language:"en",minViewMode:0,rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,weekStart:0},j=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=e;var k=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","J
 ul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear"}},l={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(a){return 0===a%4&&0!==a%100||0===a%400
-},getDaysInMonth:function(a,b){return[31,l.isLeapYear(a)?29:28,31,30,31,30,31,31,30,31,30,31][b]},validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,parseFormat:function(a){var b=a.replace(this.validParts,"\0").split("\0"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(c,d,f){if(c instanceof Date)return c;if("string"==typeof d&&(d=l.parseFormat(d)),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(c)){var g,h,i=/([\-+]\d+)([dmwy])/,j=c.match(/([\-+]\d+)([dmwy])/g);c=new Date;for(var m=0;m<j.length;m++)switch(g=i.exec(j[m]),h=parseInt(g[1]),g[2]){case"d":c.setUTCDate(c.getUTCDate()+h);break;case"m":c=e.prototype.moveMonth.call(e.prototype,c,h);break;case"w":c.setUTCDate(c.getUTCDate()+7*h);break;case"y":c=e.prototype.moveYear.call(e.prototype,c,h)}return b(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate(),0,0,0)}var n,o,g,j=c&&c.match(this.
 nonpunctuation)||[],c=new Date,p={},q=["yyyy","yy","M","MM","m","mm","d","dd"],r={yyyy:function(a,b){return a.setUTCFullYear(b)},yy:function(a,b){return a.setUTCFullYear(2e3+b)},m:function(a,b){for(b-=1;0>b;)b+=12;for(b%=12,a.setUTCMonth(b);a.getUTCMonth()!=b;)a.setUTCDate(a.getUTCDate()-1);return a},d:function(a,b){return a.setUTCDate(b)}};r.M=r.MM=r.mm=r.m,r.dd=r.d,c=b(c.getFullYear(),c.getMonth(),c.getDate(),0,0,0);var s=d.parts.slice();if(j.length!=s.length&&(s=a(s).filter(function(b,c){return-1!==a.inArray(c,q)}).toArray()),j.length==s.length){for(var m=0,t=s.length;t>m;m++){if(n=parseInt(j[m],10),g=s[m],isNaN(n))switch(g){case"MM":o=a(k[f].months).filter(function(){var a=this.slice(0,j[m].length),b=j[m].slice(0,a.length);return a==b}),n=a.inArray(o[0],k[f].months)+1;break;case"M":o=a(k[f].monthsShort).filter(function(){var a=this.slice(0,j[m].length),b=j[m].slice(0,a.length);return a==b}),n=a.inArray(o[0],k[f].monthsShort)+1}p[g]=n}for(var u,m=0;m<q.length;m++)u=q[m],u in p&&!
 isNaN(p[u])&&r[u](c,p[u])}return c},formatDate:function(b,c,d){"string"==typeof c&&(c=l.parseFormat(c));var e={d:b.getUTCDate(),D:k[d].daysShort[b.getUTCDay()],DD:k[d].days[b.getUTCDay()],m:b.getUTCMonth()+1,M:k[d].monthsShort[b.getUTCMonth()],MM:k[d].months[b.getUTCMonth()],yy:b.getUTCFullYear().toString().substring(2),yyyy:b.getUTCFullYear()};e.dd=(e.d<10?"0":"")+e.d,e.mm=(e.m<10?"0":"")+e.m;for(var b=[],f=a.extend([],c.separators),g=0,h=c.parts.length;h>=g;g++)f.length&&b.push(f.shift()),b.push(e[c.parts[g]]);return b.join("")},headTemplate:'<thead><tr><th class="prev"><i class="icon-arrow-left"/></th><th colspan="5" class="datepicker-switch"></th><th class="next"><i class="icon-arrow-right"/></th></tr></thead>',contTemplate:'<tbody><tr><td colspan="7"></td></tr></tbody>',footTemplate:'<tfoot><tr><th colspan="7" class="today"></th></tr><tr><th colspan="7" class="clear"></th></tr></tfoot>'};l.template='<div class="datepicker"><div class="datepicker-days"><table class=" table-conde
 nsed">'+l.headTemplate+"<tbody></tbody>"+l.footTemplate+"</table>"+"</div>"+'<div class="datepicker-months">'+'<table class="table-condensed">'+l.headTemplate+l.contTemplate+l.footTemplate+"</table>"+"</div>"+'<div class="datepicker-years">'+'<table class="table-condensed">'+l.headTemplate+l.contTemplate+l.footTemplate+"</table>"+"</div>"+"</div>",a.fn.datepicker.DPGlobal=l,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=g,this},a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),h.call(c,"show"))}),a(function(){h.call(a('[data-provide="datepicker-inline"]'))})}(window.jQuery),function(a){"use strict";a.fn.bdatepicker=a.fn.datepicker.noConflict(),a.fn.datepicker||(a.fn.datepicker=a.fn.bdatepicker);var b=function(a){this.init("date",a,b.defaults),this.initPicker(a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototyp
 e,{initPicker:function(b,c){this.options.viewformat||(this.options.viewformat=this.options.format),b.datepicker=a.fn.editableutils.tryParseJson(b.datepicker,!0),this.options.datepicker=a.extend({},c.datepicker,b.datepicker,{format:this.options.viewformat}),this.options.datepicker.language=this.options.datepicker.language||"en",this.dpg=a.fn.bdatepicker.DPGlobal,this.parsedFormat=this.dpg.parseFormat(this.options.format),this.parsedViewFormat=this.dpg.parseFormat(this.options.viewformat)},render:function(){this.$input.bdatepicker(this.options.datepicker),this.options.clear&&(this.$clear=a('<a href="#"></a>').html(this.options.clear).click(a.proxy(function(a){a.preventDefault(),a.stopPropagation(),this.clear()},this)),this.$tpl.parent().append(a('<div class="editable-clear">').append(this.$clear)))},value2html:function(a,c){var d=a?this.dpg.formatDate(a,this.parsedViewFormat,this.options.datepicker.language):"";b.superclass.value2html.call(this,d,c)},html2value:function(a){return this
 .parseDate(a,this.parsedViewFormat)},value2str:function(a){return a?this.dpg.formatDate(a,this.parsedFormat,this.options.datepicker.language):""},str2value:function(a){return this.parseDate(a,this.parsedFormat)},value2submit:function(a){return this.value2str(a)},value2input:function(a){this.$input.bdatepicker("update",a)},input2value:function(){return this.$input.data("datepicker").date},activate:function(){},clear:function(){this.$input.data("datepicker").date=null,this.$input.find(".active").removeClass("active"),this.options.showbuttons||this.$input.closest("form").submit()},autosubmit:function(){this.$input.on("mouseup",".day",function(b){if(!a(b.currentTarget).is(".old")&&!a(b.currentTarget).is(".new")){var c=a(this).closest("form");setTimeout(function(){c.submit()},200)}})},parseDate:function(a,b){var c,d=null;return a&&(d=this.dpg.parseDate(a,b,this.options.datepicker.language),"string"==typeof a&&(c=this.dpg.formatDate(d,b,this.options.datepicker.language),a!==c&&(d=null))),
 d}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<div class="editable-date well"></div>',inputclass:null,format:"yyyy-mm-dd",viewformat:null,datepicker:{weekStart:0,startView:0,minViewMode:0,autoclose:!1},clear:"&times; clear"}),a.fn.editabletypes.date=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("datefield",a,b.defaults),this.initPicker(a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.date),a.extend(b.prototype,{render:function(){this.$input=this.$tpl.find("input"),this.setClass(),this.setAttr("placeholder"),this.$tpl.bdatepicker(this.options.datepicker),this.$input.off("focus keydown"),this.$input.keyup(a.proxy(function(){this.$tpl.removeData("date"),this.$tpl.bdatepicker("update")},this))},value2input:function(a){this.$input.val(a?this.dpg.formatDate(a,this.parsedViewFormat,this.options.datepicker.language):""),this.$tpl.bdatepicker("update")},input2value:function(){return this.html2value(this.$input.val())},activ
 ate:function(){a.fn.editabletypes.text.prototype.activate.call(this)},autosubmit:function(){}}),b.defaults=a.extend({},a.fn.editabletypes.date.defaults,{tpl:'<div class="input-append date"><input type="text"/><span class="add-on"><i class="icon-th"></i></span></div>',inputclass:"input-small",datepicker:{weekStart:0,startView:0,minViewMode:0,autoclose:!0}}),a.fn.editabletypes.datefield=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("datetime",a,b.defaults),this.initPicker(a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{initPicker:function(b,c){this.options.viewformat||(this.options.viewformat=this.options.format),b.datetimepicker=a.fn.editableutils.tryParseJson(b.datetimepicker,!0),this.options.datetimepicker=a.extend({},c.datetimepicker,b.datetimepicker,{format:this.options.viewformat}),this.options.datetimepicker.language=this.options.datetimepicker.language||"en",this.dpg=a.fn.datetimepicker.DPGlobal,this.
 parsedFormat=this.dpg.parseFormat(this.options.format,this.options.formatType),this.parsedViewFormat=this.dpg.parseFormat(this.options.viewformat,this.options.formatType)},render:function(){this.$input.datetimepicker(this.options.datetimepicker),this.$input.on("changeMode",function(){var b=a(this).closest("form").parent();setTimeout(function(){b.triggerHandler("resize")},0)}),this.options.clear&&(this.$clear=a('<a href="#"></a>').html(this.options.clear).click(a.proxy(function(a){a.preventDefault(),a.stopPropagation(),this.clear()},this)),this.$tpl.parent().append(a('<div class="editable-clear">').append(this.$clear)))},value2html:function(a,c){var d=a?this.dpg.formatDate(this.toUTC(a),this.parsedViewFormat,this.options.datetimepicker.language,this.options.formatType):"";return c?(b.superclass.value2html.call(this,d,c),void 0):d},html2value:function(a){var b=this.parseDate(a,this.parsedViewFormat);return b?this.fromUTC(b):null},value2str:function(a){return a?this.dpg.formatDate(this
 .toUTC(a),this.parsedFormat,this.options.datetimepicker.language,this.options.formatType):""},str2value:function(a){var b=this.parseDate(a,this.parsedFormat);return b?this.fromUTC(b):null},value2submit:function(a){return this.value2str(a)},value2input:function(a){a&&this.$input.data("datetimepicker").setDate(a)},input2value:function(){var a=this.$input.data("datetimepicker");return a.date?a.getDate():null},activate:function(){},clear:function(){this.$input.data("datetimepicker").date=null,this.$input.find(".active").removeClass("active"),this.options.showbuttons||this.$input.closest("form").submit()},autosubmit:function(){this.$input.on("mouseup",".minute",function(){var b=a(this).closest("form");setTimeout(function(){b.submit()},200)})},toUTC:function(a){return a?new Date(a.valueOf()-6e4*a.getTimezoneOffset()):a},fromUTC:function(a){return a?new Date(a.valueOf()+6e4*a.getTimezoneOffset()):a},parseDate:function(a,b){var c,d=null;return a&&(d=this.dpg.parseDate(a,b,this.options.datet
 imepicker.language,this.options.formatType),"string"==typeof a&&(c=this.dpg.formatDate(d,b,this.options.datetimepicker.language,this.options.formatType),a!==c&&(d=null))),d}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<div class="editable-date well"></div>',inputclass:null,format:"yyyy-mm-dd hh:ii",formatType:"standard",viewformat:null,datetimepicker:{todayHighlight:!1,autoclose:!1},clear:"&times; clear"}),a.fn.editabletypes.datetime=b}(window.jQuery),function(a){"use strict";var b=function(a){this.init("datetimefield",a,b.defaults),this.initPicker(a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.datetime),a.extend(b.prototype,{render:function(){this.$input=this.$tpl.find("input"),this.setClass(),this.setAttr("placeholder"),this.$tpl.datetimepicker(this.options.datetimepicker),this.$input.off("focus keydown"),this.$input.keyup(a.proxy(function(){this.$tpl.removeData("date"),this.$tpl.datetimepicker("update")},this))},value2input:function(a)
 {this.$input.val(this.value2html(a)),this.$tpl.datetimepicker("update")},input2value:function(){return this.html2value(this.$input.val())},activate:function(){a.fn.editabletypes.text.prototype.activate.call(this)},autosubmit:function(){}}),b.defaults=a.extend({},a.fn.editabletypes.datetime.defaults,{tpl:'<div class="input-append date"><input type="text"/><span class="add-on"><i class="icon-th"></i></span></div>',inputclass:"input-medium",datetimepicker:{todayHighlight:!1,autoclose:!0}}),a.fn.editabletypes.datetimefield=b}(window.jQuery);
\ No newline at end of file


[49/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
remove all


Project: http://git-wip-us.apache.org/repos/asf/incubator-cmda/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cmda/commit/a8965336
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cmda/tree/a8965336
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cmda/diff/a8965336

Branch: refs/heads/master
Commit: a8965336a23a336116ca449450d763a753e0baf7
Parents: 48259f3
Author: cmusv-sc <cm...@gmail.com>
Authored: Tue Sep 8 15:43:26 2015 -0700
Committer: cmusv-sc <cm...@gmail.com>
Committed: Tue Sep 8 15:43:26 2015 -0700

----------------------------------------------------------------------
 .cache                                          |   Bin 1328 -> 0 bytes
 .gitignore                                      |    46 -
 ...tor-b9269a46-8719-48c7-8a73-da2559e32568.log | 13537 -----------------
 .sbtserver/connections/master.log               |    10 -
 .sbtserver/master.log                           | 11731 --------------
 .sbtserver/previous.log                         |  7547 ---------
 LICENSE                                         |   202 -
 NOTICE                                          |     6 -
 README.md                                       |    11 -
 activator                                       |   334 -
 activator-launch-1.2.12.jar                     |   Bin 1188338 -> 0 bytes
 activator-sbt-echo-play-shim.sbt                |     1 -
 activator.bat                                   |   227 -
 app/controllers/AboutusController.java          |    32 -
 app/controllers/AccountController.java          |   373 -
 app/controllers/Application.java                |    49 -
 app/controllers/BugReportController.java        |   115 -
 app/controllers/ClimateServiceController.java   |   931 --
 app/controllers/DatasetController.java          |   111 -
 app/controllers/HttpHelper.java                 |   117 -
 app/models/.NasaRegistration.java.swp           |   Bin 16384 -> 0 bytes
 app/models/BugReport.java                       |   245 -
 app/models/DataSet.java                         |   299 -
 app/models/User.java                            |   204 -
 app/models/metadata/ClimateService.java         |   336 -
 app/models/metadata/ConditionalSampling.java    |   225 -
 .../metadata/ConditionalSampling2Var.java       |   285 -
 app/models/metadata/CorrelationMap.java         |   147 -
 .../metadata/DiffPlotTwoTimeAveragedVar.java    |   138 -
 app/models/metadata/RegridAndDownload.java      |   124 -
 app/models/metadata/ScatterHistogramTwoVar.java |   147 -
 app/models/metadata/ServiceLog.java             |   504 -
 app/models/metadata/ThreeDVar2DSlice.java       |   162 -
 .../metadata/ThreeDVarAvgVertical4Profile.java  |   163 -
 app/models/metadata/ThreeDVarZonalMean.java     |   155 -
 app/models/metadata/TwoDVarMap.java             |   156 -
 app/models/metadata/TwoDVarTimeSeries.java      |   115 -
 app/models/metadata/TwoDVarZonalMean.java       |   142 -
 app/util/APICall.java                           |   192 -
 app/util/Constants.java                         |    53 -
 app/util/DBHandler.java                         |    30 -
 app/util/TimeConvert.java                       |    48 -
 app/views/climate/aboutProject.scala.html       |    39 -
 app/views/climate/aboutus.scala.html            |    82 -
 app/views/climate/addClimateServices.scala.html |    67 -
 app/views/climate/bugReporting.scala.html       |    68 -
 app/views/climate/bugs.scala.html               |    92 -
 app/views/climate/climateServices.scala.html    |    67 -
 .../climate/conditionalSampling.scala.html      |  1761 ---
 .../climate/conditionalSampling2Var.scala.html  |  1151 --
 app/views/climate/correlationMap.scala.html     |   662 -
 app/views/climate/dataRecommend.scala.html      |   118 -
 app/views/climate/dataSetList.scala.html        |    96 -
 app/views/climate/datasetTime.scala.html        |    66 -
 ...rencePlotTwoTimeAveragedVariables.scala.html |  1374 --
 app/views/climate/header.scala.html             |    77 -
 app/views/climate/home.scala.html               |    58 -
 app/views/climate/main.scala.html               |    93 -
 .../climate/mostPopularServices.scala.html      |    95 -
 .../mostRecentlyAddedServices.scala.html        |    95 -
 .../climate/mostRecentlyUsedServices.scala.html |    95 -
 app/views/climate/oneService.scala.html         |    40 -
 app/views/climate/recommend.scala.html          |   125 -
 app/views/climate/regridAndDownload.scala.html  |   459 -
 .../scatterAndHistogramTwoVariable.scala.html   |  1402 --
 app/views/climate/searchDataSet.scala.html      |   544 -
 .../climate/searchGenerateWorkflow.scala.html   |   103 -
 app/views/climate/searchLogResult.scala.html    |    69 -
 .../climate/searchLogResultWorkflow.scala.html  |    98 -
 app/views/climate/searchServiceLog.scala.html   |   212 -
 app/views/climate/serviceLog.scala.html         |   107 -
 ...reeDVariableAerageVerticalProfile.scala.html |   740 -
 .../climate/threeDVariableTwoDSlice.scala.html  |   711 -
 .../climate/threeDVariableZonalMean.scala.html  |   737 -
 app/views/climate/tutorial.scala.html           |    42 -
 app/views/climate/twoDVariableMap.scala.html    |  1068 --
 .../climate/twoDVariableTimeSeries.scala.html   |   842 -
 .../climate/twoDVariableZonelMean.scala.html    |  1038 --
 app/views/flash_message.scala.html              |    36 -
 app/views/index.scala.html                      |    24 -
 app/views/main.scala.html                       |    32 -
 build.sbt                                       |    14 -
 conf/META-INF/persistence.xml                   |    14 -
 conf/application.conf                           |    77 -
 conf/routes                                     |    56 -
 lib/aws-java-sdk-1.7.5.jar                      |   Bin 12317165 -> 0 bytes
 lib/gson-2.2.4.jar                              |   Bin 190418 -> 0 bytes
 project/.sbtserver                              |     3 -
 project/.sbtserver.lock                         |     0
 project/activator-sbt-echo-play-shim.sbt        |     1 -
 project/activator-sbt-eclipse-shim.sbt          |     1 -
 project/activator-sbt-idea-shim.sbt             |     1 -
 project/build.properties                        |     1 -
 project/plugins.sbt                             |     8 -
 project/sbt-ui.sbt                              |     3 -
 public/fonts/glyphicons-halflings-regular.eot   |   Bin 20335 -> 0 bytes
 public/fonts/glyphicons-halflings-regular.svg   |   229 -
 public/fonts/glyphicons-halflings-regular.ttf   |   Bin 41280 -> 0 bytes
 public/fonts/glyphicons-halflings-regular.woff  |   Bin 23320 -> 0 bytes
 public/html/common.css                          |    23 -
 public/html/conditionalSampling.html            |   700 -
 public/html/conditionalSampling2Var.html        |   785 -
 public/html/correlationMap.html                 |   493 -
 public/html/diffPlot2Vars.html                  |  1356 --
 public/html/js/.svn/all-wcprops                 |    41 -
 public/html/js/.svn/entries                     |   232 -
 .../js/.svn/text-base/jquery-1.4.4.js.svn-base  |  7179 ---------
 .../.svn/text-base/jquery-1.4.4.min.js.svn-base |   167 -
 .../.svn/text-base/jquery-1.6.4.min.js.svn-base |     4 -
 .../.svn/text-base/jquery.flot.min.js.svn-base  |     1 -
 public/html/js/.svn/text-base/json2.js.svn-base |   478 -
 public/html/js/.svn/text-base/xmisc.js.svn-base |   320 -
 public/html/js/dataList.js                      |    42 -
 public/html/js/jquery-1.4.4.js                  |  7179 ---------
 public/html/js/jquery-1.4.4.min.js              |   167 -
 public/html/js/jquery-1.6.4.min.js              |     4 -
 public/html/js/jquery.flot.min.js               |     1 -
 public/html/js/json2.js                         |   478 -
 public/html/js/varList.js                       |    36 -
 public/html/js/xmisc.js                         |   320 -
 public/html/js2/common.js                       |   374 -
 public/html/js2/dataList.js                     |    42 -
 public/html/js2/dataList1.js                    |    42 -
 public/html/js2/dataList2.js                    |    42 -
 public/html/js2/varList.js                      |    40 -
 public/html/regridAndDownload.html              |   470 -
 public/html/regridAndDownload_old.html          |   436 -
 public/html/scatterPlot2Vars.html               |  1374 --
 public/html/threeDimVarVertical.html            |   731 -
 public/html/threeDimZonalMean.html              |   748 -
 public/html/twoDimMap.html                      |  1034 --
 public/html/twoDimSlice3D.html                  |   726 -
 public/html/twoDimTimeSeries.html               |   813 -
 public/html/twoDimZonalMean.html                |  1005 --
 public/images/2DMap.png                         |   Bin 241914 -> 0 bytes
 public/images/2DMean.png                        |   Bin 117913 -> 0 bytes
 public/images/3DAverageVertical.png             |   Bin 103280 -> 0 bytes
 public/images/3DVerticalProfile.jpeg            |   Bin 86514 -> 0 bytes
 public/images/ConditionalSampling1Variable.jpeg |   Bin 99711 -> 0 bytes
 public/images/DifferencePlot.png                |   Bin 377860 -> 0 bytes
 public/images/JPL_Cover.jpg                     |   Bin 180056 -> 0 bytes
 public/images/NASA_JPL_logo.png                 |   Bin 34368 -> 0 bytes
 public/images/NASA_logo.png                     |   Bin 88215 -> 0 bytes
 public/images/NASA_logo_backup.png              |   Bin 88215 -> 0 bytes
 public/images/ScatterPlot.png                   |   Bin 382416 -> 0 bytes
 public/images/ThreeDTwoDSlice.png               |   Bin 389061 -> 0 bytes
 public/images/TimeSeriesPlot.jpeg               |   Bin 137439 -> 0 bytes
 public/images/animated-overlay.gif              |   Bin 1738 -> 0 bytes
 public/images/bug.png                           |   Bin 6156 -> 0 bytes
 public/images/conditionalSampling2Var.jpeg      |   Bin 93009 -> 0 bytes
 .../images/conditionalSampling2Variables.jpeg   |   Bin 116787 -> 0 bytes
 public/images/correlationMap.png                |   Bin 174314 -> 0 bytes
 public/images/embed/icons/cancel_search.png     |   Bin 541 -> 0 bytes
 public/images/embed/icons/search_glyph.png      |   Bin 420 -> 0 bytes
 public/images/favicon.png                       |   Bin 804 -> 0 bytes
 public/images/github.png                        |   Bin 5728 -> 0 bytes
 public/images/logo.png                          |   Bin 29446 -> 0 bytes
 public/images/main.jpg                          |   Bin 525715 -> 0 bytes
 public/images/question.jpeg                     |   Bin 5548 -> 0 bytes
 public/images/regrid.jpg                        |   Bin 81184 -> 0 bytes
 public/images/service.jpeg                      |   Bin 4812 -> 0 bytes
 .../ui-bg_diagonals-thick_18_b81900_40x40.png   |   Bin 491 -> 0 bytes
 .../ui-bg_diagonals-thick_20_666666_40x40.png   |   Bin 387 -> 0 bytes
 public/images/ui-bg_flat_10_000000_40x100.png   |   Bin 278 -> 0 bytes
 public/images/ui-bg_glass_100_f6f6f6_1x400.png  |   Bin 336 -> 0 bytes
 public/images/ui-bg_glass_100_fdf5ce_1x400.png  |   Bin 421 -> 0 bytes
 public/images/ui-bg_glass_65_ffffff_1x400.png   |   Bin 280 -> 0 bytes
 .../ui-bg_gloss-wave_35_f6a828_500x100.png      |   Bin 5888 -> 0 bytes
 .../ui-bg_highlight-soft_100_eeeeee_1x100.png   |   Bin 353 -> 0 bytes
 .../ui-bg_highlight-soft_75_ffe45c_1x100.png    |   Bin 401 -> 0 bytes
 public/images/ui-icons_222222_256x240.png       |   Bin 6893 -> 0 bytes
 public/images/ui-icons_228ef1_256x240.png       |   Bin 4653 -> 0 bytes
 public/images/ui-icons_ef8c08_256x240.png       |   Bin 4653 -> 0 bytes
 public/images/ui-icons_ffd27a_256x240.png       |   Bin 4653 -> 0 bytes
 public/images/ui-icons_ffffff_256x240.png       |   Bin 6381 -> 0 bytes
 public/img/clear.png                            |   Bin 509 -> 0 bytes
 public/img/loading.gif                          |   Bin 1849 -> 0 bytes
 public/javascripts/a.json                       |     1 -
 public/javascripts/backbone-1.1.0.js            |  1581 --
 public/javascripts/bootstrap-editable.min.js    |     7 -
 public/javascripts/bootstrap.min.js             |     9 -
 public/javascripts/dataList.js                  |    42 -
 public/javascripts/device_search.js             |    56 -
 public/javascripts/edit_button.js               |    18 -
 public/javascripts/jqplot.pieRenderer.min.js    |    57 -
 public/javascripts/jquery-1.9.0.min.js          |     4 -
 public/javascripts/jquery-latest.js             |   154 -
 public/javascripts/jquery-ui-1.10.4.min.js      |     7 -
 public/javascripts/jquery.jqplot.min.js         |     3 -
 public/javascripts/jquery.metadata.js           |   122 -
 public/javascripts/jquery.tablesorter.js        |  1031 --
 public/javascripts/jquery.tablesorter.min.js    |     4 -
 public/javascripts/jquery.tablesorter.pager.js  |   184 -
 public/javascripts/json2.js                     |   489 -
 public/javascripts/jstree.js                    |  6932 ---------
 public/javascripts/jstree.min.js                |     5 -
 public/javascripts/keyword_tree.js              |    58 -
 public/javascripts/lastLoader.js                |     8 -
 public/javascripts/livefitler.js                |    38 -
 public/javascripts/underscore-1.5.2.js          |  1276 --
 public/javascripts/varList.js                   |    36 -
 public/javascripts/visualsearch.js              |    36 -
 public/javascripts/xmisc.js                     |   320 -
 public/js/jquery-1.4.4.js                       |  7179 ---------
 public/js/jquery-1.4.4.min.js                   |   167 -
 public/js/jquery-1.6.4.min.js                   |     4 -
 public/js/jquery.flot.min.js                    |     1 -
 public/js/json2.js                              |   478 -
 public/js/xmisc.js                              |   320 -
 public/stylesheets/asc.gif                      |   Bin 54 -> 0 bytes
 public/stylesheets/bg.gif                       |   Bin 64 -> 0 bytes
 public/stylesheets/bootstrap-editable.css       |   663 -
 public/stylesheets/bootstrap.css                |  5777 -------
 public/stylesheets/custom.css                   |    37 -
 public/stylesheets/custom_recommend.css         |    37 -
 public/stylesheets/desc.gif                     |   Bin 54 -> 0 bytes
 public/stylesheets/jquery-ui-1.10.4.min.css     |     7 -
 public/stylesheets/jquery.jqplot.min.css        |     1 -
 public/stylesheets/jquery.tablesorter.pager.css |    25 -
 public/stylesheets/jstree/32px.png              |   Bin 3121 -> 0 bytes
 public/stylesheets/jstree/40px.png              |   Bin 1880 -> 0 bytes
 public/stylesheets/jstree/style.css             |  1050 --
 public/stylesheets/jstree/style.min.css         |     1 -
 public/stylesheets/jstree/throbber.gif          |   Bin 1720 -> 0 bytes
 public/stylesheets/livefitler.css               |    58 -
 public/stylesheets/main.css                     |     8 -
 public/stylesheets/navbar-fixed-top.css         |     4 -
 public/stylesheets/style.css                    |    39 -
 public/stylesheets/visualsearch-datauri.css     |     1 -
 public/stylesheets/visualsearch.css             |     1 -
 sbt.deb                                         |   Bin 983392 -> 0 bytes
 test/ApplicationTest.java                       |    36 -
 test/IntegrationTest.java                       |    28 -
 tmpfiles/.gitkeep                               |     0
 234 files changed, 110526 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/.cache
----------------------------------------------------------------------
diff --git a/.cache b/.cache
deleted file mode 100644
index e69f7cd..0000000
Binary files a/.cache and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 7300120..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,46 +0,0 @@
-Type
-*.db
-.env
-.project
-.classpath
-.settings/
-bin/**
-#conf/database.properties
-.DS_Store
-# Play! Framework
-logs
-project/project
-project/target
-.target
-target
-tmp
-.history
-dist
-/.idea
-/*.iml
-/out
-/.idea_modules
-/.classpath
-/.project
-/RUNNING_PID
-/bin
-data
-logs
-project/project
-project/target
-target
-tmp
-.history
-dist
-/.idea
-/*.iml
-/out
-/.idea_modules
-/.classpath
-/.project
-/RUNNING_PID
-/.settings
-/.target
-.DS_Store
-/bin
-


[22/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/scatterPlot2Vars.html
----------------------------------------------------------------------
diff --git a/public/html/scatterPlot2Vars.html b/public/html/scatterPlot2Vars.html
deleted file mode 100644
index f45d5cf..0000000
--- a/public/html/scatterPlot2Vars.html
+++ /dev/null
@@ -1,1374 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> -->
-  <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-  <script type="text/javascript" src="js/jquery.flot.min.js"></script>
-  <script type="text/javascript" src="js/json2.js"></script>
-  <script type="text/javascript" src="js/xmisc.js"></script>
-  <script type="text/javascript">
-
-    var Response = null;
-    var variable1 = "";
-    var variable2 = "";
-
-
-    // called on load or reload
-    window.onload = function() {
-      select_data1(1);
-      select_var1(1);
-      select_data1(2);
-      select_var1(2);
-      // no data to download yet
-      disable_download_button();
-    }
-
-    // disable download data button
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=true;
-    }
-
-    // enable download data button
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-
-
-    // disable all vars1 in dropdown menu
-    function unset_vars1(ID)
-    {
-      var x;
-
-      if (ID == 1) {
-        x=document.getElementById("var1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("var2");
-      }
-
-      x.options[0].disabled=true;
-      x.options[1].disabled=true;
-      x.options[2].disabled=true;
-      x.options[3].disabled=true;
-      x.options[4].disabled=true;
-      x.options[5].disabled=true;
-      x.options[6].disabled=true;
-      x.options[7].disabled=true;
-      x.options[8].disabled=true;
-      x.options[9].disabled=true;
-      x.options[10].disabled=true;
-      x.options[11].disabled=true;
-      x.options[12].disabled=true;
-      x.options[13].disabled=true;
-      x.options[14].disabled=true;
-      x.options[15].disabled=true;
-      x.options[16].disabled=true;
-      x.options[17].disabled=true;
-      x.options[18].disabled=true;
-      x.options[19].disabled=true;
-      x.options[20].disabled=true;
-      x.options[21].disabled=true;
-      x.options[22].disabled=true;
-      x.options[23].disabled=true;
-      x.options[24].disabled=true;
-      x.options[25].disabled=true;
-      x.options[26].disabled=true;
-      x.options[27].disabled=true;
-      x.options[28].disabled=true;
-      x.options[29].disabled=true;
-      x.options[30].disabled=true;
-      x.options[31].disabled=true;
-      x.options[32].disabled=true;
-    }
-
-
-    // disable pressure level box for 2D var
-    function disable_pres1(ID)
-    {
-      var x;
-      if (ID == 1) {
-        x=document.getElementById("pres1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("pres2");
-      }
-
-      x.value = "N/A";
-      x.disabled=true;
-    }
-
-    // enable pressure level box for 3D var
-    function enable_pres1(ID)
-    {
-      var x;
-      if (ID == 1) {
-        x=document.getElementById("pres1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("pres2");
-      }
-
-      x.value = "500";
-      x.disabled=false;
-    }
-
-    // form variable1 or variable2 string based on "var" dropdown selection
-    function select_var1(ID)
-    {
-      var var_string;
-
-      if (ID == 1) {
-        var_string = $("#var1").val();
-      }
-      else if (ID == 2) {
-        var_string = $("#var2").val();
-      }
-
-      // alert("var_string: " + var_string)
-
-      // disable the download button because of this change  
-      disable_download_button();  
-  
-      if (var_string == "Total Cloud Fraction") { 
-        if (ID == 1) {
-          variable1 = "clt";  // a 2D var
-        }
-        else if (ID == 2) {
-          variable2 = "clt";  // a 2D var
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-        // alert("variable1: " + variable1)
-      }
-      else if (var_string == "Surface Temperature") {
-        if (ID == 1) {
-          variable1 = "ts";  
-        }
-        else if (ID == 2) {
-          variable2 = "ts";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Sea Surface Temperature") { 
-        if (ID == 1) {
-          variable1 = "tos";  
-        }
-        else if (ID == 2) {
-          variable2 = "tos";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Precipitation Flux") { 
-        if (ID == 1) {
-          variable1 = "pr";  
-        }
-        else if (ID == 2) {
-          variable2 = "pr";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Eastward Near-Surface Wind") { 
-        if (ID == 1) {
-          variable1 = "uas";  
-        }
-        else if (ID == 2) {
-          variable2 = "uas";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Northward Near-Surface Wind") {  
-        if (ID == 1) {
-          variable1 = "vas";  
-        }
-        else if (ID == 2) {
-          variable2 = "vas";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Near-Surface Wind Speed") { 
-        if (ID == 1) {
-          variable1 = "sfcWind";  
-        }
-        else if (ID == 2) {
-          variable2 = "sfcWind";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Sea Surface Height") { 
-        if (ID == 1) {
-          variable1 = "zos";  
-        }
-        else if (ID == 2) {
-          variable2 = "zos";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Leaf Area Index") { 
-        if (ID == 1) {
-          variable1 = "lai";  
-        }
-        else if (ID == 2) {
-          variable2 = "lai";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Equivalent Water Height Over Land") {
-        if (ID == 1) {
-          variable1 = "zl";  
-        }
-        else if (ID == 2) {
-          variable2 = "zl";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Equivalent Water Height Over Ocean") {
-        if (ID == 1) {
-          variable1 = "zo";
-        }
-        else if (ID == 2) {
-          variable2 = "zo";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Ocean Heat Content Anomaly within 700 m Depth") {
-        if (ID == 1) {
-          variable1 = "ohc700";
-        }
-        else if (ID == 2) {
-          variable2 = "ohc700";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Ocean Heat Content Anomaly within 2000 m Depth") {
-        if (ID == 1) {
-          variable1 = "ohc2000";
-        }
-        else if (ID == 2) {
-          variable2 = "ohc2000";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlds";
-        }
-        else if (ID == 2) {
-          variable2 = "rlds";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsds";
-        }
-        else if (ID == 2) {
-          variable2 = "rsds";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Upwelling Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlus";
-        }
-        else if (ID == 2) {
-          variable2 = "rlus";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Upwelling Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsus";
-        }
-        else if (ID == 2) {
-          variable2 = "rsus";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Clear-Sky Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rldscs";
-        }
-        else if (ID == 2) {
-          variable2 = "rldscs";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Clear-Sky Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsdscs";
-        }
-        else if (ID == 2) {
-          variable2 = "rsdscs";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Upwelling Clear-Sky Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsuscs";
-        }
-        else if (ID == 2) {
-          variable2 = "rsuscs";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Incident Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsdt";
-        }
-        else if (ID == 2) {
-          variable2 = "rsdt";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Clear-Sky Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlutcs";
-        }
-        else if (ID == 2) {
-          variable2 = "rlutcs";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlut";
-        }
-        else if (ID == 2) {
-          variable2 = "rlut";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Clear-Sky Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsutcs";
-        }
-        else if (ID == 2) {
-          variable2 = "rsutcs";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsut";
-        }
-        else if (ID == 2) {
-          variable2 = "rsut";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Air Temperature") {
-        if (ID == 1) {
-          variable1 = "ta";
-        }
-        else if (ID == 2) {
-          variable2 = "ta";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Specific Humidity") {
-        if (ID == 1) {
-          variable1 = "hus";
-        }
-        else if (ID == 2) {
-          variable2 = "hus";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Cloud Ice Water Content") {
-        if (ID == 1) {
-          variable1 = "cli";
-        }
-        else if (ID == 2) {
-          variable2 = "cli";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Cloud Liquid Water Content") {
-        if (ID == 1) {
-          variable1 = "clw";
-        }
-        else if (ID == 2) {
-          variable2 = "clw";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Ocean Temperature") {
-        if (ID == 1) {
-          variable1 = "ot";
-        }
-        else if (ID == 2) {
-          variable2 = "ot";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Ocean Salinity") {
-        if (ID == 1) {
-          variable1 = "os";
-        }
-        else if (ID == 2) {
-          variable2 = "os";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Vertical Wind Velocity") {
-        if (ID == 1) {
-          variable1 = "wap";
-        }
-        else if (ID == 2) {
-          variable2 = "wap";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Relative Humidity") {
-        if (ID == 1) {
-          variable1 = "hur";
-        }
-        else if (ID == 2) {
-          variable2 = "hur";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-
-      // alert("variable1: " + variable1)
-    }
-
-
-    // set up "var1" dropdown based status of "data1" dropdown
-    function select_data1(ID)
-    {
-      var data_string;
-      var x;
-
-      if (ID == 1) {
-        data_string = $("#data1").val();
-        x = document.getElementById("var1");
-      }
-      else if (ID == 2) {
-        data_string = $("#data2").val();
-        x = document.getElementById("var2");
-      }
-
-      // alert(ID);
-      // alert(data_string);
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      // disable corresponding "var" options
-      if (data_string == "NASA/AMSRE") {
-
-        unset_vars1(ID); // disable all options in "var" dropdown first
-
-        x.options[3].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[3].disabled=false;
-
-      }
-      else if (data_string == "NASA/MODIS") {
-
-        unset_vars1(ID);
-
-        x.options[1].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[1].disabled=false;
-        x.options[8].disabled=false;
-
-      }
-      else if (data_string == "NASA/TRMM") {
-
-        unset_vars1(ID);
-
-        x.options[0].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[0].disabled=false;
-
-      }
-      else if (data_string == "NASA/GPCP") {
-
-        unset_vars1(ID);
-
-        x.options[0].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[0].disabled=false;
-
-      }
-      else if (data_string == "NASA/QuikSCAT") {
-
-        unset_vars1(ID);
-
-        x.options[4].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-
-      }
-      else if (data_string == "NASA/AVISO") {
-
-        unset_vars1(ID);
-
-        x.options[7].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[7].disabled=false;
-
-      }
-      else if (data_string == "NASA/GRACE") {
-
-        unset_vars1(ID);
-
-        x.options[9].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[9].disabled=false;
-        x.options[10].disabled=false;
-
-      }
-      else if (data_string == "NOAA/NODC") {
-
-        unset_vars1(ID);
-
-        x.options[11].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[11].disabled=false;
-        x.options[12].disabled=false;
-
-      }
-      else if (data_string == "NASA/CERES") {
-
-        unset_vars1(ID);
-
-        x.options[13].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        // The following 6 commented out
-        // per request by Benyang
-        // x.options[25].disabled=false;
-        // x.options[26].disabled=false;
-        // x.options[27].disabled=false;
-        // x.options[28].disabled=false;
-        // x.options[29].disabled=false;
-        // x.options[30].disabled=false;
-
-      }
-      else if (data_string == "NASA/AIRS") {
-
-        unset_vars1(ID);
-
-        x.options[25].selected=true;
-        enable_pres1(ID); // the selected one is 3D
-
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-
-      }
-      else if (data_string == "NASA/MLS") {
-
-        unset_vars1(ID);
-
-        x.options[25].selected=true;
-        enable_pres1(ID); // the selected one is 3D
-
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-
-      }
-      else if (data_string == "ARGO/ARGO") {
-
-        unset_vars1(ID);
-
-        x.options[29].selected=true;
-        enable_pres1(ID); // the selected one is 3D
-
-        x.options[29].disabled=false;
-        x.options[30].disabled=false;
-
-        // alert("in ARGO ...");
-        // alert(data_string);
-      }
-      else if (data_string == "CCCMA/CANAM4") {
-
-        unset_vars1(ID);
-
-        x.options[0].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-
-      }
-      else if (data_string == "CSIRO/MK3.6") {
-
-        unset_vars1(ID);
-
-        x.options[0].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-
-      }
-      else if (data_string == "NCAR/CAM5") {
-
-        unset_vars1(ID);
-
-        x.options[0].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[3].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[7].disabled=false;
-        x.options[8].disabled=false;
-
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-
-      }
-
-      else if (data_string == "CCCMA/CANESM2" || data_string == "GFDL/ESM2G" ||
-               data_string == "GISS/E2-H" || data_string == "GISS/E2-R" ||
-               data_string == "NCC/NORESM" ||
-               data_string == "UKMO/HadGEM2-ES" ||
-               data_string == "GFDL/CM3" || data_string == "IPSL/CM5A-LR" ||
-               data_string == "MIROC/MIROC5" || data_string == "UKMO/HadGEM2-A"
-              ) {
-
-        unset_vars1(ID);
-
-        x.options[0].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[3].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[7].disabled=false;
-        x.options[8].disabled=false;
-
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-
-      }
-      else if (data_string == "ECMWF/interim") {
-        unset_vars1(ID);
-
-        x.options[3].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[3].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-      }
-
-      // form variable string
-      select_var1(ID);
-    }
-
-
-    $(document).ready(function(){
-
-      $("a").click(function(event){
-        alert("As you can see, the link no longer took you to jquery.com");
-        event.preventDefault();
-      });
-
-
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        // alert(durl);
-        window.location.assign(durl);
-      });
-
-
-      $("#scatterPlot2V").click(function(event) {
-        // alert('****** inside scatterPlot2V()!');
-        Response = null;
-
-        // no data to download yet
-        disable_download_button();
-
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-
-        // sample url: http://cmacws.jpl.nasa.gov:9002/svc/scatterPlot2V?model1=ukmo_hadgem2-a&var1=ts&pres1=200&model2=ukmo_hadgem2-a&var2=clt&pres2=200&start_time=199001&end_time=199512&lon1=0&lon2=100&lat1=-29&lat2=29
-        // form url string
-        // var url = "http://cmacws.jpl.nasa.gov:9002/svc/scatterPlot2V?";
-        var url = "http://" + window.location.hostname + ":9002/svc/scatterPlot2V?";
-        // alert("url: " + url);
-
-        var d1 = $("#data1").val();
-        var model1 = d1.replace("/", "_");
-        model1 = model1.toLowerCase();
-
-        var arglist = "";
-        arglist = arglist.concat("model1=");
-        arglist = arglist.concat(model1);
-
-        // alert("arglist: " + arglist);
-
-        var v1 = $("#var1").val();
-        arglist = arglist.concat("&var1=");
-        arglist = arglist.concat(variable1);
-
-        // alert("arglist: " + arglist);
-
-        var pres1 = $("#pres1").val();
-        arglist = arglist.concat("&pres1=");
-        arglist = arglist.concat(pres1);
-
-        var d2 = $("#data2").val();
-        var model2 = d2.replace("/", "_");
-        model2 = model2.toLowerCase();
-
-        arglist = arglist.concat("&model2=");
-        arglist = arglist.concat(model2);
-
-        // alert("arglist: " + arglist);
-
-        var v2 = $("#var2").val();
-        arglist = arglist.concat("&var2=");
-        arglist = arglist.concat(variable2);
-
-        // alert("arglist: " + arglist);
-
-        var pres2 = $("#pres2").val();
-        arglist = arglist.concat("&pres2=");
-        arglist = arglist.concat(pres2);
-
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-
-        // alert("arglist: " + arglist);
-
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-
-        var nSample = $("#nSample").val();
-        arglist = arglist.concat("&nSample=");
-        arglist = arglist.concat(nSample);
-
-        // alert("arglist: " + arglist);
-
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-
-        // url = url + encodeURIComponent(arglist);
-        url = url + encodeURI(arglist);
-        // url = url + arglist;
-        // alert("url: " + url);
-
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/two_time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("2");
-        arglistTB = arglistTB.concat("&source1=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var1=");
-        arglistTB = arglistTB.concat(variable1);
-        arglistTB = arglistTB.concat("&source2=");
-        arglistTB = arglistTB.concat(d2);
-        arglistTB = arglistTB.concat("&var2=");
-        arglistTB = arglistTB.concat(variable2);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        // alert("urlTimeBounds: " + urlTimeBounds);
-
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert("text: " + text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                // $("#Response").html(text);
-
-                var tb1 = data.time_bounds1;
-                var bds1 = String(tb1).split(",");
-                // alert("tb1: " + tb1);
-                // alert("bds1: " + bds1);
-                var lowerT1 = parseInt(bds1[0]);
-                // alert("inside ajax, lowerT1: " + lowerT1);
-                var upperT1 = parseInt(bds1[1]);
-                // alert("upperT1: " + upperT1);
-
-                var tb2 = data.time_bounds2;
-                var bds2 = String(tb2).split(",");
-                // alert("tb2: " + tb2);
-                // alert("bds2: " + bds2);
-                var lowerT2 = parseInt(bds2[0]);
-                // alert("inside ajax, lowerT2: " + lowerT2);
-                var upperT2 = parseInt(bds2[1]);
-                // alert("upperT2: " + upperT2);
-
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                // alert("t0: " + t0I);
-                // alert("t1: " + t1I);
-
-                var lowerT, upperT;
-                // compute the intersection of the two data bounds
-                if (lowerT1 == 0  || upperT1 == 0){ // no data-1
-                  alert("We do not have data for the data-1 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 == 0  || upperT2 == 0){ // no data-2
-                  alert("We do not have data for the data-2 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 > upperT1 || lowerT1 > upperT2) { // no intersection
-                  alert("The two data sets/vars do not have a common time range.");
-                  return;
-                }
-                else { // compute intersection
-                  if (lowerT1 > lowerT2) { // pick bigger lower time bound
-                    lowerT = lowerT1;
-                  }
-                  else {
-                    lowerT = lowerT2;
-                  }
-
-                  if (upperT1 > upperT2) { // pick smaller upper time bound
-                    upperT = upperT2;
-                  }
-                  else {
-                    upperT = upperT1;
-                  }
-                }
-                // alert("lowerT: " + lowerT);
-                // alert("upperT: " + upperT);
-
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-
-                    if (text.indexOf("No Data") != -1) {
-                      $("#Image").html("No Data");
-                      $("#Response").html("No Data");
-                      $("#data_url").html("No Data");
-                      return;
-                    }
-
-                    text = "Error in backend: <br>" + text; 
-                    // $("#Response").html("<span style='color:red'>" + text + "</span>");
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert(text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                $("#Response").html(text);
-
-                var html = "<img src='"+data.url+"' width='820'/>";
-                // alert(html);
-                $("#Image").html(html);
-
-                // post dataUrl to textarea and enable download button
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-      });
-
-    });
-    
-  </script>
-</head>
-<body>
-
-<p>
-
-<table border="1">
-
-<tr>
-<td colspan="4">
-<center>
-<b>Service: Scatter and Histogram Plot of Two Variables</b><br><br>
-This service generates a scatter plot between two specified variables and the histograms of the two variables, and calculates the correlation of the two variables. The two variables can be either a two-dimensional variable or a slice of a three-dimensional variable at a specific pressure level. The number of samples used for this analysis should be specified. <br><br>
-</center>
-</td>
-</tr>
-
-<tr>
-<td colspan="2">
-<center>
-data 1
-</center>
-</td>
-
-<td colspan="2">
-<center>
-data 2
-</center>
-</td>
-</tr>
-
-<tr>
-<td>source:</td><td><select name="data1", id="data1" onchange="select_data1(1)">
-<optgroup label="Model: Historical">
-<option selected="CCCMA/CANESM2">CCCMA/CANESM2</option>
-<option>GFDL/ESM2G</option>
-<option>GISS/E2-H</option>
-<option>GISS/E2-R</option>
-<option>NCAR/CAM5</option>
-<option>NCC/NORESM</option>
-<option>UKMO/HadGEM2-ES</option>
-</optgroup>
-<optgroup label="Model: AMIP">
-<option>CCCMA/CANAM4</option>
-<option>CSIRO/MK3.6</option>
-<option>GFDL/CM3</option>
-<option>IPSL/CM5A-LR</option>
-<option>MIROC/MIROC5</option>
-<option>UKMO/HadGEM2-A</option>
-</optgroup>
-<!-- <option>NASA/obs4MIPs</option>  -->
-<optgroup label="Observation">
-<option>NASA/MODIS</option>
-<option>NASA/AMSRE</option>
-<option>NASA/TRMM</option>
-<option>NASA/GPCP</option>
-<option>NASA/QuikSCAT</option>
-<option>NASA/AVISO</option>
-<option>NASA/GRACE</option>
-<option>NOAA/NODC</option>
-<option>NASA/CERES</option>
-<option>NASA/AIRS</option>
-<option>NASA/MLS</option>
-<option>ARGO/ARGO</option>
-</optgroup>
-<optgroup label="Reanalysis">
-<option>ECMWF/interim</option>
-</optgroup>
-</select></td>
-
-<td>source:</td><td><select name="data2", id="data2" onchange="select_data1(2)">
-<optgroup label="Model: Historical">
-<option selected="CCCMA/CANESM2">CCCMA/CANESM2</option>
-<option>GFDL/ESM2G</option>
-<option>GISS/E2-H</option>
-<option>GISS/E2-R</option>
-<option>NCAR/CAM5</option>
-<option>NCC/NORESM</option>
-<option>UKMO/HadGEM2-ES</option>
-</optgroup>
-<optgroup label="Model: AMIP">
-<option>CCCMA/CANAM4</option>
-<option>CSIRO/MK3.6</option>
-<option>GFDL/CM3</option>
-<option>IPSL/CM5A-LR</option>
-<option>MIROC/MIROC5</option>
-<option>UKMO/HadGEM2-A</option>
-</optgroup>
-<!-- <option>NASA/obs4MIPs</option>  -->
-<optgroup label="Observation">
-<option>NASA/MODIS</option>
-<option>NASA/AMSRE</option>
-<option>NASA/TRMM</option>
-<option>NASA/GPCP</option>
-<option>NASA/QuikSCAT</option>
-<option>NASA/AVISO</option>
-<option>NASA/GRACE</option>
-<option>NOAA/NODC</option>
-<option>NASA/CERES</option>
-<option>NASA/AIRS</option>
-<option>NASA/MLS</option>
-<option>ARGO/ARGO</option>
-</optgroup>
-<optgroup label="Reanalysis">
-<option>ECMWF/interim</option>
-</optgroup>
-</select></td>
-
-</tr>
-
-<tr>
-
-<td>variable name:</td><td><select name="var1", id="var1" onchange="select_var1(1)">
-<option>Precipitation Flux</option>
-<option>Total Cloud Fraction</option>
-<option>Surface Temperature</option>
-<option>Sea Surface Temperature</option>
-<option>Eastward Near-Surface Wind</option>
-<option>Northward Near-Surface Wind</option>
-<option>Near-Surface Wind Speed</option>
-<option>Sea Surface Height</option>
-<option>Leaf Area Index</option>
-<option>Equivalent Water Height Over Land</option>
-<option>Equivalent Water Height Over Ocean</option>
-<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-<option>Surface Downwelling Longwave Radiation</option>
-<option>Surface Downwelling Shortwave Radiation</option>
-<option>Surface Upwelling Longwave Radiation</option>
-<option>Surface Upwelling Shortwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-<option>TOA Incident Shortwave Radiation</option>
-<option>TOA Outgoing Longwave Radiation</option>
-<option>TOA Outgoing Shortwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-<option>Air Temperature</option>
-<option>Specific Humidity</option>
-<option>Cloud Ice Water Content</option>
-<option>Cloud Liquid Water Content</option>
-<option>Ocean Temperature</option>
-<option>Ocean Salinity</option>
-<option>Vertical Wind Velocity</option>  
-<option>Relative Humidity</option>
-</select>
-</td>
-
-
-<td>variable name:</td><td><select name="var2", id="var2" onchange="select_var1(2)">
-<option>Precipitation Flux</option>
-<option>Total Cloud Fraction</option>
-<option>Surface Temperature</option>
-<option>Sea Surface Temperature</option>
-<option>Eastward Near-Surface Wind</option>
-<option>Northward Near-Surface Wind</option>
-<option>Near-Surface Wind Speed</option>
-<option>Sea Surface Height</option>
-<option>Leaf Area Index</option>
-<option>Equivalent Water Height Over Land</option>
-<option>Equivalent Water Height Over Ocean</option>
-<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-<option>Surface Downwelling Longwave Radiation</option>
-<option>Surface Downwelling Shortwave Radiation</option>
-<option>Surface Upwelling Longwave Radiation</option>
-<option>Surface Upwelling Shortwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-<option>TOA Incident Shortwave Radiation</option>
-<option>TOA Outgoing Longwave Radiation</option>
-<option>TOA Outgoing Shortwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-<option>Air Temperature</option>
-<option>Specific Humidity</option>
-<option>Cloud Ice Water Content</option>
-<option>Cloud Liquid Water Content</option>
-<option>Ocean Temperature</option>
-<option>Ocean Salinity</option>
-<option>Vertical Wind Velocity</option>  
-<option>Relative Humidity</option>
-</select>
-</td>
-
-</tr>
-
-<tr>
-
-<td>
-atmosphere pressure level (hPa) <br> or ocean pressure level (dbar)
-</td>
-<td>
-<input id="pres1" value="500" alt="pressure"/>
-</td>
-
-<td>
-atmosphere pressure level (hPa) <br> or ocean pressure level (dbar)
-</td>
-<td>
-<input id="pres2" value="500" alt="pressure"/>
-</td>
-
-</tr>
-
-<tr>
-</tr>
-
-<tr>
-<td>start year-month:</td><td><input id="t0" value="2004-01" alt="start"/></td>
-<td>end year-month:</td><td><input id="t1" value="2004-12" alt="end"/></td>
-</tr>
-
-
-<tr>
-<td>start lat (deg):</td><td><input id="lat0" value="-90"/></td>
-<td>end lat (deg):</td><td><input id="lat1" value="90"/></td>
-</tr>
-
-<tr>
-<td>start lon (deg):</td><td><input id="lon0" value="0"/></td>
-<td>end lon (deg):</td><td><input id="lon1" value="360"/></td>
-</tr>
-
-<tr>  
-<td>number of samples:</td><td><input id="nSample" value="500"/></td></tr>
-</tr>
-
-<tr>
-<td colspan="1">
-Execution purpose
-</td>
-<td colspan="3">
-<form>
-<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-</form>
-</td>
-</tr>
-
-<tr>
-<td colspan="2" align="center"><input id="scatterPlot2V" type="submit" value="            Get  Plot            " style="height:28px"/></td>
-<form>
-<td colspan="2" align="center"><input id="download_data" type="button" value="Download Data" style="height:28px"/>
-</td>
-</form>
-
-</tr>
-
-<tr>
-<td colspan="4">
-<div id="Image">Image Here</div>
-</td>
-</tr>
-
-<tr>
-<td colspan="4" align="center">
-<textarea readonly id="data_url" cols="130" rows="2">Data URL Here</textarea>
-</td>
-</tr>
-
-<tr>
-<td colspan="4" align="center">
-<textarea id="Response" cols="130" rows="6">Service Response Text Here</textarea>
-</td>
-</tr>
-
-</table>
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/threeDimVarVertical.html
----------------------------------------------------------------------
diff --git a/public/html/threeDimVarVertical.html b/public/html/threeDimVarVertical.html
deleted file mode 100644
index 1bc1203..0000000
--- a/public/html/threeDimVarVertical.html
+++ /dev/null
@@ -1,731 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> -->
-  <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-  <script type="text/javascript" src="js/jquery.flot.min.js"></script>
-  <script type="text/javascript" src="js/json2.js"></script>
-  <script type="text/javascript" src="js/xmisc.js"></script>
-  <script type="text/javascript">
-
-    var Response = null;
-    var variable = "";
-
-    // called on load or reload
-    window.onload = function() {
-      select_all_months();
-      select_data();
-      select_var();
-      // no data to download yet
-      disable_download_button();
-    }
-
-
-    // disable download data button
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=true;
-    }
-
-
-    // enable download data button
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-
-
-    // select all months in the checkboxes
-    function select_all_months()
-    {
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-        document.getElementById('Dec').checked = true;
-    }
-
-    // see if no month is selected
-    function no_month_check()
-    {
-        if (document.getElementById('Jan').checked == false &&
-           document.getElementById('Feb').checked == false &&
-           document.getElementById('Mar').checked == false &&
-           document.getElementById('Apr').checked == false &&
-           document.getElementById('May').checked == false &&
-           document.getElementById('Jun').checked == false &&
-           document.getElementById('Jul').checked == false &&
-           document.getElementById('Aug').checked == false &&
-           document.getElementById('Sep').checked == false &&
-           document.getElementById('Oct').checked == false &&
-           document.getElementById('Nov').checked == false &&
-           document.getElementById('Dec').checked == false) {
-           // alert("No month check!");
-           return true;
-          }
-        else
-           return false;
-    }
-
-    // unselect all months in the checkboxes
-    function reset_months()
-    {
-        document.getElementById('Jan').checked = false;
-        document.getElementById('Feb').checked = false;
-        document.getElementById('Mar').checked = false;
-        document.getElementById('Apr').checked = false;
-        document.getElementById('May').checked = false;
-        document.getElementById('Jun').checked = false;
-        document.getElementById('Jul').checked = false;
-        document.getElementById('Aug').checked = false;
-        document.getElementById('Sep').checked = false;
-        document.getElementById('Oct').checked = false;
-        document.getElementById('Nov').checked = false;
-        document.getElementById('Dec').checked = false;
-    }
-
-    // enable all vars in dropdown menu
-    function reset_vars()
-    {
-      var x=document.getElementById("var");
-      x.options[0].disabled=false;
-      x.options[1].disabled=false;
-      x.options[2].disabled=false;
-      x.options[3].disabled=false;
-      x.options[4].disabled=false;
-      x.options[5].disabled=false;
-      x.options[6].disabled=false;
-      x.options[7].disabled=false;
-    }
-
-    // form variable string based on "var" dropdown selection
-    function select_var()
-    {
-      var var_string = $("#var").val();
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      if (var_string == "Air Temperature")
-        variable = "ta";
-      else if (var_string == "Specific Humidity")
-        variable = "hus";
-      else if (var_string == "Cloud Ice Water Content")
-        variable = "cli";
-      else if (var_string == "Cloud Liquid Water Content")
-        variable = "clw";
-      else if (var_string == "Ocean Temperature")
-        variable = "ot";
-      else if (var_string == "Ocean Salinity")
-        variable = "os";
-      else if (var_string == "Vertical Wind Velocity")  
-        variable = "wap";  
-      else if (var_string == "Relative Humidity")  
-        variable = "hur";  
-
-      // alert("variable: " + variable)
-    }
-
-    // set up "var" dropdown based status of "data" dropdown
-    function select_data()
-    {
-      var data_string = $("#data").val();
-      var x=document.getElementById("var");
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      // enable all options in "var" dropdown first
-      reset_vars();
-
-      // alert(data_string);
-
-      // disable corresponding "var" options
-      if (data_string == "NASA/AIRS") {
-        x.options[0].selected=true;
-        //x.options[1].selected=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "NASA/MLS") {
-        x.options[0].selected=true;
-        //x.options[1].selected=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "ARGO/ARGO") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].selected=true;
-        //x.options[5].selected=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "ECMWF/interim") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        //x.options[6].disabled=true;
-        //x.options[7].disabled=true;
-        x.options[6].selected=true;
-      }
-      else {
-        x.options[0].selected=true;
-        //x.options[1].selected=true;
-        //x.options[2].selected=true;
-        //x.options[3].selected=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-      }
-
-      // form variable string
-      select_var();
-    }
-
-    // select checkboxes based on "months" dropdown
-    function select_months()
-    {
-      var s1=document.getElementById("months");
-      // alert(s1.selectedIndex);
-      // alert(s1.options[s1.selectedIndex].value);
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      // "select none"
-      if (s1.selectedIndex == 1) {
-        reset_months();
-      }
-      // "select all"
-      if (s1.selectedIndex == 0) {
-        select_all_months();
-      }
-      // "summer"
-      if (s1.selectedIndex == 2) {
-        reset_months();
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-      }
-      // "autumn"
-      if (s1.selectedIndex == 3) {
-        reset_months();
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-      }
-      // "winter"
-      if (s1.selectedIndex == 4) {
-        reset_months();
-        document.getElementById('Dec').checked = true;
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-      }
-      // "spring"
-      if (s1.selectedIndex == 5) {
-        reset_months();
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-      }
-        
-    }
-
-    $(document).ready(function(){
-
-      $("a").click(function(event){
-        alert("As you can see, the link no longer took you to jquery.com");
-        event.preventDefault();
-      });
-
-
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        // alert(durl);
-        window.location.assign(durl);
-      });
-
-
-      $("#threedvertical").click(function(event) {
-	Response = null;
-        // no data to download yet
-        disable_download_button();
-
-        // flag error if no month box is checked
-        if (no_month_check()) {
-           // $("#Response").html("<span style='color:red'>Error: please check at least one month.</span>");
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        }
-
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-
-        // sample url: http://cmacws.jpl.nasa.gov:9002/svc/threeDimVerticalProfile?model=ncc_noresm&var=cli&start_time=199001&end_time=199512&lon1=0&lon2=180&lat1=-29&lat2=29&months=1,2,3,4,5,6,7,8,9,10,11,12
-
-        // form url string
-        var url = "http://" + window.location.hostname + ":9002/svc/threeDimVerticalProfile?";
-        // alert(url);
-
-        var d1 = $("#data").val();
-        var model1 = d1.replace("/", "_");
-
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-
-        var v1 = $("#var").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(variable);
-
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-
-        var s1 = document.getElementById('months');
-
-        // get months checked by client
-        var month_str = "";
-
-        var mm = document.getElementById('Jan');
-        if (mm.checked == true)
-          month_str = month_str.concat(",1");
-
-        var mm = document.getElementById('Feb');
-        if (mm.checked == true)
-          month_str = month_str.concat(",2");
-
-        var mm = document.getElementById('Mar');
-        if (mm.checked == true)
-          month_str = month_str.concat(",3");
-
-        var mm = document.getElementById('Apr');
-        if (mm.checked == true)
-          month_str = month_str.concat(",4");
-
-        var mm = document.getElementById('May');
-        if (mm.checked == true)
-          month_str = month_str.concat(",5");
-
-        var mm = document.getElementById('Jun');
-        if (mm.checked == true)
-          month_str = month_str.concat(",6");
-
-        var mm = document.getElementById('Jul');
-        if (mm.checked == true)
-          month_str = month_str.concat(",7");
-
-        var mm = document.getElementById('Aug');
-        if (mm.checked == true)
-          month_str = month_str.concat(",8");
-
-        var mm = document.getElementById('Sep');
-        if (mm.checked == true)
-          month_str = month_str.concat(",9");
-
-        var mm = document.getElementById('Oct');
-        if (mm.checked == true)
-          month_str = month_str.concat(",10");
-
-        var mm = document.getElementById('Nov');
-        if (mm.checked == true)
-          month_str = month_str.concat(",11");
-
-        var mm = document.getElementById('Dec');
-        if (mm.checked == true)
-          month_str = month_str.concat(",12");
-
-        // remove the leading ','
-        month_str = month_str.substr(1);
-        // alert(month_str);
-
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-        // alert("arglist: " + arglist);
-
-        arglist = arglist.concat("&scale=");
-        var y = document.getElementById("radioLin").checked;
-        var yval;
-        var x = document.getElementById("radioLin2").checked;
-        var xval;
-        // alert(y);
-        if (y == true)
-          yval = 0;
-        else
-          yval = 2;
-
-        if (x == true)
-          xval = 0;
-        else
-          xval = 1;
-
-        var scale1 =  yval + xval;
-        var scale1_str =  scale1.toString();
-
-        arglist = arglist.concat(scale1_str);
-
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-
-        // url = url + encodeURIComponent(arglist);
-        url = url + encodeURI(arglist);
-        // url = url + arglist;
-        // alert("url: " + url);
-
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        // alert("urlTimeBounds: " + urlTimeBounds);
-
-
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert("text: " + text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                // $("#Response").html(text);
-
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                // alert("tb: " + tb);
-                // alert("bds: " + bds);
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                // alert("lowerT: " + lowerT);
-                // alert("upperT: " + upperT);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                // alert("t0: " + t0I);
-                // alert("t1: " + t1I);
-
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    // $("#Response").html("<span style='color:red'>" + text + "</span>");
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert(text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                $("#Response").html(text);
-
-                var html1 = "<img src='"+data.url+"' width='680'/>";
-                // alert(html1);
-                $("#Image").html(html1);
-
-                // post dataUrl to textarea and enable download button
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-                $("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-      });
-
-
-    });
-    
-  </script>
-</head>
-<body>
-
-<p>
-
-<table border="1">
-
-<tr>
-<td colspan="4">
-<center>
-<b>Service: 3-D Variable Average Vertical Profile</b> <br><br>
-This service generates the average of a three-dimensional variable over a specified region and time and display the average as a function of pressure level as an X-Y plot. 
-<br><br>
-</center>
-</td>
-</tr>
-
-<tr>
-<td>data source:</td><td><select name="data", id="data" onchange="select_data()">
-<optgroup label="Observation">
-<option selected="NASA/AIRS">NASA/AIRS</option>
-<option>NASA/MLS</option>
-<option>ARGO/ARGO</option>
-</optgroup>
-<optgroup label="Model: Historical">
-<option>CCCMA/CANESM2</option>
-<option>GFDL/ESM2G</option>
-<option>GISS/E2-H</option>
-<option>GISS/E2-R</option>
-<option>NCAR/CAM5</option>
-<option>NCC/NORESM</option>
-<option>UKMO/HadGEM2-ES</option>
-</optgroup>
-<optgroup label="Model: AMIP">
-<option>CCCMA/CANAM4</option>
-<option>CSIRO/MK3.6</option>
-<option>GFDL/CM3</option>
-<option>IPSL/CM5A-LR</option>
-<option>MIROC/MIROC5</option>
-<option>UKMO/HadGEM2-A</option>
-</optgroup>
-<optgroup label="Reanalysis">
-<option>ECMWF/interim</option>
-</optgroup>
-</select></td>
-
-<td>variable name:</td><td><select name="var", id="var" onchange="select_var()">
-<option>Air Temperature</option> 
-<option>Specific Humidity</option>
-<option>Cloud Ice Water Content</option>
-<option>Cloud Liquid Water Content</option>
-<option>Ocean Temperature</option>
-<option>Ocean Salinity</option>
-<option>Vertical Wind Velocity</option>  
-<option>Relative Humidity</option>
-</select></td>
-</tr>
-
-<tr>
-<td>start year-month:</td><td><input id="t0" value="2004-01" alt="start"/></td>
-<td>end year-month:</td><td><input id="t1" value="2004-12" alt="end"/></td>
-</tr>
-
-<tr>
-<td>select months:</td>
-<td><select name="months" id="months" onchange="select_months()">
-<option id="all">select all</option>
-<option id="none">select none</option>
-<option id="summer">Summer:Jun-Jul-Aug</option>
-<option id="autum">Autumn:Sep-Oct-Nov</option>
-<option id="winter">Winter:Dec-Jan-Feb</option>
-<option id="spring">Spring:Mar-Apr-May</option> </select>
-</td>
-<td>
-</td>
-<td>
-</td>
-</tr>
-
-<tr>
-<td>
-<label><input type="checkbox" name="option1" id="Jan" value="Jan" /> Jan<br></label>
-<label><input type="checkbox" name="option1" id="Feb" value="Feb" /> Feb<br></label>
-<label><input type="checkbox" name="option1" id="Mar" value="Mar" /> Mar<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Apr" value="Apr" /> Apr<br></label>
-<label><input type="checkbox" name="option1" id="May" value="May" /> May<br></label>
-<label><input type="checkbox" name="option1" id="Jun" value="Jun" /> Jun<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Jul" value="Jul" /> Jul<br></label>
-<label><input type="checkbox" name="option1" id="Aug" value="Aug" /> Aug<br></label>
-<label><input type="checkbox" name="option1" id="Sep" value="Sep" /> Sep<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Oct" value="Oct" /> Oct<br></label>
-<label><input type="checkbox" name="option1" id="Nov" value="Nov" /> Nov<br></label>
-<label><input type="checkbox" name="option1" id="Dec" value="Dec" /> Dec<br></label>
-</td>
-</tr>
-
-<tr>
-<td>start lat (deg):</td><td><input id="lat0" value="-90"/></td>
-<td>end lat (deg):</td><td><input id="lat1" value="90"/></td>
-</tr>
-
-<tr>
-<td>start lon (deg):</td><td><input id="lon0" value="0"/></td>
-<td>end lon (deg):</td><td><input id="lon1" value="360"/></td>
-</tr>
-
-
-<tr><td colspan="1">
-pressure level scale:</td>
-<td colspan="1"><form> <input type="radio" name="scale1" value="linear" id="radioLin">linear
-<input type="radio" name="scale1" value="logarithmic" id="radioLog" checked>logarithmic
-</form>
-</td>
-<td colspan="1">
-variable scale:
-</td>
-<td colspan="1">
-<form> <input type="radio" name="scale2" value="linear" id="radioLin2" checked>linear
-<input type="radio" name="scale2" value="logarithmic" id="radioLog2">logarithmic
-</form>
-</td>
-</tr>
-
-<tr>
-<td colspan="1">
-Execution purpose
-</td>
-<td colspan="3">
-<form>
-<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-</form>
-</td>
-</tr>
-
-
-
-
-
-
-<tr>
-<td colspan="2" align="center"><input id="threedvertical" type="submit" value="            Get  Plot            " style="height:28px"/></td>
-<form>
-<td colspan="2" align="center"><input id="download_data" type="button" value="Download Data" style="height:28px"/>
-</td>
-</form>
-</tr>
-
-<tr>
-<td colspan="4">
-<div id="Image">Image Here</div>
-</td>
-</tr>
-<tr>
-<td colspan="4" align="center">
-<textarea readonly id="data_url" cols="89" rows="2">Data URL Here</textarea>
-</td>
-</tr>
-<tr> 
-<td colspan="4" align="center">
-<textarea readonly id="Response" cols="89" rows="6">Service Response Text Here</textarea>
-</td>
-</tr>
-</p>
-
-</table>
-
-</body>
-</html>


[48/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/.sbtserver/connections/activator-b9269a46-8719-48c7-8a73-da2559e32568.log
----------------------------------------------------------------------
diff --git a/.sbtserver/connections/activator-b9269a46-8719-48c7-8a73-da2559e32568.log b/.sbtserver/connections/activator-b9269a46-8719-48c7-8a73-da2559e32568.log
deleted file mode 100644
index 265fc0f..0000000
--- a/.sbtserver/connections/activator-b9269a46-8719-48c7-8a73-da2559e32568.log
+++ /dev/null
@@ -1,13537 +0,0 @@
-New log file opened at Tue Jul 21 18:34:15 PDT 2015 by 10232@Lenovo-PC
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,sbt server socket logs are in: C:\JPL\JPL-Front\.sbtserver\connections\master.log))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,sbt client logs are in: C:\JPL\JPL-Front\.sbtserver\connections\activator-b9269a46-8719-48c7-8a73-da2559e32568.log))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,sbt general server logs are in: C:\JPL\JPL-Front\.sbtserver\master.log))
-Reading next message from client.
-Got request: ListenToEvents()
-Reading next message from client.
-Got request: ListenToBuildChange()
-Reading next message from client.
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,> --initialize))
-Got request: SendSyntheticBuildChanged()
-Reading next message from client.
-Got request: KeyLookupRequest(discoveredMainClasses)
-Reading next message from client.
-Got request: KeyLookupRequest(mainClass)
-Reading next message from client.
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (3,ReceivedResponse())
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,> initialize))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,> onFailure load-failed))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,> boot))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,> reload))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,[Loading] Scanning directory C:\JPL\JPL-Front\project))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,[Loading] Found non-root projects ))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,[Loading] Done in C:\JPL\JPL-Front\project, returning: ()))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,deducing auto plugins based on known facts Set(Atom(sbt.plugins.CorePlugin)) and clauses Clauses(List(Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.JUnitXmlReportPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.IvyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.JUnitXmlReportPlugin)))))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,  :: deduced result: Matched(sbt.plugins.CorePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,sbt.plugins.JUnitXmlReportPlugin)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,sorting: ns: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,  :: sorting:: found: List(sbt.plugins.CorePlugin) not found List(sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin) not found List(sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin) not found List(sbt.plugins.JUnitXmlReportPlugin)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin) not found List()))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,  :: sorted deduced result: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,[Loading] Done in C:\JPL\JPL-Front\project, returning: (jpl-front-build)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(info,Loading project definition from C:\JPL\JPL-Front\project))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,Running task... Cancel: sbt.TaskCancellationStrategy$Null$@6d85dbc9, check cycles: false))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,
-Initial source changes: 
-	removed:Set()
-	added: Set()
-	modified: Set()
-Removed products: Set()
-External API changes: API Changes: Set()
-Modified binary dependencies: Set()
-Initial directly invalidated sources: Set()
-
-Sources indirectly invalidated by:
-	product: Set()
-	binary dep: Set()
-	external source: Set()))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,All initially invalidated sources: Set()
-))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,Copy resource mappings: 
-	))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,[Loading] Scanning directory C:\JPL\JPL-Front))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,[Loading] Found non-root projects ))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,[Loading] Done in C:\JPL\JPL-Front, returning: ()))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,deducing auto plugins based on known facts Set(Atom(sbt.plugins.CorePlugin)) and clauses Clauses(List(Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.JUnitXmlReportPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.BackgroundRunPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.IvyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.JUnitXmlReportPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.BackgroundRunPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.InteractionServicePlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.SendEventServicePlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.SerializersPlugin)))))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,  :: deduced result: Matched(sbt.plugins.CorePlugin,sbt.plugins.SerializersPlugin,sbt.plugins.SendEventServicePlugin,sbt.plugins.InteractionServicePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,sbt.plugins.BackgroundRunPlugin,sbt.plugins.JUnitXmlReportPlugin)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,sorting: ns: List(sbt.plugins.CorePlugin, sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,  :: sorting:: found: List(sbt.plugins.CorePlugin) not found List(sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin) not found List(sbt.plugins.JvmPlugin, sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin) not found List(sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin) not found List()))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,  :: sorted deduced result: List(sbt.plugins.CorePlugin, sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,[Loading] Done in C:\JPL\JPL-Front, returning: (jpl-front)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(info,Set current project to CMUSDS (in build file:/C:/JPL/JPL-Front/)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(info,Reapplying settings...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(info,Set current project to CMUSDS (in build file:/C:/JPL/JPL-Front/)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,> iflast shell))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,> server-send-ready-for-request))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: BuildLoaded()
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,> server-handle-next-server-request))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (4,ReceivedResponse())
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: BuildStructureChanged(MinimalBuildStructure(Vector(file:/C:/JPL/JPL-Front/),Vector(BuildData(file:/C:/JPL/JPL-Front/,Vector(C:\JPL\JPL-Front\project\target\scala-2.10\sbt-0.13\classes, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\com.typesafe.sbt\sbt-echo-play\jars\sbt-echo-play-0.1.1.3.jar, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\com.typesafe.sbt\sbt-echo\jars\sbt-echo-0.1.1.3.jar, C:\Users\Jia\.ivy2\cache\org.aspectj\aspectjtools\jars\aspectjtools-1.7.3.jar, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\com.typesafe.play\sbt-plugin\jars\sbt-plugin-2.2.3.jar, C:\Users\Jia\.ivy2\cache\com.typesafe.play\sbt-link\jars\sbt-link-2.2.3.jar, C:\Users\Jia\.ivy2\cache\org.javassist\javassist\bundles\javassist-3.18.0-GA.jar, C:\Users\Jia\.ivy2\cache\com.typesafe.play\play-exceptions\jars\play-exceptions-2.2.3.jar, C:\Users\Jia\.ivy2\cache\com.typesafe.play\routes-compiler_2.10\jars\routes-compiler_2.10-2.2.3.jar, C:\Us
 ers\Jia\.ivy2\cache\com.github.scala-incubator.io\scala-io-file_2.10\jars\scala-io-file_2.10-0.4.2.jar, C:\Users\Jia\.ivy2\cache\com.github.scala-incubator.io\scala-io-core_2.10\jars\scala-io-core_2.10-0.4.2.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\lib\scala-library.jar, C:\Users\Jia\.ivy2\cache\com.jsuereth\scala-arm_2.10\jars\scala-arm_2.10-1.3.jar, C:\Users\Jia\.ivy2\cache\com.typesafe.play\templates-compiler_2.10\jars\templates-compiler_2.10-2.2.3.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\lib\scala-compiler.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\lib\scala-reflect.jar, C:\Users\Jia\.ivy2\cache\com.typesafe.play\console_2.10\jars\console_2.10-2.2.3.jar, C:\Users\Jia\.ivy2\cache\org.scala-sbt\launcher-interface\jars\launcher-interface-0.13.0.jar, C:\Users\Jia\.ivy2\cache\jline\jline\jars\jline-2.11.jar, C:\Users\Jia\.ivy2\cache\com.typesafe\config\bundles\config-1.0.2.jar, C:\activator-dist-1.3.5\repository\org.mozilla\rhino\1.7R4\jars\rhino.jar, C:\activator-dist-1.3.5\repository
 \com.google.javascript\closure-compiler\v20130603\jars\closure-compiler.jar, C:\Users\Jia\.ivy2\cache\com.google.guava\guava\bundles\guava-14.0.1.jar, C:\activator-dist-1.3.5\repository\org.json\json\20090211\jars\json.jar, C:\Users\Jia\.ivy2\cache\org.avaje.ebeanorm\avaje-ebeanorm-agent\jars\avaje-ebeanorm-agent-3.2.1.jar, C:\Users\Jia\.ivy2\cache\com.h2database\h2\jars\h2-1.3.172.jar, C:\activator-dist-1.3.5\repository\net.contentobjects.jnotify\jnotify\0.94\jars\jnotify.jar, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\com.typesafe.sbteclipse\sbteclipse-plugin\jars\sbteclipse-plugin-2.4.0.jar, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\com.typesafe.sbteclipse\sbteclipse-core\jars\sbteclipse-core-2.4.0.jar, C:\Users\Jia\.ivy2\cache\org.scalaz\scalaz-core_2.10\bundles\scalaz-core_2.10-7.0.2.jar, C:\Users\Jia\.ivy2\cache\org.scalaz\scalaz-effect_2.10\bundles\scalaz-effect_2.10-7.0.2.jar, C:\activator-dist-1.3.5\repository\com.github.mpeltonen\sbt-idea\scala_2.10\sbt_0.13\1.5.2\jar
 s\sbt-idea.jar, C:\Users\Jia\.ivy2\cache\commons-io\commons-io\jars\commons-io-2.0.1.jar, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\com.typesafe.sbt\sbt-native-packager\jars\sbt-native-packager-0.6.4.jar, C:\Users\Jia\.ivy2\cache\org.apache.commons\commons-compress\jars\commons-compress-1.4.1.jar, C:\Users\Jia\.ivy2\cache\org.tukaani\xz\jars\xz-1.0.jar, C:\Users\Jia\.ivy2\cache\org.specs2\specs2_2.10\jars\specs2_2.10-2.1.1.jar, C:\Users\Jia\.ivy2\cache\org.scalaz\scalaz-concurrent_2.10\bundles\scalaz-concurrent_2.10-7.0.2.jar, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\org.scala-sbt\sbt-core-next\jars\sbt-core-next-0.1.1.jar, C:\Users\Jia\.ivy2\cache\org.scala-sbt\core-next_2.10\jars\core-next_2.10-0.1.1.jar, C:\Users\Jia\.ivy2\cache\org.scala-sbt\serialization_2.10\jars\serialization_2.10-0.1.0.jar, C:\Users\Jia\.ivy2\cache\org.scala-lang.modules\scala-pickling_2.10\jars\scala-pickling_2.10-0.10.0.jar, C:\Users\Jia\.ivy2\cache\org.scalamacros\quasiquotes_2.10\jars\quasiquotes_
 2.10-2.0.1.jar, C:\Users\Jia\.ivy2\cache\org.json4s\json4s-core_2.10\jars\json4s-core_2.10-3.2.10.jar, C:\Users\Jia\.ivy2\cache\org.json4s\json4s-ast_2.10\jars\json4s-ast_2.10-3.2.10.jar, C:\Users\Jia\.ivy2\cache\com.thoughtworks.paranamer\paranamer\jars\paranamer-2.6.jar, C:\Users\Jia\.ivy2\cache\org.spire-math\jawn-parser_2.10\jars\jawn-parser_2.10-0.6.0.jar, C:\Users\Jia\.ivy2\cache\org.spire-math\json4s-support_2.10\jars\json4s-support_2.10-0.6.0.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\actions-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\api-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\apply-macro-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\cache-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\classfile-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5
 \classpath-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\collections-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\command-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\compile-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\compiler-integration-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\compiler-ivy-integration-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\completion-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\control-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\core-next_2.10-0.1.1.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\cross-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\incremental-compiler-0.
 13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\io-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\ivy-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\ivy-2.3.0-sbt-fccfbd44c9f64523b61398a0155784dcbaeae28f.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\jawn-parser_2.10-0.6.0.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\jline-2.11.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\jsch-0.1.46.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\json4s-ast_2.10-3.2.10.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\json4s-core_2.10-3.2.10.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\json4s-support_2.10-0.6.0.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\launcher-interfac
 e-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\logging-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\logic-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\main-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\main-settings-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\paranamer-2.6.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\persist-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\process-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\quasiquotes_2.10-2.0.1.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\relation-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\run-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe
 .sbtrc\server-0-13\0.3.5\sbinary_2.10-0.4.2.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\sbt-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\scala-pickling_2.10-0.10.0.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\scala-reflect-2.10.4.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\serialization_2.10-0.1.1.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\server-0-13-0.3.5.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\task-system-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\tasks-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\test-agent-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\test-interface-1.0.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\te
 sting-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\tracking-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\xsbti\interface-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\lib\jansi.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\lib\jline.jar),Vector(import sbt._, Keys._, dsl._, import _root_.com.typesafe.sbt.SbtEchoPlay._, _root_.com.typesafe.sbt.SbtEcho._, _root_.play.Project._, _root_.com.typesafe.sbteclipse.plugin.EclipsePlugin._, _root_.org.sbtidea.SbtIdeaPlugin._, _root_.com.typesafe.sbt.SbtNativePackager._, import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.BackgroundRunPlugin, _root_.sbt.plugins.InteractionServicePlugin, _root_.sbt.plugins.SendEventServicePlugin, _root_.sbt.plugins.SerializersPlugin))),Vector(MinimalProjectStructure(ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front),Vector(sbt.plugi
 ns.CorePlugin, sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin),Some(ProjectDependencies(List(),List()))))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (6,KeyLookupResponse(discoveredMainClasses,Vector(AttributeKey[scala.collection.Seq[java.lang.String]]("discoveredMainClasses") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (7,KeyLookupResponse(mainClass,Vector(AttributeKey[scala.Option[java.lang.String]]("mainClass") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))))
-Got request: KeyLookupRequest(discoveredMainClasses)
-Reading next message from client.
-Got request: KeyLookupRequest(mainClass)
-Reading next message from client.
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (8,KeyLookupResponse(discoveredMainClasses,Vector(AttributeKey[scala.collection.Seq[java.lang.String]]("discoveredMainClasses") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (9,KeyLookupResponse(mainClass,Vector(AttributeKey[scala.Option[java.lang.String]]("mainClass") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))))
-Got request: ListenToValue(AttributeKey[scala.Option[java.lang.String]]("mainClass") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))
-Reading next message from client.
-Got request: SendSyntheticValueChanged(AttributeKey[scala.Option[java.lang.String]]("mainClass") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))
-Reading next message from client.
-Got request: ListenToValue(AttributeKey[scala.collection.Seq[java.lang.String]]("discoveredMainClasses") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))
-Reading next message from client.
-Got request: SendSyntheticValueChanged(AttributeKey[scala.collection.Seq[java.lang.String]]("discoveredMainClasses") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))
-Reading next message from client.
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (10,ReceivedResponse())
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: ExecutionWaiting(1,{file:/C:/JPL/JPL-Front/}jpl-front/compile:mainClass,ClientInfo(b9269a46-8719-48c7-8a73-da2559e32568,activator,Activator,3,Vector()))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (11,ReceivedResponse())
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: ExecutionStarting(1)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (12,ReceivedResponse())
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,> {file:/C:/JPL/JPL-Front/}jpl-front/compile:mainClass))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: ExecutionWaiting(2,{file:/C:/JPL/JPL-Front/}jpl-front/compile:discoveredMainClasses,ClientInfo(b9269a46-8719-48c7-8a73-da2559e32568,activator,Activator,3,Vector()))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (13,ReceivedResponse())
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,Evaluating tasks: compile:mainClass))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,Running task... Cancel: sbt.server.ServerTaskCancellation@13520de1, check cycles: false))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,cancel strategy start enabled=true lastCommand=Some(LastCommand(CommandExecutionWork(ExecutionId(1),{file:/C:/JPL/JPL-Front/}jpl-front/compile:mainClass,Set(LiveClient(activator b9269a46-8719-48c7-8a73-da2559e32568)),sbt.server.WorkCancellationStatus$$anon$1@6f379122)))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(1,3,Some(AttributeKey[scala.Option[java.lang.String]]("mainClass") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(1,3,Some(AttributeKey[scala.Option[java.lang.String]]("mainClass") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: ValueChanged(AttributeKey[scala.Option[java.lang.String]]("mainClass") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile),TaskSuccess(BuildValue(LazyValue(Some(play.core.server.NettyServer),scala.pickling.PicklerUnpickler$DelegatingPicklerUnpickler@47a19fb8),Some(play.core.server.NettyServer))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(1,2,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(1,2,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(1,1,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(1,1,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,cancel strategy finish enabled=false lastCommand=Some(LastCommand(CommandExecutionWork(ExecutionId(1),{file:/C:/JPL/JPL-Front/}jpl-front/compile:mainClass,Set(LiveClient(activator b9269a46-8719-48c7-8a73-da2559e32568)),sbt.server.WorkCancellationStatus$$anon$1@6f379122)))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogSuccess(Total time: 0 s, completed Jul 21, 2015 6:34:18 PM))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,> server-post-command-cleanup))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: ExecutionSuccess(1)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: BuildStructureChanged(MinimalBuildStructure(Vector(file:/C:/JPL/JPL-Front/),Vector(BuildData(file:/C:/JPL/JPL-Front/,Vector(C:\JPL\JPL-Front\project\target\scala-2.10\sbt-0.13\classes, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\com.typesafe.sbt\sbt-echo-play\jars\sbt-echo-play-0.1.1.3.jar, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\com.typesafe.sbt\sbt-echo\jars\sbt-echo-0.1.1.3.jar, C:\Users\Jia\.ivy2\cache\org.aspectj\aspectjtools\jars\aspectjtools-1.7.3.jar, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\com.typesafe.play\sbt-plugin\jars\sbt-plugin-2.2.3.jar, C:\Users\Jia\.ivy2\cache\com.typesafe.play\sbt-link\jars\sbt-link-2.2.3.jar, C:\Users\Jia\.ivy2\cache\org.javassist\javassist\bundles\javassist-3.18.0-GA.jar, C:\Users\Jia\.ivy2\cache\com.typesafe.play\play-exceptions\jars\play-exceptions-2.2.3.jar, C:\Users\Jia\.ivy2\cache\com.typesafe.play\routes-compiler_2.10\jars\routes-compiler_2.10-2.2.3.jar, C:\Us
 ers\Jia\.ivy2\cache\com.github.scala-incubator.io\scala-io-file_2.10\jars\scala-io-file_2.10-0.4.2.jar, C:\Users\Jia\.ivy2\cache\com.github.scala-incubator.io\scala-io-core_2.10\jars\scala-io-core_2.10-0.4.2.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\lib\scala-library.jar, C:\Users\Jia\.ivy2\cache\com.jsuereth\scala-arm_2.10\jars\scala-arm_2.10-1.3.jar, C:\Users\Jia\.ivy2\cache\com.typesafe.play\templates-compiler_2.10\jars\templates-compiler_2.10-2.2.3.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\lib\scala-compiler.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\lib\scala-reflect.jar, C:\Users\Jia\.ivy2\cache\com.typesafe.play\console_2.10\jars\console_2.10-2.2.3.jar, C:\Users\Jia\.ivy2\cache\org.scala-sbt\launcher-interface\jars\launcher-interface-0.13.0.jar, C:\Users\Jia\.ivy2\cache\jline\jline\jars\jline-2.11.jar, C:\Users\Jia\.ivy2\cache\com.typesafe\config\bundles\config-1.0.2.jar, C:\activator-dist-1.3.5\repository\org.mozilla\rhino\1.7R4\jars\rhino.jar, C:\activator-dist-1.3.5\repository
 \com.google.javascript\closure-compiler\v20130603\jars\closure-compiler.jar, C:\Users\Jia\.ivy2\cache\com.google.guava\guava\bundles\guava-14.0.1.jar, C:\activator-dist-1.3.5\repository\org.json\json\20090211\jars\json.jar, C:\Users\Jia\.ivy2\cache\org.avaje.ebeanorm\avaje-ebeanorm-agent\jars\avaje-ebeanorm-agent-3.2.1.jar, C:\Users\Jia\.ivy2\cache\com.h2database\h2\jars\h2-1.3.172.jar, C:\activator-dist-1.3.5\repository\net.contentobjects.jnotify\jnotify\0.94\jars\jnotify.jar, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\com.typesafe.sbteclipse\sbteclipse-plugin\jars\sbteclipse-plugin-2.4.0.jar, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\com.typesafe.sbteclipse\sbteclipse-core\jars\sbteclipse-core-2.4.0.jar, C:\Users\Jia\.ivy2\cache\org.scalaz\scalaz-core_2.10\bundles\scalaz-core_2.10-7.0.2.jar, C:\Users\Jia\.ivy2\cache\org.scalaz\scalaz-effect_2.10\bundles\scalaz-effect_2.10-7.0.2.jar, C:\activator-dist-1.3.5\repository\com.github.mpeltonen\sbt-idea\scala_2.10\sbt_0.13\1.5.2\jar
 s\sbt-idea.jar, C:\Users\Jia\.ivy2\cache\commons-io\commons-io\jars\commons-io-2.0.1.jar, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\com.typesafe.sbt\sbt-native-packager\jars\sbt-native-packager-0.6.4.jar, C:\Users\Jia\.ivy2\cache\org.apache.commons\commons-compress\jars\commons-compress-1.4.1.jar, C:\Users\Jia\.ivy2\cache\org.tukaani\xz\jars\xz-1.0.jar, C:\Users\Jia\.ivy2\cache\org.specs2\specs2_2.10\jars\specs2_2.10-2.1.1.jar, C:\Users\Jia\.ivy2\cache\org.scalaz\scalaz-concurrent_2.10\bundles\scalaz-concurrent_2.10-7.0.2.jar, C:\Users\Jia\.ivy2\cache\scala_2.10\sbt_0.13\org.scala-sbt\sbt-core-next\jars\sbt-core-next-0.1.1.jar, C:\Users\Jia\.ivy2\cache\org.scala-sbt\core-next_2.10\jars\core-next_2.10-0.1.1.jar, C:\Users\Jia\.ivy2\cache\org.scala-sbt\serialization_2.10\jars\serialization_2.10-0.1.0.jar, C:\Users\Jia\.ivy2\cache\org.scala-lang.modules\scala-pickling_2.10\jars\scala-pickling_2.10-0.10.0.jar, C:\Users\Jia\.ivy2\cache\org.scalamacros\quasiquotes_2.10\jars\quasiquotes_
 2.10-2.0.1.jar, C:\Users\Jia\.ivy2\cache\org.json4s\json4s-core_2.10\jars\json4s-core_2.10-3.2.10.jar, C:\Users\Jia\.ivy2\cache\org.json4s\json4s-ast_2.10\jars\json4s-ast_2.10-3.2.10.jar, C:\Users\Jia\.ivy2\cache\com.thoughtworks.paranamer\paranamer\jars\paranamer-2.6.jar, C:\Users\Jia\.ivy2\cache\org.spire-math\jawn-parser_2.10\jars\jawn-parser_2.10-0.6.0.jar, C:\Users\Jia\.ivy2\cache\org.spire-math\json4s-support_2.10\jars\json4s-support_2.10-0.6.0.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\actions-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\api-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\apply-macro-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\cache-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\classfile-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5
 \classpath-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\collections-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\command-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\compile-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\compiler-integration-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\compiler-ivy-integration-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\completion-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\control-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\core-next_2.10-0.1.1.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\cross-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\incremental-compiler-0.
 13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\io-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\ivy-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\ivy-2.3.0-sbt-fccfbd44c9f64523b61398a0155784dcbaeae28f.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\jawn-parser_2.10-0.6.0.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\jline-2.11.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\jsch-0.1.46.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\json4s-ast_2.10-3.2.10.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\json4s-core_2.10-3.2.10.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\json4s-support_2.10-0.6.0.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\launcher-interfac
 e-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\logging-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\logic-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\main-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\main-settings-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\paranamer-2.6.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\persist-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\process-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\quasiquotes_2.10-2.0.1.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\relation-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\run-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe
 .sbtrc\server-0-13\0.3.5\sbinary_2.10-0.4.2.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\sbt-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\scala-pickling_2.10-0.10.0.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\scala-reflect-2.10.4.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\serialization_2.10-0.1.1.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\server-0-13-0.3.5.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\task-system-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\tasks-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\test-agent-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\test-interface-1.0.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\te
 sting-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\tracking-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\com.typesafe.sbtrc\server-0-13\0.3.5\xsbti\interface-0.13.8.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\lib\jansi.jar, C:\Users\Jia\.sbt\boot\scala-2.10.4\lib\jline.jar),Vector(import sbt._, Keys._, dsl._, import _root_.com.typesafe.sbt.SbtEchoPlay._, _root_.com.typesafe.sbt.SbtEcho._, _root_.play.Project._, _root_.com.typesafe.sbteclipse.plugin.EclipsePlugin._, _root_.org.sbtidea.SbtIdeaPlugin._, _root_.com.typesafe.sbt.SbtNativePackager._, import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.BackgroundRunPlugin, _root_.sbt.plugins.InteractionServicePlugin, _root_.sbt.plugins.SendEventServicePlugin, _root_.sbt.plugins.SerializersPlugin))),Vector(MinimalProjectStructure(ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front),Vector(sbt.plugi
 ns.CorePlugin, sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin),Some(ProjectDependencies(List(),List()))))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,> server-handle-next-server-request))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: ExecutionStarting(2)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,> {file:/C:/JPL/JPL-Front/}jpl-front/compile:discoveredMainClasses))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,Evaluating tasks: compile:discoveredMainClasses))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,Running task... Cancel: sbt.server.ServerTaskCancellation@16d158ca, check cycles: false))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: DetachedLogEvent(LogMessage(debug,cancel strategy start enabled=true lastCommand=Some(LastCommand(CommandExecutionWork(ExecutionId(2),{file:/C:/JPL/JPL-Front/}jpl-front/compile:discoveredMainClasses,Set(LiveClient(activator b9269a46-8719-48c7-8a73-da2559e32568)),sbt.server.WorkCancellationStatus$$anon$1@3bbf5324)))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,10,Some(AttributeKey[scala.Function1[java.io.File,scala.Function1[java.lang.String,boolean]]]("definesClass") in Scope(Global)))
-Got request: UnlistenToValue(AttributeKey[scala.Option[java.lang.String]]("mainClass") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))
-Reading next message from client.
-Got request: UnlistenToValue(AttributeKey[scala.collection.Seq[java.lang.String]]("discoveredMainClasses") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))
-Reading next message from client.
-Got request: KeyLookupRequest(mainClass)
-Reading next message from client.
-Got request: KeyLookupRequest(discoveredMainClasses)
-Reading next message from client.
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,12,Some(AttributeKey[sbt.inc.IncOptions]("incOptions") in Scope(Global)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,13,Some(AttributeKey[java.lang.String]("compileAnalysisFilename") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (14,ReceivedResponse())
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,15,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,17,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,18,Some(AttributeKey[boolean]("skip") in Scope(Global)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (15,ReceivedResponse())
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,25,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,30,Some(AttributeKey[java.lang.String]("updateCacheName") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (16,KeyLookupResponse(mainClass,Vector(AttributeKey[scala.Option[java.lang.String]]("mainClass") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,42,Some(AttributeKey[scala.Option[java.lang.String]]("echoTracePlayVersion") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: echo)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,44,Some(AttributeKey[scala.collection.Seq[sbt.Credentials]]("credentials") in Scope(Global)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (17,KeyLookupResponse(discoveredMainClasses,Vector(AttributeKey[scala.collection.Seq[java.lang.String]]("discoveredMainClasses") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,51,Some(AttributeKey[scala.Option[scala.collection.Seq[sbt.Resolver]]]("bootResolvers") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,52,Some(AttributeKey[scala.collection.Seq[sbt.Resolver]]("externalResolvers") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Got request: ListenToValue(AttributeKey[scala.Option[java.lang.String]]("mainClass") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))
-Reading next message from client.
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,55,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (18,ReceivedResponse())
-Got request: SendSyntheticValueChanged(AttributeKey[scala.Option[java.lang.String]]("mainClass") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))
-Reading next message from client.
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,56,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,58,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,59,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: ExecutionWaiting(3,{file:/C:/JPL/JPL-Front/}jpl-front/compile:mainClass,ClientInfo(b9269a46-8719-48c7-8a73-da2559e32568,activator,Activator,3,Vector()))
-Got request: ListenToValue(AttributeKey[scala.collection.Seq[java.lang.String]]("discoveredMainClasses") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))
-Reading next message from client.
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,72,Some(AttributeKey[scala.collection.Seq[java.lang.String]]("scalacOptions") in Scope(Global)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (19,ReceivedResponse())
-Got request: SendSyntheticValueChanged(AttributeKey[scala.collection.Seq[java.lang.String]]("discoveredMainClasses") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile))
-Reading next message from client.
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,73,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,76,Some(AttributeKey[scala.collection.Seq[java.lang.String]]("javacOptions") in Scope(Global)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,77,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,81,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,89,Some(AttributeKey[scala.collection.Seq[java.io.File]]("unmanagedSources") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (20,ReceivedResponse())
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,91,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,92,Some(AttributeKey[scala.collection.Seq[scala.Function1[xsbti.Position,scala.Option[xsbti.Position]]]]("sourcePositionMappers") in Scope(Global)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: ExecutionWaiting(4,{file:/C:/JPL/JPL-Front/}jpl-front/compile:discoveredMainClasses,ClientInfo(b9269a46-8719-48c7-8a73-da2559e32568,activator,Activator,3,Vector()))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: (21,ReceivedResponse())
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,99,Some(AttributeKey[sbt.SendEventService]("sendEventService") in Scope(Global)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,10,Some(AttributeKey[scala.Function1[java.io.File,scala.Function1[java.lang.String,boolean]]]("definesClass") in Scope(Global)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,12,Some(AttributeKey[sbt.inc.IncOptions]("incOptions") in Scope(Global)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,11,Some(AttributeKey[sbt.inc.IncOptions]("incOptions") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,13,Some(AttributeKey[java.lang.String]("compileAnalysisFilename") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,15,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,14,Some(AttributeKey[xsbti.compile.GlobalsCache]("compilerCache") in Scope(Global)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,32,Some(AttributeKey[java.io.File]("dependencyCacheDirectory") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,40,Some(AttributeKey[sbt.BuildStructure]("buildStructure") in Scope(Global)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,86,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,87,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,17,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,16,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,22,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,31,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,33,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,45,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,50,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,53,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,64,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,66,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,68,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,69,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,79,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,82,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,97,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,100,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,18,Some(AttributeKey[boolean]("skip") in Scope(Global)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,25,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,30,Some(AttributeKey[java.lang.String]("updateCacheName") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,42,Some(AttributeKey[scala.Option[java.lang.String]]("echoTracePlayVersion") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: echo)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,41,Some(AttributeKey[scala.collection.Seq[sbt.ModuleID]]("echoTraceDependencies") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: echo)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,44,Some(AttributeKey[scala.collection.Seq[sbt.Credentials]]("credentials") in Scope(Global)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,51,Some(AttributeKey[scala.Option[scala.collection.Seq[sbt.Resolver]]]("bootResolvers") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,52,Some(AttributeKey[scala.collection.Seq[sbt.Resolver]]("externalResolvers") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,55,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,56,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,54,Some(AttributeKey[scala.collection.Seq[sbt.UpdateReport]]("transitiveUpdate") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,58,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,59,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,72,Some(AttributeKey[scala.collection.Seq[java.lang.String]]("scalacOptions") in Scope(Global)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,73,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,71,Some(AttributeKey[scala.collection.Seq[java.lang.String]]("scalacOptions") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,76,Some(AttributeKey[scala.collection.Seq[java.lang.String]]("javacOptions") in Scope(Global)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,77,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,75,Some(AttributeKey[scala.collection.Seq[java.lang.String]]("javacOptions") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,81,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,91,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,92,Some(AttributeKey[scala.collection.Seq[scala.Function1[xsbti.Position,scala.Option[xsbti.Position]]]]("sourcePositionMappers") in Scope(Global)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,90,Some(AttributeKey[scala.collection.Seq[scala.Function1[xsbti.Position,scala.Option[xsbti.Position]]]]("sourcePositionMappers") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,99,Some(AttributeKey[sbt.SendEventService]("sendEventService") in Scope(Global)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,32,Some(AttributeKey[java.io.File]("dependencyCacheDirectory") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,40,Some(AttributeKey[sbt.BuildStructure]("buildStructure") in Scope(Global)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,39,Some(AttributeKey[sbt.Settings[sbt.Scope]]("settingsData") in Scope(Global)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,14,Some(AttributeKey[xsbti.compile.GlobalsCache]("compilerCache") in Scope(Global)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,11,Some(AttributeKey[sbt.inc.IncOptions]("incOptions") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,16,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,22,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,33,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,31,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,29,Some(AttributeKey[scala.collection.immutable.Map[sbt.ModuleID,sbt.SourcePosition]]("dependencyPositions") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,53,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,50,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,45,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,68,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,69,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,79,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,82,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,64,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,66,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,97,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,100,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,41,Some(AttributeKey[scala.collection.Seq[sbt.ModuleID]]("echoTraceDependencies") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: echo)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,39,Some(AttributeKey[sbt.Settings[sbt.Scope]]("settingsData") in Scope(Global)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,38,Some(AttributeKey[scala.collection.Seq[sbt.ModuleID]]("projectDependencies") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,49,Some(AttributeKey[scala.collection.immutable.Map[org.apache.ivy.core.module.id.ModuleRevisionId,org.apache.ivy.core.module.descriptor.ModuleDescriptor]]("projectDescriptors") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,57,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,67,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,74,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,80,Some(AttributeKey[sbt.ScalaInstance]("scalaInstance") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,71,Some(AttributeKey[scala.collection.Seq[java.lang.String]]("scalacOptions") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,54,Some(AttributeKey[scala.collection.Seq[sbt.UpdateReport]]("transitiveUpdate") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,38,Some(AttributeKey[scala.collection.Seq[sbt.ModuleID]]("projectDependencies") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,37,Some(AttributeKey[scala.collection.Seq[sbt.ModuleID]]("allDependencies") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,101,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,106,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,108,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,109,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,90,Some(AttributeKey[scala.collection.Seq[scala.Function1[xsbti.Position,scala.Option[xsbti.Position]]]]("sourcePositionMappers") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,75,Some(AttributeKey[scala.collection.Seq[java.lang.String]]("javacOptions") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,37,Some(AttributeKey[scala.collection.Seq[sbt.ModuleID]]("allDependencies") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,36,Some(AttributeKey[scala.collection.Seq[sbt.ModuleID]]("allDependencies") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,101,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,57,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,106,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,105,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,108,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,109,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,107,Some(AttributeKey[scala.collection.Seq[sbt.Attributed[java.io.File]]]("unmanagedJars") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,36,Some(AttributeKey[scala.collection.Seq[sbt.ModuleID]]("allDependencies") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,35,Some(AttributeKey[sbt.ModuleSettings]("moduleSettings") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,110,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,112,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,35,Some(AttributeKey[sbt.ModuleSettings]("moduleSettings") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,110,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,105,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,112,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,111,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,111,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,49,Some(AttributeKey[scala.collection.immutable.Map[org.apache.ivy.core.module.id.ModuleRevisionId,org.apache.ivy.core.module.descriptor.ModuleDescriptor]]("projectDescriptors") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,48,Some(AttributeKey[sbt.Resolver]("projectResolver") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,114,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,48,Some(AttributeKey[sbt.Resolver]("projectResolver") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,47,Some(AttributeKey[scala.collection.Seq[sbt.Resolver]]("fullResolvers") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,114,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,113,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,47,Some(AttributeKey[scala.collection.Seq[sbt.Resolver]]("fullResolvers") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,46,Some(AttributeKey[sbt.IvyConfiguration]("ivyConfiguration") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,113,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,74,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,29,Some(AttributeKey[scala.collection.immutable.Map[sbt.ModuleID,sbt.SourcePosition]]("dependencyPositions") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,28,Some(AttributeKey[sbt.UnresolvedWarningConfiguration]("unresolvedWarningConfiguration") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Task: AttributeKey[sbt.UpdateReport]("update"))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,107,Some(AttributeKey[scala.collection.Seq[sbt.Attributed[java.io.File]]]("unmanagedJars") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,104,Some(AttributeKey[scala.collection.Seq[sbt.Attributed[java.io.File]]]("unmanagedJars") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,28,Some(AttributeKey[sbt.UnresolvedWarningConfiguration]("unresolvedWarningConfiguration") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Task: AttributeKey[sbt.UpdateReport]("update"))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,104,Some(AttributeKey[scala.collection.Seq[sbt.Attributed[java.io.File]]]("unmanagedJars") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,103,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,103,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,102,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,102,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,67,None,true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,65,Some(AttributeKey[scala.collection.Seq[sbt.Attributed[java.io.File]]]("unmanagedClasspath") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,46,Some(AttributeKey[sbt.IvyConfiguration]("ivyConfiguration") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,43,Some(AttributeKey[sbt.IvySbt]("ivySbt") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,43,Some(AttributeKey[sbt.IvySbt]("ivySbt") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,34,Some(AttributeKey[sbt.IvySbt$Module]("ivyModule") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,34,Some(AttributeKey[sbt.IvySbt$Module]("ivyModule") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,27,Some(AttributeKey[sbt.UpdateReport]("update") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front))))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,89,Some(AttributeKey[scala.collection.Seq[java.io.File]]("unmanagedSources") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskStarted(2,88,Some(AttributeKey[scala.collection.Seq[java.io.File]]("unmanagedSources") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,65,Some(AttributeKey[scala.collection.Seq[sbt.Attributed[java.io.File]]]("unmanagedClasspath") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Read from stdout: Updating {file:/C:/JPL/JPL-Front/}jpl-front...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskFinished(2,88,Some(AttributeKey[scala.collection.Seq[java.io.File]]("unmanagedSources") in Scope(Build: file:/C:/JPL/JPL-Front/, , Project: ProjectReference(file:/C:/JPL/JPL-Front/,jpl-front), Config: compile)),true,None)
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Updating {file:/C:/JPL/JPL-Front/}jpl-front...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,Other repositories:))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,Default repositories:))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,Using inline dependencies specified in Scala.))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,:: resolving dependencies :: cmusds#cmusds_2.10;1.0-SNAPSHOT))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	confs: [compile, runtime, test, provided, optional, compile-internal, runtime-internal, test-internal, plugin, sources, docs, pom, scala-tool, echo-trace-compile, echo-trace-test, echo-weave, echo-sigar]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	validate = true))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	refresh = false))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,resolving dependencies for configuration 'compile'))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies for cmusds#cmusds_2.10;1.0-SNAPSHOT [compile]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->org.scala-lang#scala-library;2.10.3 [compile->default(compile)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Read from stdout: Resolving org.scala-lang#scala-library;2.10.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Resolving org.scala-lang#scala-library;2.10.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: Checking cache for: sbt.ivyint.MergedDescriptors@3579cf7c))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: module revision found in cache: org.scala-lang#scala-library;2.10.3))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	found org.scala-lang#scala-library;2.10.3 in sbt-chain))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	[2.10.3] org.scala-lang#scala-library;2.10.3))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->org.scala-lang#scala-library;2.10.3 [compile->runtime]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->org.scala-lang#scala-library;2.10.3 [compile->compile]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->org.scala-lang#scala-library;2.10.3 [compile->master]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->com.typesafe.play#play-java-jdbc_2.10;2.2.3 [compile->default(compile)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Read from stdout: Resolving com.typesafe.play#play-java-jdbc_2.10;2.2.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Resolving com.typesafe.play#play-java-jdbc_2.10;2.2.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: Checking cache for: dependency: com.typesafe.play#play-java-jdbc_2.10;2.2.3 {compile=[default(compile)]}))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: module revision found in cache: com.typesafe.play#play-java-jdbc_2.10;2.2.3))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	found com.typesafe.play#play-java-jdbc_2.10;2.2.3 in sbt-chain))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->com.typesafe.play#play-java-jdbc_2.10;2.2.3 [compile->runtime]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->com.typesafe.play#play-java-jdbc_2.10;2.2.3 [compile->compile]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#play-java-jdbc_2.10;2.2.3->com.typesafe.play#play-jdbc_2.10;2.2.3 [compile->master(compile)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Read from stdout: Resolving com.typesafe.play#play-jdbc_2.10;2.2.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Resolving com.typesafe.play#play-jdbc_2.10;2.2.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: Checking cache for: dependency: com.typesafe.play#play-jdbc_2.10;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: module revision found in cache: com.typesafe.play#play-jdbc_2.10;2.2.3))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	found com.typesafe.play#play-jdbc_2.10;2.2.3 in sbt-chain))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#play-java-jdbc_2.10;2.2.3->com.typesafe.play#play-jdbc_2.10;2.2.3 [compile->compile(*)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [compile->master(compile)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Read from stdout: Resolving com.typesafe.play#play_2.10;2.2.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Resolving com.typesafe.play#play_2.10;2.2.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: Checking cache for: dependency: com.typesafe.play#play_2.10;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: module revision found in cache: com.typesafe.play#play_2.10;2.2.3))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	found com.typesafe.play#play_2.10;2.2.3 in sbt-chain))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [compile->compile(*)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#sbt-link;2.2.3 [compile->master(compile)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Read from stdout: Resolving com.typesafe.play#sbt-link;2.2.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Resolving com.typesafe.play#sbt-link;2.2.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: Checking cache for: dependency: com.typesafe.play#sbt-link;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: module revision found in cache: com.typesafe.play#sbt-link;2.2.3))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	found com.typesafe.play#sbt-link;2.2.3 in sbt-chain))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#sbt-link;2.2.3 [compile->compile(*)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [compile->master(compile)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Read from stdout: Resolving org.javassist#javassist;3.18.0-GA ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Resolving org.javassist#javassist;3.18.0-GA ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: Checking cache for: dependency: org.javassist#javassist;3.18.0-GA {compile=[compile(*), master(compile)], runtime=[runtime(*)]}))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: module revision found in cache: org.javassist#javassist;3.18.0-GA))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	found org.javassist#javassist;3.18.0-GA in sbt-chain))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [compile->compile(*)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-exceptions;2.2.3 [compile->master(compile)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Read from stdout: Resolving com.typesafe.play#play-exceptions;2.2.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Resolving com.typesafe.play#play-exceptions;2.2.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: Checking cache for: dependency: com.typesafe.play#play-exceptions;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: module revision found in cache: com.typesafe.play#play-exceptions;2.2.3))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	found com.typesafe.play#play-exceptions;2.2.3 in sbt-chain))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-exceptions;2.2.3 [compile->compile(*)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#templates_2.10;2.2.3 [compile->master(compile)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Read from stdout: Resolving com.typesafe.play#templates_2.10;2.2.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Resolving com.typesafe.play#templates_2.10;2.2.3 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: Checking cache for: dependency: com.typesafe.play#templates_2.10;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: module revision found in cache: com.typesafe.play#templates_2.10;2.2.3))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	found com.typesafe.play#templates_2.10;2.2.3 in sbt-chain))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#templates_2.10;2.2.3 [compile->compile(*)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#templates_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->master(compile)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Read from stdout: Resolving com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Resolving com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: Checking cache for: dependency: com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: module revision found in cache: com.github.scala-incubator.io#scala-io-file_2.10;0.4.2))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	found com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 in sbt-chain))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.typesafe.play#templates_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->compile(*)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 [compile->master(compile)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Read from stdout: Resolving com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(info,Resolving com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 ...))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: Checking cache for: dependency: com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,sbt-chain: module revision found in cache: com.github.scala-incubator.io#scala-io-core_2.10;0.4.2))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,	found com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 in sbt-chain))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 [compile->compile(*)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32568: TaskLogEvent(27,LogMessage(debug,== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->org.scala-lang#scala-library;2.10.0 [compile->master(compile)]))
-Sending msg to client activator-b9269a46-8719-48c7-8a73-da2559e32

<TRUNCATED>


[14/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/jquery-ui-1.10.4.min.js
----------------------------------------------------------------------
diff --git a/public/javascripts/jquery-ui-1.10.4.min.js b/public/javascripts/jquery-ui-1.10.4.min.js
deleted file mode 100644
index d2da7b5..0000000
--- a/public/javascripts/jquery-ui-1.10.4.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*! jQuery UI - v1.10.4 - 2014-04-02
-* http://jqueryui.com
-* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.effect.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.slider.js, jquery.ui.sortable.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js
-* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
-
-(function(e,t){function i(t,i){var s,a,o,r=t.nodeName.toLowerCase();return"area"===r?(s=t.parentNode,a=s.name,t.href&&a&&"map"===s.nodeName.toLowerCase()?(o=e("img[usemap=#"+a+"]")[0],!!o&&n(o)):!1):(/input|select|textarea|button|object/.test(r)?!t.disabled:"a"===r?t.href||i:i)&&n(t)}function n(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var s=0,a=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,n){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),n&&n.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;
 return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var n,s,a=e(this[0]);a.length&&a[0]!==document;){if(n=a.css("position"),("absolute"===n||"relative"===n||"fixed"===n)&&(s=parseInt(a.css("zIndex"),10),!isNaN(s)&&0!==s))return s;a=a.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++s)})},removeUniqueId:function(){return this.each(function(){a.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.
 expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,n){return!!e.data(t,n[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var n=e.attr(t,"tabindex"),s=isNaN(n);return(s||n>=0)&&i(t,!s)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,n){function s(t,i,n,s){return e.each(a,function(){i-=parseFloat(e.css(t,"padding"+this))||0,n&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var a="Width"===n?["Left","Right"]:["Top","Bottom"],o=n.toLowerCase(),r={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+n]=function(i){return i===t?r["inner"+n].call(this):this.each(function(){e(this).css(o,s(this,i)+"px")})},e.fn["outer"+n]=function(t,i){return"number"!=typeof t?r["outer"+n].call(this,t):this.each(function(){e(this).css(o,s(this,t,!0,i)+"px")})}}),e.f
 n.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,n){var s,a=e.ui[t].prototype;for(s in n)a.plugins[s]=a.plugins[s]||[],a.plugins[s].push([i,n[s]])},call:function(e,t,i){var n,s=e.plugins[t];if(s&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(n=0;s.length>n;n++)e.options[s[n][0]]&&s[n][1].apply(e.element,i)}},hasScrol
 l:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var n=i&&"left"===i?"scrollLeft":"scrollTop",s=!1;return t[n]>0?!0:(t[n]=1,s=t[n]>0,t[n]=0,s)}})})(jQuery);(function(t,e){var i=0,s=Array.prototype.slice,n=t.cleanData;t.cleanData=function(e){for(var i,s=0;null!=(i=e[s]);s++)try{t(i).triggerHandler("remove")}catch(o){}n(e)},t.widget=function(i,s,n){var o,a,r,h,l={},c=i.split(".")[0];i=i.split(".")[1],o=c+"-"+i,n||(n=s,s=t.Widget),t.expr[":"][o.toLowerCase()]=function(e){return!!t.data(e,o)},t[c]=t[c]||{},a=t[c][i],r=t[c][i]=function(t,i){return this._createWidget?(arguments.length&&this._createWidget(t,i),e):new r(t,i)},t.extend(r,a,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),h=new s,h.options=t.widget.extend({},h.options),t.each(n,function(i,n){return t.isFunction(n)?(l[i]=function(){var t=function(){return s.prototype[i].apply(this,arguments)},e=function(t){return s.prototype[i].apply(this,t)};return function(){var i,s=this._super,o=this._superApply;r
 eturn this._super=t,this._superApply=e,i=n.apply(this,arguments),this._super=s,this._superApply=o,i}}(),e):(l[i]=n,e)}),r.prototype=t.widget.extend(h,{widgetEventPrefix:a?h.widgetEventPrefix||i:i},l,{constructor:r,namespace:c,widgetName:i,widgetFullName:o}),a?(t.each(a._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,r,i._proto)}),delete a._childConstructors):s._childConstructors.push(r),t.widget.bridge(i,r)},t.widget.extend=function(i){for(var n,o,a=s.call(arguments,1),r=0,h=a.length;h>r;r++)for(n in a[r])o=a[r][n],a[r].hasOwnProperty(n)&&o!==e&&(i[n]=t.isPlainObject(o)?t.isPlainObject(i[n])?t.widget.extend({},i[n],o):t.widget.extend({},o):o);return i},t.widget.bridge=function(i,n){var o=n.prototype.widgetFullName||i;t.fn[i]=function(a){var r="string"==typeof a,h=s.call(arguments,1),l=this;return a=!r&&h.length?t.widget.extend.apply(null,[a].concat(h)):a,r?this.each(function(){var s,n=t.data(this,o);return n?t.isFunction(n[a])&&"_"!==a.charAt
 (0)?(s=n[a].apply(n,h),s!==n&&s!==e?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):e):t.error("no such method '"+a+"' for "+i+" widget instance"):t.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+a+"'")}):this.each(function(){var e=t.data(this,o);e?e.option(a||{})._init():t.data(this,o,new n(a,this))}),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this.bindings=t(),this.hoverable=t(),this.focusable=t(),s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.docume
 nt[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){return this.element},option:function(i,s){var n,o,a,r=i;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof i)if(r={},n=i.split("."),i=n.shift(),n.length){for(o=r[i]=t.widget.extend({},this.options[i]),a=0;n.length-1>a;a++)o[n[a]]=o[n[a]]||{},o=o[n[a]];if(i=n.pop()
 ,1===arguments.length)return o[i]===e?null:o[i];o[i]=s}else{if(1===arguments.length)return this.options[i]===e?null:this.options[i];r[i]=s}return this._setOptions(r),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return this.options[t]=e,"disabled"===t&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!e).attr("aria-disabled",e),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var o,a=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=o=t(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,o=this.widget()),t.each(n,function(n,r){function h(){return i||a.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof r?a[r]:r).apply(a,arguments):e}"string"!=typeof r&&(h.guid=r.guid=r.guid||h.guid|
 |t.guid++);var l=n.match(/^(\w+)\s*(.*)$/),c=l[1]+a.eventNamespace,u=l[2];u?o.delegate(u,c,h):s.bind(c,h)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(e).undelegate(e)},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){t(e.currentTarget).addClass("ui-state-hover")},mouseleave:function(e){t(e.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){t(e.currentTarget).addClass("ui-state-focus")},focusout:function(e){t(e.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(
 i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}})})(jQuery);(function(t){var e=!1;t(document).mouseup(function(){e=!1}),t.widget("ui.mouse",{version:"1.10.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.bind("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).bind("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetN
 ame+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!e){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a="string"==typeof this.options.cancel&&i.target.nodeName?t(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===t.data(i.target,this.widgetName+".preventClickEvent")&&t.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDele
 gate=function(t){return s._mouseMove(t)},this._mouseUpDelegate=function(t){return s._mouseUp(t)},t(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),e=!0,!0)):!0}},_mouseMove:function(e){return t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button?this._mouseUp(e):this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){return t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),!1},_mouseDistanceMet:function(t){return Math.max(
 Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(t,e){function i(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function s(e,i){return parseInt(t.css(e,i),10)||0}function n(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}t.ui=t.ui||{};var a,o=Math.max,r=Math.abs,l=Math.round,h=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;t.position={scrollbarWidth:function(){if(a!==
 e)return a;var i,s,n=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),s=o.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,a="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:a?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s?i.width():i.outerWidth(),height:s?i.height():i.outerHeight()}}},t.fn.position=function(e){if(!e||!e.of)r
 eturn f.apply(this,arguments);e=t.extend({},e);var a,p,g,m,v,_,b=t(e.of),y=t.position.getWithinInfo(e.within),k=t.position.getScrollInfo(y),w=(e.collision||"flip").split(" "),D={};return _=n(b),b[0].preventDefault&&(e.at="left top"),p=_.width,g=_.height,m=_.offset,v=t.extend({},m),t.each(["my","at"],function(){var t,i,s=(e[this]||"").split(" ");1===s.length&&(s=h.test(s[0])?s.concat(["center"]):c.test(s[0])?["center"].concat(s):["center","center"]),s[0]=h.test(s[0])?s[0]:"center",s[1]=c.test(s[1])?s[1]:"center",t=u.exec(s[0]),i=u.exec(s[1]),D[this]=[t?t[0]:0,i?i[0]:0],e[this]=[d.exec(s[0])[0],d.exec(s[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===e.at[0]?v.left+=p:"center"===e.at[0]&&(v.left+=p/2),"bottom"===e.at[1]?v.top+=g:"center"===e.at[1]&&(v.top+=g/2),a=i(D.at,p,g),v.left+=a[0],v.top+=a[1],this.each(function(){var n,h,c=t(this),u=c.outerWidth(),d=c.outerHeight(),f=s(this,"marginLeft"),_=s(this,"marginTop"),x=u+f+s(this,"marginRight")+k.width,C=d+_+s(this,"marginBottom")+k.heig
 ht,M=t.extend({},v),T=i(D.my,c.outerWidth(),c.outerHeight());"right"===e.my[0]?M.left-=u:"center"===e.my[0]&&(M.left-=u/2),"bottom"===e.my[1]?M.top-=d:"center"===e.my[1]&&(M.top-=d/2),M.left+=T[0],M.top+=T[1],t.support.offsetFractions||(M.left=l(M.left),M.top=l(M.top)),n={marginLeft:f,marginTop:_},t.each(["left","top"],function(i,s){t.ui.position[w[i]]&&t.ui.position[w[i]][s](M,{targetWidth:p,targetHeight:g,elemWidth:u,elemHeight:d,collisionPosition:n,collisionWidth:x,collisionHeight:C,offset:[a[0]+T[0],a[1]+T[1]],my:e.my,at:e.at,within:y,elem:c})}),e.using&&(h=function(t){var i=m.left-M.left,s=i+p-u,n=m.top-M.top,a=n+g-d,l={target:{element:b,left:m.left,top:m.top,width:p,height:g},element:{element:c,left:M.left,top:M.top,width:u,height:d},horizontal:0>s?"left":i>0?"right":"center",vertical:0>a?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(l.horizontal="center"),d>g&&g>r(n+a)&&(l.vertical="middle"),l.important=o(r(i),r(s))>o(r(n),r(a))?"horizontal":"vertical",e.using.call(this,t,l)})
 ,c.offset(t.extend(M,{using:h}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,a=n.offset.left+n.scrollLeft,o=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-o-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0
 ]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-o-a,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,a=n.offset.top+n.scrollTop,o=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-o-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-o-a,t.top+p+f+g>c&&(0>s||r(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,t.top+p+f+g>u&&(i>0||u>r(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i
 ,s,n,a,o=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(o?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(a in s)e.style[a]=s[a];e.appendChild(r),i=o||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()})(jQuery);(function(e){var t=0,i={},a={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",a.height=a.paddingTop=a.paddingBottom=a.borderTopWidth=a.borderBottomWidth="show",e.widget("ui.accordion",{version:"1.10.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:nul
 l},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e(),content:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("<span>").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.remove
 Class("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),e=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),undefined):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||th
 is._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t),undefined)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,a=this.headers.length,s=this.headers.index(t.target),n=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:n=this.headers[(s+1)%a];break;case i.LEFT:case i.UP:n=this.headers[(s-1+a)%a];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:n=this.headers[0];break;case i.END:n=this.headers[a-1]}n&&(e(t.target).attr("tabIndex",-1),e(n).attr("tabIndex",0),n.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers
 .length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var i,a=this.options,s=a.heightStyle,n=this.element.parent(),r=this.accordionId="ui-accordion-"+(this.element.attr("id")||++t);this.active=this._findActive(a.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(t){var i=e(this),a=i.attr("id"),s=i.next(),n=s.attr("id");a||(a=r+"-header-"+t,i.a
 ttr("id",a)),n||(n=r+"-panel-"+t,s.attr("id",n)),i.attr("aria-controls",n),s.attr("aria-labelledby",a)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(a.event),"fill"===s?(i=n.height(),this.element.siblings(":visible").each(function(){var t=e(this),a=t.css("position");"absolute"!==a&&"fixed"!==a&&(i-=t.outerHeight(!0))}),this.headers.each(function(){i-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===s&&(i=0,this.headers.next().each(function(){i=Math.max(i,e(this).css("height","").height())}).height(i))},_activate:function(t){var i=this._f
 indActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,a=this.active,s=e(t.currentTarget),n=s[0]===a[0],r=n&&i.collapsible,o=r?e():s.next(),h=a.next(),d={oldHeader:a,oldPanel:h,newHeader:r?e():s,newPanel:o};t.preventDefault(),n&&!i.collapsible||this._trigger("beforeActivate",t,d)===!1||(i.active=r?!1:this.headers.index(s),this.active=n?e():s,this._toggle(d),a.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&a.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).
 addClass(i.icons.header),n||(s.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),s.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,a=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=a,this.options.animate?this._animate(i,a,t):(a.hide(),i.show(),this._toggleComplete(t)),a.attr({"aria-hidden":"true"}),a.prev().attr("aria-selected","false"),i.length&&a.length?a.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true",tabIndex:0,"aria-expanded":"true"})},_animate:function(e,t,s){var n,r,o,h=this,d=0,c=e.length&&(!t.length||e.index()<t.index()),l=this.options.animate||{
 },u=c&&l.down||l,v=function(){h._toggleComplete(s)};return"number"==typeof u&&(o=u),"string"==typeof u&&(r=u),r=r||u.easing||l.easing,o=o||u.duration||l.duration,t.length?e.length?(n=e.show().outerHeight(),t.animate(i,{duration:o,easing:r,step:function(e,t){t.now=Math.round(e)}}),e.hide().animate(a,{duration:o,easing:r,complete:v,step:function(e,i){i.now=Math.round(e),"height"!==i.prop?d+=i.now:"content"!==h.options.heightStyle&&(i.now=Math.round(n-t.outerHeight()-d),d=0)}}),undefined):t.animate(i,o,r,v):e.animate(a,o,r,v)},_toggleComplete:function(e){var t=e.oldPanel;t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),t.length&&(t.parent()[0].className=t.parent()[0].className),this._trigger("activate",null,e)}})})(jQuery);(function(e){e.widget("ui.autocomplete",{version:"1.10.4",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:nu
 ll,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,undefined;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:case a.NUMPAD_ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this.
 _value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),undefined;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),undefined):(this._searchTimeout(e),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(e),this._change(e),undefined)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,thi
 s._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",t,{item:s})?t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._
 value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typ
 eof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):undefined},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy(function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(e){e&&(e=this._normalize(e)),this
 ._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({label:t.label||t.value,value:t.value||t.label},t)})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.ou
 terWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").append(e("<a>").text(i.label)).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[e](t),undefined):(this.search(null,t),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.
 label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var t;this._superApply(arguments),this.options.disabled||this.cancelSearch||(t=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.text(t))}})})(jQuery);(function(e){var t,i="ui-button ui-widget ui-state-default ui-corner-all",n="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",s=function(){var t=e(this);setTimeout(function(){t.find(":ui-button").button("refresh")},1)},a=function(t){var i=t.name,n=t.form,s=e([]);return i&&(i=i.replace(/'/g,"\\'"),s=n?e(n).find("[name='"+i+"']"):e("[name='"+i+"']",t.ownerDocument).filter(function(){return!this.form})),s};e.widget("ui.button",{version:"1.1
 0.4",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,s),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var n=this,o=this.options,r="checkbox"===this.type||"radio"===this.type,h=r?"":"ui-state-active";null===o.label&&(o.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(i).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){o.disabled||this===t&&e(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){o.disabled||e(this).removeClass(h)}).bind("click"+this.eventNamespace,function(e){o.disabled&&(e.preven
 tDefault(),e.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),r&&this.element.bind("change"+this.eventNamespace,function(){n.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return o.disabled?!1:undefined}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(o.disabled)return!1;e(this).addClass("ui-state-active"),n.buttonElement.attr("aria-pressed","true");var t=n.element[0];a(t).not(t).map(function(){return e(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return o.disabled?!1:(e(this).addClass("ui-state-active"),t=this,n.document.one("mouseup",function(){t=null}),undefined)}).bind("mouseup"+this.eventNamespace,function(){return o.disabled?!1:(e(this).removeClass("ui-stat
 e-active"),undefined)}).bind("keydown"+this.eventNamespace,function(t){return o.disabled?!1:((t.keyCode===e.ui.keyCode.SPACE||t.keyCode===e.ui.keyCode.ENTER)&&e(this).addClass("ui-state-active"),undefined)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){e(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(t){t.keyCode===e.ui.keyCode.SPACE&&e(this).click()})),this._setOption("disabled",o.disabled),this._resetButton()},_determineButtonType:function(){var e,t,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(e=this.element.parents().last(),t="label[for='"+this.element.attr("id")+"']",this.buttonElement=e.find(t),this.buttonElement.length||(e=e.length?e.siblings():this.element.siblings(),this.buttonElement=e.filter(t),this.buttonElement.length||(this.buttonElement=e.find(t))),thi
 s.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(i+" ui-state-active "+n).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(e,t){return this._super(e,t),"disabled"===e?(this.element.prop("disabled",!!t),t&&this.buttonElement.removeClass("ui-state-focus"),undefined):(this._resetButton(),undefined)},refresh:function(){var t=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOption("disabled",t),"radio"===this.type?a(this.element[0]).each(function(){e(this).is(":checke
 d")?e(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return this.options.label&&this.element.val(this.options.label),undefined;var t=this.buttonElement.removeClass(n),i=e("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text(),s=this.options.icons,a=s.primary&&s.secondary,o=[];s.primary||s.secondary?(this.options.text&&o.push("ui-button-text-icon"+(a?"s":s.primary?"-primary":"-secondary")),s.primary&&t.prepend("<span class='ui-button-icon-primary ui-icon "+s.primary+"'></span>"),s.secondary&&t.append("<span class='ui-button-icon-secondary ui-icon "+s.secondar
 y+"'></span>"),this.options.text||(o.push(a?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||t.attr("title",e.trim(i)))):o.push("ui-button-text-only"),t.addClass(o.join(" "))}}),e.widget("ui.buttonset",{version:"1.10.4",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(e,t){"disabled"===e&&this.buttons.button("option",e,t),this._super(e,t)},refresh:function(){var t="rtl"===this.element.css("direction");this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(t?"ui-corner-left":"ui-corner-right"
 ).end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}})})(jQuery);(function(e,t){function i(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort
 :["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled
 :!1},e.extend(this._defaults,this.regional[""]),this.dpDiv=a(e("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function a(t){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.delegate(i,"mouseout",function(){e(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",function(){e.datepicker._isDisabledDatepicker(n.inline?t.parent()[0]:n.input[0])||(e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),e(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).addClass("ui-datepicker-next-hover"))})}function s
 (t,i){e.extend(t,i);for(var a in i)null==i[a]&&(t[a]=i[a]);return t}e.extend(e.ui,{datepicker:{version:"1.10.4"}});var n,r="datepicker";e.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return s(this._defaults,e||{}),this},_attachDatepicker:function(t,i){var a,s,n;a=t.nodeName.toLowerCase(),s="div"===a||"span"===a,t.id||(this.uuid+=1,t.id="dp"+this.uuid),n=this._newInst(e(t),s),n.settings=e.extend({},i||{}),"input"===a?this._connectDatepicker(t,n):s&&this._inlineDatepicker(t,n)},_newInst:function(t,i){var s=t[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:t,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?a(e("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(t,i){var a=e(t);i.append=e([]),i.trigger=e([]),a.hasClass(this.markerClassName)|
 |(this._attachments(a,i),a.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),e.data(t,r,i),i.settings.disabled&&this._disableDatepicker(t))},_attachments:function(t,i){var a,s,n,r=this._get(i,"appendText"),o=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=e("<span class='"+this._appendClass+"'>"+r+"</span>"),t[o?"before":"after"](i.append)),t.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),a=this._get(i,"showOn"),("focus"===a||"both"===a)&&t.focus(this._showDatepicker),("button"===a||"both"===a)&&(s=this._get(i,"buttonText"),n=this._get(i,"buttonImage"),i.trigger=e(this._get(i,"buttonImageOnly")?e("<img/>").addClass(this._triggerClass).attr({src:n,alt:s,title:s}):e("<button type='button'></button>").addClass(this._triggerClass).html(n?e("<img/>").attr({src:n,alt:s,title:s}):s)),t[o?"before":"after"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.d
 atepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,i,a,s,n=new Date(2009,11,20),r=this._get(e,"dateFormat");r.match(/[DM]/)&&(t=function(e){for(i=0,a=0,s=0;e.length>s;s++)e[s].length>i&&(i=e[s].length,a=s);return a},n.setMonth(t(this._get(e,r.match(/MM/)?"monthNames":"monthNamesShort"))),n.setDate(t(this._get(e,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-n.getDay())),e.input.attr("size",this._formatDate(e,n).length)}},_inlineDatepicker:function(t,i){var a=e(t);a.hasClass(this.markerClassName)||(a.addClass(this.markerClassName).append(i.dpDiv),e.data(t,r,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialog
 Datepicker:function(t,i,a,n,o){var u,c,h,l,d,p=this._dialogInst;return p||(this.uuid+=1,u="dp"+this.uuid,this._dialogInput=e("<input type='text' id='"+u+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),e("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},e.data(this._dialogInput[0],r,p)),s(p.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(c=document.documentElement.clientWidth,h=document.documentElement.clientHeight,l=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[c/2-100+l,h/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=a,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI
 &&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],r,p),this},_destroyDatepicker:function(t){var i,a=e(t),s=e.data(t,r);a.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,r),"input"===i?(s.append.remove(),s.trigger.remove(),a.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&a.removeClass(this.markerClassName).empty())},_enableDatepicker:function(t){var i,a,s=e(t),n=e.data(t,r);s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!1,n.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(a=s.children("."+this._inlineClass),a.children().removeClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=e.map(this._disabledInput
 s,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,a,s=e(t),n=e.data(t,r);s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!0,n.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(a=s.children("."+this._inlineClass),a.children().addClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,r)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,a,n){var r,o,u,c,h=this._getInst(i);return 2===arguments.length&&"string"==typeof a?"
 defaults"===a?e.extend({},e.datepicker._defaults):h?"all"===a?e.extend({},h.settings):this._get(h,a):null:(r=a||{},"string"==typeof a&&(r={},r[a]=n),h&&(this._curInst===h&&this._hideDatepicker(),o=this._getDateDatepicker(i,!0),u=this._getMinMaxDate(h,"min"),c=this._getMinMaxDate(h,"max"),s(h.settings,r),null!==u&&r.dateFormat!==t&&r.minDate===t&&(h.settings.minDate=this._formatDate(h,u)),null!==c&&r.dateFormat!==t&&r.maxDate===t&&(h.settings.maxDate=this._formatDate(h,c)),"disabled"in r&&(r.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(e(i),h),this._autoSize(h),this._setDate(h,o),this._updateAlternate(h),this._updateDatepicker(h)),t)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i
 =this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,a,s,n=e.datepicker._getInst(t.target),r=!0,o=n.dpDiv.is(".ui-datepicker-rtl");if(n._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),r=!1;break;case 13:return s=e("td."+e.datepicker._dayOverClass+":not(."+e.datepicker._currentClass+")",n.dpDiv),s[0]&&e.datepicker._selectDay(t.target,n.selectedMonth,n.selectedYear,s[0]),i=e.datepicker._get(n,"onSelect"),i?(a=e.datepicker._formatDate(n),i.apply(n.input?n.input[0]:null,[a,n])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(n,"stepBigMonths"):-e.datepicker._get(n,"stepMonths"),"M");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(n,"stepBigMonths"):+e.datepicker._get(n,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._
 clearDate(t.target),r=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),r=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,o?1:-1,"D"),r=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(n,"stepBigMonths"):-e.datepicker._get(n,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D"),r=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,o?-1:1,"D"),r=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(n,"stepBigMonths"):+e.datepicker._get(n,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,"D"),r=t.ctrlKey||t.metaKey;break;default:r=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):r=!1;r&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:f
 unction(i){var a,s,n=e.datepicker._getInst(i.target);return e.datepicker._get(n,"constrainInput")?(a=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">s||!a||a.indexOf(s)>-1):t},_doKeyUp:function(t){var i,a=e.datepicker._getInst(t.target);if(a.input.val()!==a.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,e.datepicker._getFormatConfig(a)),i&&(e.datepicker._setDateFromField(a),e.datepicker._updateAlternate(a),e.datepicker._updateDatepicker(a))}catch(s){}return!0},_showDatepicker:function(t){if(t=t.target||t,"input"!==t.nodeName.toLowerCase()&&(t=e("input",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,a,n,r,o,u,c;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepick
 er(e.datepicker._curInst.input[0])),a=e.datepicker._get(i,"beforeShow"),n=a?a.apply(t,[t,i]):{},n!==!1&&(s(i.settings,n),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=""),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),r=!1,e(t).parents().each(function(){return r|="fixed"===e(this).css("position"),!r}),o={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),e.datepicker._updateDatepicker(i),o=e.datepicker._checkOffset(i,o,r),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?"static":r?"fixed":"absolute",display:"none",left:o.left+"px",top:o.top+"px"}),i.inline||(u=e.datepicker._get(i,"showAnim"),c=e.datepicker._get(i,"duration"),i.dpDiv.zIndex(e(t).zIndex()+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[u]?i.dpDiv.show(u,e.datepicker._get(i,"sh
 owOptions"),c):i.dpDiv[u||"show"](u?c:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,n=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t),t.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,a=this._getNumberOfMonths(t),s=a[1],r=17;t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),s>1&&t.dpDiv.addClass("ui-datepicker-multi-"+s).css("width",r*s+"em"),t.dpDiv[(1!==a[0]||1!==a[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input
 &&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(t,i,a){var s=t.dpDiv.outerWidth(),n=t.dpDiv.outerHeight(),r=t.input?t.input.outerWidth():0,o=t.input?t.input.outerHeight():0,u=document.documentElement.clientWidth+(a?0:e(document).scrollLeft()),c=document.documentElement.clientHeight+(a?0:e(document).scrollTop());return i.left-=this._get(t,"isRTL")?s-r:0,i.left-=a&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=a&&i.top===t.input.offset().top+o?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+s>u&&u>s?Math.abs(i.left+s-u):0),i.top-=Math.min(i.top,i.top+n>c&&c>n?Math.abs(n+o):0),i},_findPos:function(t){for(var i,a=this._getInst(t),s=this._get(a,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[s?"previousSibling":"nextSibling"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,a,s,n,o=this._curInst;!o||t&&o!==e.data(t,r)||this._datepickerShowing&&(i=this._get(o
 ,"showAnim"),a=this._get(o,"duration"),s=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,"showOptions"),a,s):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?a:null,s),i||s(),this._datepickerShowing=!1,n=this._get(o,"onClose"),n&&n.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),e.blockUI&&(e.unblockUI(),e("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),a=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents("#"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest("."+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicke
 r._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==a)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,a){var s=e(t),n=this._getInst(s[0]);this._isDisabledDatepicker(s[0])||(this._adjustInstDate(n,i+("M"===a?this._get(n,"showCurrentAtPos"):0),a),this._updateDatepicker(n))},_gotoToday:function(t){var i,a=e(t),s=this._getInst(a[0]);this._get(s,"gotoCurrent")&&s.currentDay?(s.selectedDay=s.currentDay,s.drawMonth=s.selectedMonth=s.currentMonth,s.drawYear=s.selectedYear=s.currentYear):(i=new Date,s.selectedDay=i.getDate(),s.drawMonth=s.selectedMonth=i.getMonth(),s.drawYear=s.selectedYear=i.getFullYear()),this._notifyChange(s),this._adjustDate(a)},_selectMonthYear:function(t,i,a){var s=e(t),n=this._getInst(s[0]);n["selected"+("M"===a?"Month":"Year")]=n["draw"+("M"===a?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(n),this._adjustDate(s)},_selectDay:function(t,i,a,s){var n,r=e(t);e(s).hasClass(this._unsel
 ectableClass)||this._isDisabledDatepicker(r[0])||(n=this._getInst(r[0]),n.selectedDay=n.currentDay=e("a",s).html(),n.selectedMonth=n.currentMonth=i,n.selectedYear=n.currentYear=a,this._selectDate(t,this._formatDate(n,n.currentDay,n.currentMonth,n.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,"")},_selectDate:function(t,i){var a,s=e(t),n=this._getInst(s[0]);i=null!=i?i:this._formatDate(n),n.input&&n.input.val(i),this._updateAlternate(n),a=this._get(n,"onSelect"),a?a.apply(n.input?n.input[0]:null,[i,n]):n.input&&n.input.trigger("change"),n.inline?this._updateDatepicker(n):(this._hideDatepicker(),this._lastInput=n.input[0],"object"!=typeof n.input[0]&&n.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,a,s,n=this._get(t,"altField");n&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),a=this._getDate(t),s=this.formatDate(i,a,this._getFormatConfig(t)),e(n).each(function(){e(this).val(s)}))},noWeekends:function(e){var t=e.getDay();return[t
 >0&&6>t,""]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(i,a,s){if(null==i||null==a)throw"Invalid arguments";if(a="object"==typeof a?""+a:a+"",""===a)return null;var n,r,o,u,c=0,h=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,l="string"!=typeof h?h:(new Date).getFullYear()%100+parseInt(h,10),d=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,p=(s?s.dayNames:null)||this._defaults.dayNames,g=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,m=(s?s.monthNames:null)||this._defaults.monthNames,f=-1,_=-1,v=-1,k=-1,y=!1,b=function(e){var t=i.length>n+1&&i.charAt(n+1)===e;return t&&n++,t},D=function(e){var t=b(e),i="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,s=RegExp("^\\d{1,"+i+"}"),n=a.substring(c).match(s);if(!n)throw"Missing number at position "+c;return c+=n[0].length,parseInt(n[0],10)},w=function(i
 ,s,n){var r=-1,o=e.map(b(i)?n:s,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,i){var s=i[1];return a.substr(c,s.length).toLowerCase()===s.toLowerCase()?(r=i[0],c+=s.length,!1):t}),-1!==r)return r+1;throw"Unknown name at position "+c},M=function(){if(a.charAt(c)!==i.charAt(n))throw"Unexpected literal at position "+c;c++};for(n=0;i.length>n;n++)if(y)"'"!==i.charAt(n)||b("'")?M():y=!1;else switch(i.charAt(n)){case"d":v=D("d");break;case"D":w("D",d,p);break;case"o":k=D("o");break;case"m":_=D("m");break;case"M":_=w("M",g,m);break;case"y":f=D("y");break;case"@":u=new Date(D("@")),f=u.getFullYear(),_=u.getMonth()+1,v=u.getDate();break;case"!":u=new Date((D("!")-this._ticksTo1970)/1e4),f=u.getFullYear(),_=u.getMonth()+1,v=u.getDate();break;case"'":b("'")?M():y=!0;break;default:M()}if(a.length>c&&(o=a.substr(c),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===f?f=(new Date).getFullYear():100>f&&(f+=(new D
 ate).getFullYear()-(new Date).getFullYear()%100+(l>=f?0:-100)),k>-1)for(_=1,v=k;;){if(r=this._getDaysInMonth(f,_-1),r>=v)break;_++,v-=r}if(u=this._daylightSavingAdjust(new Date(f,_-1,v)),u.getFullYear()!==f||u.getMonth()+1!==_||u.getDate()!==v)throw"Invalid date";return u},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var a,s=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,n=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,o=(i?i.monthNames:null)||this._defaults.monthNames,u=function(t){var i=e.length>a+1&&e.charAt(a+1)===t;return i&&a++,i},c=function(e,t,i){var a=""+t;if(u(e))for(;i>a.length;)a="0"+a;return a},h=function(e,t,i,a
 ){return u(e)?a[t]:i[t]},l="",d=!1;if(t)for(a=0;e.length>a;a++)if(d)"'"!==e.charAt(a)||u("'")?l+=e.charAt(a):d=!1;else switch(e.charAt(a)){case"d":l+=c("d",t.getDate(),2);break;case"D":l+=h("D",t.getDay(),s,n);break;case"o":l+=c("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":l+=c("m",t.getMonth()+1,2);break;case"M":l+=h("M",t.getMonth(),r,o);break;case"y":l+=u("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":l+=t.getTime();break;case"!":l+=1e4*t.getTime()+this._ticksTo1970;break;case"'":u("'")?l+="'":d=!0;break;default:l+=e.charAt(a)}return l},_possibleChars:function(e){var t,i="",a=!1,s=function(i){var a=e.length>t+1&&e.charAt(t+1)===i;return a&&t++,a};for(t=0;e.length>t;t++)if(a)"'"!==e.charAt(t)||s("'")?i+=e.charAt(t):a=!1;else switch(e.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":s("'")?i+="'":a=!0;br
 eak;default:i+=e.charAt(t)}return i},_get:function(e,i){return e.settings[i]!==t?e.settings[i]:this._defaults[i]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,"dateFormat"),a=e.lastVal=e.input?e.input.val():null,s=this._getDefaultDate(e),n=s,r=this._getFormatConfig(e);try{n=this.parseDate(i,a,r)||s}catch(o){a=t?"":a}e.selectedDay=n.getDate(),e.drawMonth=e.selectedMonth=n.getMonth(),e.drawYear=e.selectedYear=n.getFullYear(),e.currentDay=a?n.getDate():0,e.currentMonth=a?n.getMonth():0,e.currentYear=a?n.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(t,i,a){var s=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},n=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,"dateFormat"),i,e.datepicker._getFormatConfig(t))}catch(a){}for(var s=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null
 )||new Date,n=s.getFullYear(),r=s.getMonth(),o=s.getDate(),u=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,c=u.exec(i);c;){switch(c[2]||"d"){case"d":case"D":o+=parseInt(c[1],10);break;case"w":case"W":o+=7*parseInt(c[1],10);break;case"m":case"M":r+=parseInt(c[1],10),o=Math.min(o,e.datepicker._getDaysInMonth(n,r));break;case"y":case"Y":n+=parseInt(c[1],10),o=Math.min(o,e.datepicker._getDaysInMonth(n,r))}c=u.exec(i)}return new Date(n,r,o)},r=null==i||""===i?a:"string"==typeof i?n(i):"number"==typeof i?isNaN(i)?a:s(i):new Date(i.getTime());return r=r&&"Invalid Date"==""+r?a:r,r&&(r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0)),this._daylightSavingAdjust(r)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var a=!t,s=e.selectedMonth,n=e.selectedYear,r=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=r.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=r.getMonth(),
 e.drawYear=e.selectedYear=e.currentYear=r.getFullYear(),s===e.selectedMonth&&n===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(a?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,"stepMonths"),a="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){e.datepicker._adjustDate(a,-i,"M")},next:function(){e.datepicker._adjustDate(a,+i,"M")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(a)},selectDay:function(){return e.datepicker._selectDay(a,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(a,this,"M"),!1},selectYear:function(){return e.datepicker._selectMonthYear(a,this,"Y"),!1}};e(this).bind(
 this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,i,a,s,n,r,o,u,c,h,l,d,p,g,m,f,_,v,k,y,b,D,w,M,C,x,I,N,T,A,E,S,Y,F,P,O,j,K,R,H=new Date,W=this._daylightSavingAdjust(new Date(H.getFullYear(),H.getMonth(),H.getDate())),L=this._get(e,"isRTL"),U=this._get(e,"showButtonPanel"),B=this._get(e,"hideIfNoPrevNext"),z=this._get(e,"navigationAsDateFormat"),q=this._getNumberOfMonths(e),G=this._get(e,"showCurrentAtPos"),J=this._get(e,"stepMonths"),Q=1!==q[0]||1!==q[1],V=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),$=this._getMinMaxDate(e,"min"),X=this._getMinMaxDate(e,"max"),Z=e.drawMonth-G,et=e.drawYear;if(0>Z&&(Z+=12,et--),X)for(t=this._daylightSavingAdjust(new Date(X.getFullYear(),X.getMonth()-q[0]*q[1]+1,X.getDate())),t=$&&$>t?$:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,"prevText"),i=z?this.formatD
 ate(i,this._daylightSavingAdjust(new Date(et,Z-J,1)),this._getFormatConfig(e)):i,a=this._canAdjustMonth(e,-1,et,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(L?"e":"w")+"'>"+i+"</span></a>":B?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(L?"e":"w")+"'>"+i+"</span></a>",s=this._get(e,"nextText"),s=z?this.formatDate(s,this._daylightSavingAdjust(new Date(et,Z+J,1)),this._getFormatConfig(e)):s,n=this._canAdjustMonth(e,1,et,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+s+"'><span class='ui-icon ui-icon-circle-triangle-"+(L?"w":"e")+"'>"+s+"</span></a>":B?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+s+"'><span class='ui-icon ui-icon-circle-triangle-"+(L?"w":"e")+"'>"+s+"</span></a>",r=this._get(e,"currentText"),o=this._get(e,"go
 toCurrent")&&e.currentDay?V:W,r=z?this.formatDate(r,o,this._getFormatConfig(e)):r,u=e.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(e,"closeText")+"</button>",c=U?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(L?u:"")+(this._isInRange(e,o)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+r+"</button>":"")+(L?"":u)+"</div>":"",h=parseInt(this._get(e,"firstDay"),10),h=isNaN(h)?0:h,l=this._get(e,"showWeek"),d=this._get(e,"dayNames"),p=this._get(e,"dayNamesMin"),g=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),f=this._get(e,"beforeShowDay"),_=this._get(e,"showOtherMonths"),v=this._get(e,"selectOtherMonths"),k=this._getDefaultDate(e),y="",D=0;q[0]>D;D++){for(w="",this.maxRows=4,M=0;q[1]>M;M++){if(C=this._daylightSavingAdjust(new Date(et,Z,e.selectedDa
 y)),x=" ui-corner-all",I="",Q){if(I+="<div class='ui-datepicker-group",q[1]>1)switch(M){case 0:I+=" ui-datepicker-group-first",x=" ui-corner-"+(L?"right":"left");break;case q[1]-1:I+=" ui-datepicker-group-last",x=" ui-corner-"+(L?"left":"right");break;default:I+=" ui-datepicker-group-middle",x=""}I+="'>"}for(I+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+x+"'>"+(/all|left/.test(x)&&0===D?L?n:a:"")+(/all|right/.test(x)&&0===D?L?a:n:"")+this._generateMonthYearHeader(e,Z,et,$,X,D>0||M>0,g,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",N=l?"<th class='ui-datepicker-week-col'>"+this._get(e,"weekHeader")+"</th>":"",b=0;7>b;b++)T=(b+h)%7,N+="<th"+((b+h+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[T]+"'>"+p[T]+"</span></th>";for(I+=N+"</tr></thead><tbody>",A=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,A)),E=(this._getFirstDayOfMonth(et,Z)-h+7)%7,S=Math.ceil((E+A)
 /7),Y=Q?this.maxRows>S?this.maxRows:S:S,this.maxRows=Y,F=this._daylightSavingAdjust(new Date(et,Z,1-E)),P=0;Y>P;P++){for(I+="<tr>",O=l?"<td class='ui-datepicker-week-col'>"+this._get(e,"calculateWeek")(F)+"</td>":"",b=0;7>b;b++)j=f?f.apply(e.input?e.input[0]:null,[F]):[!0,""],K=F.getMonth()!==Z,R=K&&!v||!j[0]||$&&$>F||X&&F>X,O+="<td class='"+((b+h+6)%7>=5?" ui-datepicker-week-end":"")+(K?" ui-datepicker-other-month":"")+(F.getTime()===C.getTime()&&Z===e.selectedMonth&&e._keyEvent||k.getTime()===F.getTime()&&k.getTime()===C.getTime()?" "+this._dayOverClass:"")+(R?" "+this._unselectableClass+" ui-state-disabled":"")+(K&&!_?"":" "+j[1]+(F.getTime()===V.getTime()?" "+this._currentClass:"")+(F.getTime()===W.getTime()?" ui-datepicker-today":""))+"'"+(K&&!_||!j[2]?"":" title='"+j[2].replace(/'/g,"&#39;")+"'")+(R?"":" data-handler='selectDay' data-event='click' data-month='"+F.getMonth()+"' data-year='"+F.getFullYear()+"'")+">"+(K&&!_?"&#xa0;":R?"<span class='ui-state-default'>"+F.getDate()
 +"</span>":"<a class='ui-state-default"+(F.getTime()===W.getTime()?" ui-state-highlight":"")+(F.getTime()===V.getTime()?" ui-state-active":"")+(K?" ui-priority-secondary":"")+"' href='#'>"+F.getDate()+"</a>")+"</td>",F.setDate(F.getDate()+1),F=this._daylightSavingAdjust(F);I+=O+"</tr>"}Z++,Z>11&&(Z=0,et++),I+="</tbody></table>"+(Q?"</div>"+(q[0]>0&&M===q[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),w+=I}y+=w}return y+=c,e._keyEvent=!1,y},_generateMonthYearHeader:function(e,t,i,a,s,n,r,o){var u,c,h,l,d,p,g,m,f=this._get(e,"changeMonth"),_=this._get(e,"changeYear"),v=this._get(e,"showMonthAfterYear"),k="<div class='ui-datepicker-title'>",y="";if(n||!f)y+="<span class='ui-datepicker-month'>"+r[t]+"</span>";else{for(u=a&&a.getFullYear()===i,c=s&&s.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",h=0;12>h;h++)(!u||h>=a.getMonth())&&(!c||s.getMonth()>=h)&&(y+="<option value='"+h+"'"+(h===t?" selected='selected'":"")+"
 >"+o[h]+"</option>");y+="</select>"}if(v||(k+=y+(!n&&f&&_?"":"&#xa0;")),!e.yearshtml)if(e.yearshtml="",n||!_)k+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(l=this._get(e,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\-].*/)?d+parseInt(e,10):parseInt(e,10);
-return isNaN(t)?d:t},g=p(l[0]),m=Math.max(g,p(l[1]||"")),g=a?Math.max(g,a.getFullYear()):g,m=s?Math.min(m,s.getFullYear()):m,e.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=g;g++)e.yearshtml+="<option value='"+g+"'"+(g===i?" selected='selected'":"")+">"+g+"</option>";e.yearshtml+="</select>",k+=e.yearshtml,e.yearshtml=null}return k+=this._get(e,"yearSuffix"),v&&(k+=(!n&&f&&_?"":"&#xa0;")+y),k+="</div>"},_adjustInstDate:function(e,t,i){var a=e.drawYear+("Y"===i?t:0),s=e.drawMonth+("M"===i?t:0),n=Math.min(e.selectedDay,this._getDaysInMonth(a,s))+("D"===i?t:0),r=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(a,s,n)));e.selectedDay=r.getDate(),e.drawMonth=e.selectedMonth=r.getMonth(),e.drawYear=e.selectedYear=r.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max"),s=i&&i>t?i:t;return a&&s>a?a:s},_notifyChange:function(e){var t
 =this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,a){var s=this._getNumberOfMonths(e),n=this._daylightSavingAdjust(new Date(i,a+(0>t?t:s[0]*s[1]),1));return 0>t&&n.setDate(this._getDaysInMonth(n.getFullYear(),n.getMonth())),this._isInRange(e,n)},_isInRange:function(e,t){var i,a,s=this._getMinMaxDate(e,"min"),n=this._getMinMaxDate(e,"max"),r=null,o=null,u=this._get(e,"yearRange");return u&&(i=u.split(":"),a=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=a),i[1].match(/[+\-].*/)&&(o+=a)),(!s||t
 .getTime()>=s.getTime())&&(!n||t.getTime()<=n.getTime())&&(!r||t.getFullYear()>=r)&&(!o||o>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,a){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var s=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(a,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),s,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&
 e("body").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new i,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.10.4"})(jQuery);(function(e){var t={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},i={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};e.widget("ui.dialog",{version:"1.10.4",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth
 :null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var i=e(this).css(t).offset().top;0>i&&e(this).css("top",t.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),thi
 s.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||"body").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var i,a=this;if(this._isOpen&&this._trigger("beforeClose",t)!==!1){if(this._isOpen=!1,this._destroyOverlay(),!this.opener.filter(":focusable").focus().length)try{i=this.document[0].activeE
 lement,i&&"body"!==i.nodeName.toLowerCase()&&e(i).blur()}catch(s){}this._hide(this.uiDialog,this.options.hide,function(){a._trigger("close",t)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,t){var i=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return i&&!t&&this._trigger("focus",e),i},open:function(){var t=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),undefined):(this._isOpen=!0,this.opener=e(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable(),t._trigger("focus")}),this._trigger("open"),undefined)},_focusTabbable:function(){var e=this.element.find("[autofocus]");e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.e
 q(0).focus()},_keepFocus:function(t){function i(){var t=this.document[0].activeElement,i=this.uiDialog[0]===t||e.contains(this.uiDialog[0],t);i||this._focusTabbable()}t.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=e("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE)return t.preventDefault(),this.close(t),undefined;if(t.keyCode===e.ui.keyCode.TAB){var i=this.uiDialog.find(":tabbable"),a=i.filter(":first"),s=i.filter(":last");t.target!==s[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==a[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(s.focus(1),t.preventDefault()):(a.focus(1),t.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.eleme
 nt.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=e("<button type='button'></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(t),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(e){this.options.title||e.html("&#160;"),e.text(this.options.title)},_createButtonPane:function(){this.
 uiDialogButtonPane=e("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=e("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var t=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),e.isEmptyObject(i)||e.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),undefined):(e.each(i,function(i,a){var s,n;a=e.isFunction(a)?{click:a,text:i}:a,a=e.extend({type:"button"},a),s=a.click,a.click=function(){s.apply(t.element[0],arguments)},n={icons:a.icons,text:a.showText},delete a.icons,delete a.showText,e("<button></button>",a).button(n).appendTo(t.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),undefined)},_makeDraggable:function(){function t(e){return{position:e.position,offset:e.offset}}var i=this,a=this.options;this.uiDialog.draggable({cancel:".ui-dialog-conte
 nt, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(a,s){e(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",a,t(s))},drag:function(e,a){i._trigger("drag",e,t(a))},stop:function(s,n){a.position=[n.position.left-i.document.scrollLeft(),n.position.top-i.document.scrollTop()],e(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",s,t(n))}})},_makeResizable:function(){function t(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}var i=this,a=this.options,s=a.resizable,n=this.uiDialog.css("position"),r="string"==typeof s?s:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:a.maxWidth,maxHeight:a.maxHeight,minWidth:a.minWidth,minHeight:this._minHeight(),handles:r,start:function(a,s){e(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resize
 Start",a,t(s))},resize:function(e,a){i._trigger("resize",e,t(a))},stop:function(s,n){a.height=e(this).height(),a.width=e(this).width(),e(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",s,t(n))}}).css("position",n)},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(a){var s=this,n=!1,r={};e.each(a,function(e,a){s._setOption(e,a),e in t&&(n=!0),e in i&&(r[e]=a)}),n&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",r)},_setOption:function(e,t){var i,a,s=this.uiDialog;"dialogClass"===e&&s.removeClass(this.options.dialogClass).addClass(t),"disabled"!==e&&(this._super(e,t),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"close
 Text"===e&&this.uiDialogTitlebarClose.button({label:""+t}),"draggable"===e&&(i=s.is(":data(ui-draggable)"),i&&!t&&s.draggable("destroy"),!i&&t&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(a=s.is(":data(ui-resizable)"),a&&!t&&s.resizable("destroy"),a&&"string"==typeof t&&s.resizable("option","handles",t),a||t===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,i,a=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),a.minWidth>a.width&&(a.width=a.minWidth),e=this.uiDialog.css({height:"auto",width:a.width}).outerHeight(),t=Math.max(0,a.minHeight-e),i="number"==typeof a.maxHeight?Math.max(0,a.maxHeight-e):"none","auto"===a.height?this.element.css({minHeight:t,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,a.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFra
 mes:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var t=e(this);return e("<div>").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return e(t.target).closest(".ui-dialog").length?!0:!!e(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=this,i=this.widgetFullName;e.ui.dialog.overlayInstances||this._delay(function(){e.ui.dialog.overlayInstances&&this.document.bind("focusin.dialog",function(a){t._allowInteraction(a)||(a.preventDefault(),e(".ui-dialog:visible:last .ui-dialog-content").data(i)._focusTabbable())})}),this.overlay=e("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),e.ui.dialog.overlayInstances++}},_destroyOverlay:function(){this.opti
 ons

<TRUNCATED>


[17/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/bootstrap.min.js
----------------------------------------------------------------------
diff --git a/public/javascripts/bootstrap.min.js b/public/javascripts/bootstrap.min.js
deleted file mode 100644
index 0e668e8..0000000
--- a/public/javascripts/bootstrap.min.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Bootstrap v3.0.2 by @fat and @mdo
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world by @mdo and @fat.
- */
-
-if("undefined"==typeof jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert"
 )),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');i
 f(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).o
 n("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this
 .sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setT
 imeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b
 .preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collaps
 ing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()
 };var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass
 ("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[ro
 le=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("dropdown");d||c.data("dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":
 "show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").at
 tr("aria-hidden",!0).off("click.dismiss.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&th
 is.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){r
 eturn a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$ele
 ment=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b in
 stanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show),void 0):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void 0):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placemen
 t,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left
 "),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach()}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.$element.trigger("hidden.bs
 ."+this.type),this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prot
 otype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(jQuery),+function(a){"use strict";var b=function(a,b){this.init("popove
 r",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a
 [0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh
 =function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[hre
 f="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.pa
 rent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.option
 s=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"
 -"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/dataList.js
----------------------------------------------------------------------
diff --git a/public/javascripts/dataList.js b/public/javascripts/dataList.js
deleted file mode 100644
index 998d90c..0000000
--- a/public/javascripts/dataList.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// modelName: [category, listOfVar],
-var groupList={
-"group1":         ["Model: Historical"],
-"group2":         ["Model: AMIP"],
-"group3":         ["Observation"],
-"group4":         ["Reanalysis"],
-};
-
-var dataList={
-"group1":         ["Model: Historical"],
-"GFDL/ESM2G":     ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "zos", "lai", "rlds", "rlus", "rldscs", "rlut", "rlutcs", "ta", "hus", "cli", "clw", "wap", "hur", ] ],       
-"GISS/E2-H":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],      
-"GISS/E2-R":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "sfcWind", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],      
-"NCAR/CAM5":      ["Model: Historical",      ["pr", "clt", "ts", "tos", "sfcWind", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],      
-"NCC/NORESM":     ["Model: Historical",      ["pr", "clt", "ts", "tos", "uas", "vas", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ] ],       
-"UKMO/HadGEM2-ES":["Model: Historical",      ["pr", "clt", "ts", "uas", "vas", "sfcWind", "zos", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],            
-//                [ 
-"group2":         ["Model: AMIP"],
-"CCCMA/CANAM4":   ["Model: AMIP",            ["ts", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", ] ],         
-"CSIRO/MK3.6":    ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],        
-"GFDL/CM3":       ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "ta", "hus", "cli", "clw", "wap", "hur", ] ],     
-"IPSL/CM5A-LR":   ["Model: AMIP",            ["pr", "clt", "ts", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],         
-"MIROC/MIROC5":   ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "lai", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],         
-"UKMO/HadGEM2-A": ["Model: AMIP",            ["pr", "clt", "ts", "uas", "vas", "sfcWind", "rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", "cli", "clw", "wap", "hur", ] ],           
-//                [ 
-"group3":         ["Observation"],
-"NASA/GRACE":     ["Observation", ["zl", "zo", ] ],            
-"NASA/MODIS":     ["Observation", ["clt", "lai", ] ],
-"NASA/AMSRE":     ["Observation", ["tos", ] ],
-"NASA/TRMM":      ["Observation", ["pr", ] ],
-"NASA/GPCP":      ["Observation", ["pr", ] ],
-"NASA/QuikSCAT":  ["Observation", ["uas", "vas", "sfcWind", ] ],
-"NASA/AVISO":     ["Observation", ["zos", ] ],
-"NOAA/NODC":      ["Observation", ["ohc700", "ohc2000", ] ],
-"NASA/CERES":     ["Observation", ["rlds", "rsds", "rlus", "rsus", "rldscs", "rsdscs", "rsuscs", "rsdt", "rlut", "rsut", "rlutcs", "rsutcs", ] ],
-"NASA/AIRS":      ["Observation", ["ta", "hus", ] ],
-"NASA/MLS":       ["Observation", ["ta", "hus", ] ],
-"ARGO/ARGO":      ["Observation", ["ot", "os", ] ],           
-//
-"group4":         ["Reanalysis"],
-"ECMWF/interim":  ["Reanalysis",  ["clt", "tos", "wap", "hur", ] ], 
-};

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/device_search.js
----------------------------------------------------------------------
diff --git a/public/javascripts/device_search.js b/public/javascripts/device_search.js
deleted file mode 100644
index e93efb8..0000000
--- a/public/javascripts/device_search.js
+++ /dev/null
@@ -1,56 +0,0 @@
-$(function() {
-	var visualSearch = VS.init({
-		container : $('.visual_search'),
-		query : '',
-		callbacks : {
-			search : function(query, searchCollection) {
-			},
-			facetMatches : function(callback) {
-				callback([ 'deviceUri', 'deviceType', 'sensorTypeNames',
-						'sensorNames', 'longitude', 'latitude', 'altitude',
-						'representation', 'deviceUserDefinedFields' ]);
-			},
-			valueMatches : function(facet, searchTerm, callback) {
-			}
-		}
-	});
-
-	$('.visual_search').click(function() {
-		// first show all the rows
-		$('.devices').show();
-		
-		var facets = visualSearch.searchQuery.facets();
-		$.each(facets, function(index, val) {
-			for ( var prop in val) {
-				var search = val[prop];
-				if (prop === 'text') {
-					prop = 'devices';
-				}
-				var notFound = $("." + prop).filter(function() {
-					var str = $(this).text();
-					return str.toLowerCase().indexOf(search) == -1;
-				});
-				if (prop !== 'devices') {
-					notFound = notFound.parent();
-				}
-				notFound.hide();
-			}
-
-		});
-		// var notFound = $(element).filter(function() {
-		// var str = $(this).text();
-		// return str.indexOf(str) == -1;
-		// });
-	});
-});
-
-var searchHide = function(element, str) {
-	var notFound = $(element).filter(function() {
-		var str = $(this).text();
-		return str.indexOf(str) == -1;
-	});
-	if (element !== '.devices') {
-		notFound = notFound.parent();
-	}
-	notFound.hide();
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/edit_button.js
----------------------------------------------------------------------
diff --git a/public/javascripts/edit_button.js b/public/javascripts/edit_button.js
deleted file mode 100644
index 0671169..0000000
--- a/public/javascripts/edit_button.js
+++ /dev/null
@@ -1,18 +0,0 @@
-$(function() {
-	$.fn.editable.defaults.mode = 'inline';
-
-	$('.edit-btn').click(function(event){
-	    var primaryKey = $(this).attr('data-pk');
-	    var callUrl = $(this).attr('data-url');
-	    
-		event.stopPropagation();
-		$('.' + primaryKey+'.editable').editable({
-			type : 'text',
-			pk : primaryKey,
-			url : callUrl,
-			success : function(response) {
-				document.location.reload(true);
-			}
-		}).click();
-	});
-});

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/jqplot.pieRenderer.min.js
----------------------------------------------------------------------
diff --git a/public/javascripts/jqplot.pieRenderer.min.js b/public/javascripts/jqplot.pieRenderer.min.js
deleted file mode 100644
index f8718bc..0000000
--- a/public/javascripts/jqplot.pieRenderer.min.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * jqPlot
- * Pure JavaScript plotting plugin using jQuery
- *
- * Version: 1.0.0b2_r1012
- *
- * Copyright (c) 2009-2011 Chris Leonello
- * jqPlot is currently available for use in all personal or commercial projects 
- * under both the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL 
- * version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html) licenses. This means that you can 
- * choose the license that best suits your project and use it accordingly. 
- *
- * Although not required, the author would appreciate an email letting him 
- * know of any substantial use of jqPlot.  You can reach the author at: 
- * chris at jqplot dot com or see http://www.jqplot.com/info.php .
- *
- * If you are feeling kind and generous, consider supporting the project by
- * making a donation at: http://www.jqplot.com/donate.php .
- *
- * sprintf functions contained in jqplot.sprintf.js by Ash Searle:
- *
- *     version 2007.04.27
- *     author Ash Searle
- *     http://hexmen.com/blog/2007/03/printf-sprintf/
- *     http://hexmen.com/js/sprintf.js
- *     The author (Ash Searle) has placed this code in the public domain:
- *     "This code is unrestricted: you are free to use it however you like."
- *
- * included jsDate library by Chris Leonello:
- *
- * Copyright (c) 2010-2011 Chris Leonello
- *
- * jsDate is currently available for use in all personal or commercial projects 
- * under both the MIT and GPL version 2.0 licenses. This means that you can 
- * choose the license that best suits your project and use it accordingly.
- *
- * jsDate borrows many concepts and ideas from the Date Instance 
- * Methods by Ken Snyder along with some parts of Ken's actual code.
- * 
- * Ken's origianl Date Instance Methods and copyright notice:
- * 
- * Ken Snyder (ken d snyder at gmail dot com)
- * 2008-09-10
- * version 2.0.2 (http://kendsnyder.com/sandbox/date/)     
- * Creative Commons Attribution License 3.0 (http://creativecommons.org/licenses/by/3.0/)
- *
- * jqplotToImage function based on Larry Siden's export-jqplot-to-png.js.
- * Larry has generously given permission to adapt his code for inclusion
- * into jqPlot.
- *
- * Larry's original code can be found here:
- *
- * https://github.com/lsiden/export-jqplot-to-png
- * 
- * 
- */
-(function(e){e.jqplot.PieRenderer=function(){e.jqplot.LineRenderer.call(this)};e.jqplot.PieRenderer.prototype=new e.jqplot.LineRenderer();e.jqplot.PieRenderer.prototype.constructor=e.jqplot.PieRenderer;e.jqplot.PieRenderer.prototype.init=function(q,u){this.diameter=null;this.padding=20;this.sliceMargin=0;this.fill=true;this.shadowOffset=2;this.shadowAlpha=0.07;this.shadowDepth=5;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.dataLabels="percent";this.showDataLabels=false;this.dataLabelFormatString=null;this.dataLabelThreshold=3;this.dataLabelPositionFactor=0.52;this.dataLabelNudge=2;this.dataLabelCenterOn=true;this.startAngle=0;this.tickRenderer=e.jqplot.PieTickRenderer;this._drawData=true;this._type="pie";if(q.highlightMouseDown&&q.highlightMouseOver==null){q.highlightMouseOver=false}e.extend(true,this,q);if(this.sliceMargin<0){this.sliceMargin=0}this._diameter=null;this._radius=null;this._sliceAngles=[];this._highlightedPoint=null;if(this.h
 ighlightColors.length==0){for(var s=0;s<this.seriesColors.length;s++){var r=e.jqplot.getColorComponents(this.seriesColors[s]);var o=[r[0],r[1],r[2]];var t=o[0]+o[1]+o[2];for(var p=0;p<3;p++){o[p]=(t>570)?o[p]*0.8:o[p]+0.3*(255-o[p]);o[p]=parseInt(o[p],10)}this.highlightColors.push("rgb("+o[0]+","+o[1]+","+o[2]+")")}}this.highlightColorGenerator=new e.jqplot.ColorGenerator(this.highlightColors);u.postParseOptionsHooks.addOnce(m);u.postInitHooks.addOnce(g);u.eventListenerHooks.addOnce("jqplotMouseMove",b);u.eventListenerHooks.addOnce("jqplotMouseDown",a);u.eventListenerHooks.addOnce("jqplotMouseUp",l);u.eventListenerHooks.addOnce("jqplotClick",f);u.eventListenerHooks.addOnce("jqplotRightClick",n);u.postDrawHooks.addOnce(i)};e.jqplot.PieRenderer.prototype.setGridData=function(t){var p=[];var u=[];var o=this.startAngle/180*Math.PI;var s=0;this._drawData=false;for(var r=0;r<this.data.length;r++){if(this.data[r][1]!=0){this._drawData=true}p.push(this.data[r][1]);u.push([this.data[r][0]]);
 if(r>0){p[r]+=p[r-1]}s+=this.data[r][1]}var q=Math.PI*2/p[p.length-1];for(var r=0;r<p.length;r++){u[r][1]=p[r]*q;u[r][2]=this.data[r][1]/s}this.gridData=u};e.jqplot.PieRenderer.prototype.makeGridData=function(t,u){var p=[];var v=[];var s=0;var o=this.startAngle/180*Math.PI;this._drawData=false;for(var r=0;r<t.length;r++){if(this.data[r][1]!=0){this._drawData=true}p.push(t[r][1]);v.push([t[r][0]]);if(r>0){p[r]+=p[r-1]}s+=t[r][1]}var q=Math.PI*2/p[p.length-1];for(var r=0;r<p.length;r++){v[r][1]=p[r]*q;v[r][2]=t[r][1]/s}return v};function h(o){return Math.sin((o-(o-Math.PI)/8/Math.PI)/2)}function j(u,t,o,v,r){var w=0;var q=t-u;var s=Math.abs(q);var p=o;if(v==false){p+=r}if(p>0&&s>0.01&&s<6.282){w=parseFloat(p)/2/h(q)}return w}e.jqplot.PieRenderer.prototype.drawSlice=function(B,z,y,u,w){if(this._drawData){var p=this._radius;var A=this.fill;var x=this.lineWidth;var s=this.sliceMargin;if(this.fill==false){s+=this.lineWidth}B.save();B.translate(this._center[0],this._center[1]);var D=j(z,y,
 this.sliceMargin,this.fill,this.lineWidth);var o=D*Math.cos((z+y)/2);var C=D*Math.sin((z+y)/2);if((y-z)<=Math.PI){p-=D}else{p+=D}B.translate(o,C);if(w){for(var v=0,t=this.shadowDepth;v<t;v++){B.save();B.translate(this.shadowOffset*Math.cos(this.shadowAngle/180*Math.PI),this.shadowOffset*Math.sin(this.shadowAngle/180*Math.PI));q(p)}for(var v=0,t=this.shadowDepth;v<t;v++){B.restore()}}else{q(p)}B.restore()}function q(r){if(y>6.282+this.startAngle){y=6.282+this.startAngle;if(z>y){z=6.281+this.startAngle}}if(z>=y){return}B.beginPath();B.fillStyle=u;B.strokeStyle=u;B.lineWidth=x;B.arc(0,0,r,z,y,false);B.lineTo(0,0);B.closePath();if(A){B.fill()}else{B.stroke()}}};e.jqplot.PieRenderer.prototype.draw=function(B,z,E,o){var W;var H=(E!=undefined)?E:{};var t=0;var s=0;var N=1;var L=new e.jqplot.ColorGenerator(this.seriesColors);if(E.legendInfo&&E.legendInfo.placement=="insideGrid"){var J=E.legendInfo;switch(J.location){case"nw":t=J.width+J.xoffset;break;case"w":t=J.width+J.xoffset;break;case"s
 w":t=J.width+J.xoffset;break;case"ne":t=J.width+J.xoffset;N=-1;break;case"e":t=J.width+J.xoffset;N=-1;break;case"se":t=J.width+J.xoffset;N=-1;break;case"n":s=J.height+J.yoffset;break;case"s":s=J.height+J.yoffset;N=-1;break;default:break}}var K=(H.shadow!=undefined)?H.shadow:this.shadow;var A=(H.fill!=undefined)?H.fill:this.fill;var C=B.canvas.width;var I=B.canvas.height;var Q=C-t-2*this.padding;var X=I-s-2*this.padding;var M=Math.min(Q,X);var Y=M;this._sliceAngles=[];var v=this.sliceMargin;if(this.fill==false){v+=this.lineWidth}var q;var G=0;var R,aa,Z,ab;var D=this.startAngle/180*Math.PI;for(var W=0,V=z.length;W<V;W++){aa=(W==0)?D:z[W-1][1]+D;Z=z[W][1]+D;this._sliceAngles.push([aa,Z]);q=j(aa,Z,this.sliceMargin,this.fill,this.lineWidth);if(Math.abs(Z-aa)>Math.PI){G=Math.max(q,G)}}if(this.diameter!=null&&this.diameter>0){this._diameter=this.diameter-2*G}else{this._diameter=Y-2*G}if(this._diameter<6){e.jqplot.log("Diameter of pie too small, not rendering.");return}var S=this._radius=t
 his._diameter/2;this._center=[(C-N*t)/2+N*t+G*Math.cos(D),(I-N*s)/2+N*s+G*Math.sin(D)];if(this.shadow){for(var W=0,V=z.length;W<V;W++){ab="rgba(0,0,0,"+this.shadowAlpha+")";this.renderer.drawSlice.call(this,B,this._sliceAngles[W][0],this._sliceAngles[W][1],ab,true)}}for(var W=0;W<z.length;W++){this.renderer.drawSlice.call(this,B,this._sliceAngles[W][0],this._sliceAngles[W][1],L.next(),false);if(this.showDataLabels&&z[W][2]*100>=this.dataLabelThreshold){var F,U=(this._sliceAngles[W][0]+this._sliceAngles[W][1])/2,T;if(this.dataLabels=="label"){F=this.dataLabelFormatString||"%s";T=e.jqplot.sprintf(F,z[W][0])}else{if(this.dataLabels=="value"){F=this.dataLabelFormatString||"%d";T=e.jqplot.sprintf(F,this.data[W][1])}else{if(this.dataLabels=="percent"){F=this.dataLabelFormatString||"%d%%";T=e.jqplot.sprintf(F,z[W][2]*100)}else{if(this.dataLabels.constructor==Array){F=this.dataLabelFormatString||"%s";T=e.jqplot.sprintf(F,this.dataLabels[W])}}}}var p=(this._radius)*this.dataLabelPositionFact
 or+this.sliceMargin+this.dataLabelNudge;var P=this._center[0]+Math.cos(U)*p+this.canvas._offsets.left;var O=this._center[1]+Math.sin(U)*p+this.canvas._offsets.top;var u=e('<div class="jqplot-pie-series jqplot-data-label" style="position:absolute;">'+T+"</div>").insertBefore(o.eventCanvas._elem);if(this.dataLabelCenterOn){P-=u.width()/2;O-=u.height()/2}else{P-=u.width()*Math.sin(U/2);O-=u.height()/2}P=Math.round(P);O=Math.round(O);u.css({left:P,top:O})}}};e.jqplot.PieAxisRenderer=function(){e.jqplot.LinearAxisRenderer.call(this)};e.jqplot.PieAxisRenderer.prototype=new e.jqplot.LinearAxisRenderer();e.jqplot.PieAxisRenderer.prototype.constructor=e.jqplot.PieAxisRenderer;e.jqplot.PieAxisRenderer.prototype.init=function(o){this.tickRenderer=e.jqplot.PieTickRenderer;e.extend(true,this,o);this._dataBounds={min:0,max:100};this.min=0;this.max=100;this.showTicks=false;this.ticks=[];this.showMark=false;this.show=false};e.jqplot.PieLegendRenderer=function(){e.jqplot.TableLegendRenderer.call(thi
 s)};e.jqplot.PieLegendRenderer.prototype=new e.jqplot.TableLegendRenderer();e.jqplot.PieLegendRenderer.prototype.constructor=e.jqplot.PieLegendRenderer;e.jqplot.PieLegendRenderer.prototype.init=function(o){this.numberRows=null;this.numberColumns=null;e.extend(true,this,o)};e.jqplot.PieLegendRenderer.prototype.draw=function(){var r=this;if(this.show){var B=this._series;this._elem=e(document.createElement("table"));this._elem.addClass("jqplot-table-legend");var E={position:"absolute"};if(this.background){E.background=this.background}if(this.border){E.border=this.border}if(this.fontSize){E.fontSize=this.fontSize}if(this.fontFamily){E.fontFamily=this.fontFamily}if(this.textColor){E.textColor=this.textColor}if(this.marginTop!=null){E.marginTop=this.marginTop}if(this.marginBottom!=null){E.marginBottom=this.marginBottom}if(this.marginLeft!=null){E.marginLeft=this.marginLeft}if(this.marginRight!=null){E.marginRight=this.marginRight}this._elem.css(E);var I=false,A=false,o,y;var C=B[0];var p=
 new e.jqplot.ColorGenerator(C.seriesColors);if(C.show){var J=C.data;if(this.numberRows){o=this.numberRows;if(!this.numberColumns){y=Math.ceil(J.length/o)}else{y=this.numberColumns}}else{if(this.numberColumns){y=this.numberColumns;o=Math.ceil(J.length/this.numberColumns)}else{o=J.length;y=1}}var H,G;var q,w,v;var x,z,F;var D=0;var u,t;for(H=0;H<o;H++){q=e(document.createElement("tr"));q.addClass("jqplot-table-legend");if(A){q.prependTo(this._elem)}else{q.appendTo(this._elem)}for(G=0;G<y;G++){if(D<J.length){x=this.labels[D]||J[D][0].toString();F=p.next();if(!A){if(H>0){I=true}else{I=false}}else{if(H==o-1){I=false}else{I=true}}z=(I)?this.rowSpacing:"0";w=e(document.createElement("td"));w.addClass("jqplot-table-legend jqplot-table-legend-swatch");w.css({textAlign:"center",paddingTop:z});u=e(document.createElement("div"));u.addClass("jqplot-table-legend-swatch-outline");t=e(document.createElement("div"));t.addClass("jqplot-table-legend-swatch");t.css({backgroundColor:F,borderColor:F});w.
 append(u.append(t));v=e(document.createElement("td"));v.addClass("jqplot-table-legend jqplot-table-legend-label");v.css("paddingTop",z);if(this.escapeHtml){v.text(x)}else{v.html(x)}if(A){v.prependTo(q);w.prependTo(q)}else{w.appendTo(q);v.appendTo(q)}I=true}D++}}}}return this._elem};e.jqplot.PieRenderer.prototype.handleMove=function(q,p,t,s,r){if(s){var o=[s.seriesIndex,s.pointIndex,s.data];r.target.trigger("jqplotDataMouseOver",o);if(r.series[o[0]].highlightMouseOver&&!(o[0]==r.plugins.pieRenderer.highlightedSeriesIndex&&o[1]==r.series[o[0]]._highlightedPoint)){r.target.trigger("jqplotDataHighlight",o);d(r,o[0],o[1])}}else{if(s==null){k(r)}}};function c(s,r,p){p=p||{};p.axesDefaults=p.axesDefaults||{};p.legend=p.legend||{};p.seriesDefaults=p.seriesDefaults||{};var o=false;if(p.seriesDefaults.renderer==e.jqplot.PieRenderer){o=true}else{if(p.series){for(var q=0;q<p.series.length;q++){if(p.series[q].renderer==e.jqplot.PieRenderer){o=true}}}}if(o){p.axesDefaults.renderer=e.jqplot.PieAxi
 sRenderer;p.legend.renderer=e.jqplot.PieLegendRenderer;p.legend.preDraw=true;p.seriesDefaults.pointLabels={show:false}}}function g(r,q,o){for(var p=0;p<this.series.length;p++){if(this.series[p].renderer.constructor==e.jqplot.PieRenderer){if(this.series[p].highlightMouseOver){this.series[p].highlightMouseDown=false}}}}function m(o){for(var p=0;p<this.series.length;p++){this.series[p].seriesColors=this.seriesColors;this.series[p].colorGenerator=e.jqplot.colorGenerator}}function d(t,r,q){var p=t.series[r];var o=t.plugins.pieRenderer.highlightCanvas;o._ctx.clearRect(0,0,o._ctx.canvas.width,o._ctx.canvas.height);p._highlightedPoint=q;t.plugins.pieRenderer.highlightedSeriesIndex=r;p.renderer.drawSlice.call(p,o._ctx,p._sliceAngles[q][0],p._sliceAngles[q][1],p.highlightColorGenerator.get(q),false)}function k(q){var o=q.plugins.pieRenderer.highlightCanvas;o._ctx.clearRect(0,0,o._ctx.canvas.width,o._ctx.canvas.height);for(var p=0;p<q.series.length;p++){q.series[p]._highlightedPoint=null}q.plu
 gins.pieRenderer.highlightedSeriesIndex=null;q.target.trigger("jqplotDataUnhighlight")}function b(s,r,v,u,t){if(u){var q=[u.seriesIndex,u.pointIndex,u.data];var p=jQuery.Event("jqplotDataMouseOver");p.pageX=s.pageX;p.pageY=s.pageY;t.target.trigger(p,q);if(t.series[q[0]].highlightMouseOver&&!(q[0]==t.plugins.pieRenderer.highlightedSeriesIndex&&q[1]==t.series[q[0]]._highlightedPoint)){var o=jQuery.Event("jqplotDataHighlight");o.pageX=s.pageX;o.pageY=s.pageY;t.target.trigger(o,q);d(t,q[0],q[1])}}else{if(u==null){k(t)}}}function a(r,q,u,t,s){if(t){var p=[t.seriesIndex,t.pointIndex,t.data];if(s.series[p[0]].highlightMouseDown&&!(p[0]==s.plugins.pieRenderer.highlightedSeriesIndex&&p[1]==s.series[p[0]]._highlightedPoint)){var o=jQuery.Event("jqplotDataHighlight");o.pageX=r.pageX;o.pageY=r.pageY;s.target.trigger(o,p);d(s,p[0],p[1])}}else{if(t==null){k(s)}}}function l(q,p,t,s,r){var o=r.plugins.pieRenderer.highlightedSeriesIndex;if(o!=null&&r.series[o].highlightMouseDown){k(r)}}function f(r,
 q,u,t,s){if(t){var p=[t.seriesIndex,t.pointIndex,t.data];var o=jQuery.Event("jqplotDataClick");o.pageX=r.pageX;o.pageY=r.pageY;s.target.trigger(o,p)}}function n(s,r,v,u,t){if(u){var q=[u.seriesIndex,u.pointIndex,u.data];var o=t.plugins.pieRenderer.highlightedSeriesIndex;if(o!=null&&t.series[o].highlightMouseDown){k(t)}var p=jQuery.Event("jqplotDataRightClick");p.pageX=s.pageX;p.pageY=s.pageY;t.target.trigger(p,q)}}function i(){if(this.plugins.pieRenderer&&this.plugins.pieRenderer.highlightCanvas){this.plugins.pieRenderer.highlightCanvas.resetCanvas();this.plugins.pieRenderer.highlightCanvas=null}this.plugins.pieRenderer={highlightedSeriesIndex:null};this.plugins.pieRenderer.highlightCanvas=new e.jqplot.GenericCanvas();var p=e(this.targetId+" .jqplot-data-label");if(p.length){e(p[0]).before(this.plugins.pieRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-pieRenderer-highlight-canvas",this._plotDimensions,this))}else{this.eventCanvas._elem.before(this.plugins.pieRender
 er.highlightCanvas.createElement(this._gridPadding,"jqplot-pieRenderer-highlight-canvas",this._plotDimensions,this))}var o=this.plugins.pieRenderer.highlightCanvas.setContext();this.eventCanvas._elem.bind("mouseleave",{plot:this},function(q){k(q.data.plot)})}e.jqplot.preInitHooks.push(c);e.jqplot.PieTickRenderer=function(){e.jqplot.AxisTickRenderer.call(this)};e.jqplot.PieTickRenderer.prototype=new e.jqplot.AxisTickRenderer();e.jqplot.PieTickRenderer.prototype.constructor=e.jqplot.PieTickRenderer})(jQuery);
\ No newline at end of file


[31/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/.svn/text-base/jquery-1.4.4.js.svn-base
----------------------------------------------------------------------
diff --git a/public/html/js/.svn/text-base/jquery-1.4.4.js.svn-base b/public/html/js/.svn/text-base/jquery-1.4.4.js.svn-base
deleted file mode 100644
index a4f1145..0000000
--- a/public/html/js/.svn/text-base/jquery-1.4.4.js.svn-base
+++ /dev/null
@@ -1,7179 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.4
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Nov 11 19:04:53 2010 -0500
- */
-(function( window, undefined ) {
-
-// Use the correct document accordingly with window argument (sandbox)
-var document = window.document;
-var jQuery = (function() {
-
-// Define a local copy of jQuery
-var jQuery = function( selector, context ) {
-		// The jQuery object is actually just the init constructor 'enhanced'
-		return new jQuery.fn.init( selector, context );
-	},
-
-	// Map over jQuery in case of overwrite
-	_jQuery = window.jQuery,
-
-	// Map over the $ in case of overwrite
-	_$ = window.$,
-
-	// A central reference to the root jQuery(document)
-	rootjQuery,
-
-	// A simple way to check for HTML strings or ID strings
-	// (both of which we optimize for)
-	quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,
-
-	// Is it a simple selector
-	isSimple = /^.[^:#\[\.,]*$/,
-
-	// Check if a string has a non-whitespace character in it
-	rnotwhite = /\S/,
-	rwhite = /\s/,
-
-	// Used for trimming whitespace
-	trimLeft = /^\s+/,
-	trimRight = /\s+$/,
-
-	// Check for non-word characters
-	rnonword = /\W/,
-
-	// Check for digits
-	rdigit = /\d/,
-
-	// Match a standalone tag
-	rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-
-	// JSON RegExp
-	rvalidchars = /^[\],:{}\s]*$/,
-	rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
-	rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
-	rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
-
-	// Useragent RegExp
-	rwebkit = /(webkit)[ \/]([\w.]+)/,
-	ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
-	rmsie = /(msie) ([\w.]+)/,
-	rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
-
-	// Keep a UserAgent string for use with jQuery.browser
-	userAgent = navigator.userAgent,
-
-	// For matching the engine and version of the browser
-	browserMatch,
-	
-	// Has the ready events already been bound?
-	readyBound = false,
-	
-	// The functions to execute on DOM ready
-	readyList = [],
-
-	// The ready event handler
-	DOMContentLoaded,
-
-	// Save a reference to some core methods
-	toString = Object.prototype.toString,
-	hasOwn = Object.prototype.hasOwnProperty,
-	push = Array.prototype.push,
-	slice = Array.prototype.slice,
-	trim = String.prototype.trim,
-	indexOf = Array.prototype.indexOf,
-	
-	// [[Class]] -> type pairs
-	class2type = {};
-
-jQuery.fn = jQuery.prototype = {
-	init: function( selector, context ) {
-		var match, elem, ret, doc;
-
-		// Handle $(""), $(null), or $(undefined)
-		if ( !selector ) {
-			return this;
-		}
-
-		// Handle $(DOMElement)
-		if ( selector.nodeType ) {
-			this.context = this[0] = selector;
-			this.length = 1;
-			return this;
-		}
-		
-		// The body element only exists once, optimize finding it
-		if ( selector === "body" && !context && document.body ) {
-			this.context = document;
-			this[0] = document.body;
-			this.selector = "body";
-			this.length = 1;
-			return this;
-		}
-
-		// Handle HTML strings
-		if ( typeof selector === "string" ) {
-			// Are we dealing with HTML string or an ID?
-			match = quickExpr.exec( selector );
-
-			// Verify a match, and that no context was specified for #id
-			if ( match && (match[1] || !context) ) {
-
-				// HANDLE: $(html) -> $(array)
-				if ( match[1] ) {
-					doc = (context ? context.ownerDocument || context : document);
-
-					// If a single string is passed in and it's a single tag
-					// just do a createElement and skip the rest
-					ret = rsingleTag.exec( selector );
-
-					if ( ret ) {
-						if ( jQuery.isPlainObject( context ) ) {
-							selector = [ document.createElement( ret[1] ) ];
-							jQuery.fn.attr.call( selector, context, true );
-
-						} else {
-							selector = [ doc.createElement( ret[1] ) ];
-						}
-
-					} else {
-						ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
-						selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes;
-					}
-					
-					return jQuery.merge( this, selector );
-					
-				// HANDLE: $("#id")
-				} else {
-					elem = document.getElementById( match[2] );
-
-					// Check parentNode to catch when Blackberry 4.6 returns
-					// nodes that are no longer in the document #6963
-					if ( elem && elem.parentNode ) {
-						// Handle the case where IE and Opera return items
-						// by name instead of ID
-						if ( elem.id !== match[2] ) {
-							return rootjQuery.find( selector );
-						}
-
-						// Otherwise, we inject the element directly into the jQuery object
-						this.length = 1;
-						this[0] = elem;
-					}
-
-					this.context = document;
-					this.selector = selector;
-					return this;
-				}
-
-			// HANDLE: $("TAG")
-			} else if ( !context && !rnonword.test( selector ) ) {
-				this.selector = selector;
-				this.context = document;
-				selector = document.getElementsByTagName( selector );
-				return jQuery.merge( this, selector );
-
-			// HANDLE: $(expr, $(...))
-			} else if ( !context || context.jquery ) {
-				return (context || rootjQuery).find( selector );
-
-			// HANDLE: $(expr, context)
-			// (which is just equivalent to: $(context).find(expr)
-			} else {
-				return jQuery( context ).find( selector );
-			}
-
-		// HANDLE: $(function)
-		// Shortcut for document ready
-		} else if ( jQuery.isFunction( selector ) ) {
-			return rootjQuery.ready( selector );
-		}
-
-		if (selector.selector !== undefined) {
-			this.selector = selector.selector;
-			this.context = selector.context;
-		}
-
-		return jQuery.makeArray( selector, this );
-	},
-
-	// Start with an empty selector
-	selector: "",
-
-	// The current version of jQuery being used
-	jquery: "1.4.4",
-
-	// The default length of a jQuery object is 0
-	length: 0,
-
-	// The number of elements contained in the matched element set
-	size: function() {
-		return this.length;
-	},
-
-	toArray: function() {
-		return slice.call( this, 0 );
-	},
-
-	// Get the Nth element in the matched element set OR
-	// Get the whole matched element set as a clean array
-	get: function( num ) {
-		return num == null ?
-
-			// Return a 'clean' array
-			this.toArray() :
-
-			// Return just the object
-			( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );
-	},
-
-	// Take an array of elements and push it onto the stack
-	// (returning the new matched element set)
-	pushStack: function( elems, name, selector ) {
-		// Build a new jQuery matched element set
-		var ret = jQuery();
-
-		if ( jQuery.isArray( elems ) ) {
-			push.apply( ret, elems );
-		
-		} else {
-			jQuery.merge( ret, elems );
-		}
-
-		// Add the old object onto the stack (as a reference)
-		ret.prevObject = this;
-
-		ret.context = this.context;
-
-		if ( name === "find" ) {
-			ret.selector = this.selector + (this.selector ? " " : "") + selector;
-		} else if ( name ) {
-			ret.selector = this.selector + "." + name + "(" + selector + ")";
-		}
-
-		// Return the newly-formed element set
-		return ret;
-	},
-
-	// Execute a callback for every element in the matched set.
-	// (You can seed the arguments with an array of args, but this is
-	// only used internally.)
-	each: function( callback, args ) {
-		return jQuery.each( this, callback, args );
-	},
-	
-	ready: function( fn ) {
-		// Attach the listeners
-		jQuery.bindReady();
-
-		// If the DOM is already ready
-		if ( jQuery.isReady ) {
-			// Execute the function immediately
-			fn.call( document, jQuery );
-
-		// Otherwise, remember the function for later
-		} else if ( readyList ) {
-			// Add the function to the wait list
-			readyList.push( fn );
-		}
-
-		return this;
-	},
-	
-	eq: function( i ) {
-		return i === -1 ?
-			this.slice( i ) :
-			this.slice( i, +i + 1 );
-	},
-
-	first: function() {
-		return this.eq( 0 );
-	},
-
-	last: function() {
-		return this.eq( -1 );
-	},
-
-	slice: function() {
-		return this.pushStack( slice.apply( this, arguments ),
-			"slice", slice.call(arguments).join(",") );
-	},
-
-	map: function( callback ) {
-		return this.pushStack( jQuery.map(this, function( elem, i ) {
-			return callback.call( elem, i, elem );
-		}));
-	},
-	
-	end: function() {
-		return this.prevObject || jQuery(null);
-	},
-
-	// For internal use only.
-	// Behaves like an Array's method, not like a jQuery method.
-	push: push,
-	sort: [].sort,
-	splice: [].splice
-};
-
-// Give the init function the jQuery prototype for later instantiation
-jQuery.fn.init.prototype = jQuery.fn;
-
-jQuery.extend = jQuery.fn.extend = function() {
-	 var options, name, src, copy, copyIsArray, clone,
-		target = arguments[0] || {},
-		i = 1,
-		length = arguments.length,
-		deep = false;
-
-	// Handle a deep copy situation
-	if ( typeof target === "boolean" ) {
-		deep = target;
-		target = arguments[1] || {};
-		// skip the boolean and the target
-		i = 2;
-	}
-
-	// Handle case when target is a string or something (possible in deep copy)
-	if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
-		target = {};
-	}
-
-	// extend jQuery itself if only one argument is passed
-	if ( length === i ) {
-		target = this;
-		--i;
-	}
-
-	for ( ; i < length; i++ ) {
-		// Only deal with non-null/undefined values
-		if ( (options = arguments[ i ]) != null ) {
-			// Extend the base object
-			for ( name in options ) {
-				src = target[ name ];
-				copy = options[ name ];
-
-				// Prevent never-ending loop
-				if ( target === copy ) {
-					continue;
-				}
-
-				// Recurse if we're merging plain objects or arrays
-				if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
-					if ( copyIsArray ) {
-						copyIsArray = false;
-						clone = src && jQuery.isArray(src) ? src : [];
-
-					} else {
-						clone = src && jQuery.isPlainObject(src) ? src : {};
-					}
-
-					// Never move original objects, clone them
-					target[ name ] = jQuery.extend( deep, clone, copy );
-
-				// Don't bring in undefined values
-				} else if ( copy !== undefined ) {
-					target[ name ] = copy;
-				}
-			}
-		}
-	}
-
-	// Return the modified object
-	return target;
-};
-
-jQuery.extend({
-	noConflict: function( deep ) {
-		window.$ = _$;
-
-		if ( deep ) {
-			window.jQuery = _jQuery;
-		}
-
-		return jQuery;
-	},
-	
-	// Is the DOM ready to be used? Set to true once it occurs.
-	isReady: false,
-
-	// A counter to track how many items to wait for before
-	// the ready event fires. See #6781
-	readyWait: 1,
-	
-	// Handle when the DOM is ready
-	ready: function( wait ) {
-		// A third-party is pushing the ready event forwards
-		if ( wait === true ) {
-			jQuery.readyWait--;
-		}
-
-		// Make sure that the DOM is not already loaded
-		if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) {
-			// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
-			if ( !document.body ) {
-				return setTimeout( jQuery.ready, 1 );
-			}
-
-			// Remember that the DOM is ready
-			jQuery.isReady = true;
-
-			// If a normal DOM Ready event fired, decrement, and wait if need be
-			if ( wait !== true && --jQuery.readyWait > 0 ) {
-				return;
-			}
-
-			// If there are functions bound, to execute
-			if ( readyList ) {
-				// Execute all of them
-				var fn,
-					i = 0,
-					ready = readyList;
-
-				// Reset the list of functions
-				readyList = null;
-
-				while ( (fn = ready[ i++ ]) ) {
-					fn.call( document, jQuery );
-				}
-
-				// Trigger any bound ready events
-				if ( jQuery.fn.trigger ) {
-					jQuery( document ).trigger( "ready" ).unbind( "ready" );
-				}
-			}
-		}
-	},
-	
-	bindReady: function() {
-		if ( readyBound ) {
-			return;
-		}
-
-		readyBound = true;
-
-		// Catch cases where $(document).ready() is called after the
-		// browser event has already occurred.
-		if ( document.readyState === "complete" ) {
-			// Handle it asynchronously to allow scripts the opportunity to delay ready
-			return setTimeout( jQuery.ready, 1 );
-		}
-
-		// Mozilla, Opera and webkit nightlies currently support this event
-		if ( document.addEventListener ) {
-			// Use the handy event callback
-			document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
-			
-			// A fallback to window.onload, that will always work
-			window.addEventListener( "load", jQuery.ready, false );
-
-		// If IE event model is used
-		} else if ( document.attachEvent ) {
-			// ensure firing before onload,
-			// maybe late but safe also for iframes
-			document.attachEvent("onreadystatechange", DOMContentLoaded);
-			
-			// A fallback to window.onload, that will always work
-			window.attachEvent( "onload", jQuery.ready );
-
-			// If IE and not a frame
-			// continually check to see if the document is ready
-			var toplevel = false;
-
-			try {
-				toplevel = window.frameElement == null;
-			} catch(e) {}
-
-			if ( document.documentElement.doScroll && toplevel ) {
-				doScrollCheck();
-			}
-		}
-	},
-
-	// See test/unit/core.js for details concerning isFunction.
-	// Since version 1.3, DOM methods and functions like alert
-	// aren't supported. They return false on IE (#2968).
-	isFunction: function( obj ) {
-		return jQuery.type(obj) === "function";
-	},
-
-	isArray: Array.isArray || function( obj ) {
-		return jQuery.type(obj) === "array";
-	},
-
-	// A crude way of determining if an object is a window
-	isWindow: function( obj ) {
-		return obj && typeof obj === "object" && "setInterval" in obj;
-	},
-
-	isNaN: function( obj ) {
-		return obj == null || !rdigit.test( obj ) || isNaN( obj );
-	},
-
-	type: function( obj ) {
-		return obj == null ?
-			String( obj ) :
-			class2type[ toString.call(obj) ] || "object";
-	},
-
-	isPlainObject: function( obj ) {
-		// Must be an Object.
-		// Because of IE, we also have to check the presence of the constructor property.
-		// Make sure that DOM nodes and window objects don't pass through, as well
-		if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
-			return false;
-		}
-		
-		// Not own constructor property must be Object
-		if ( obj.constructor &&
-			!hasOwn.call(obj, "constructor") &&
-			!hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
-			return false;
-		}
-		
-		// Own properties are enumerated firstly, so to speed up,
-		// if last one is own, then all properties are own.
-	
-		var key;
-		for ( key in obj ) {}
-		
-		return key === undefined || hasOwn.call( obj, key );
-	},
-
-	isEmptyObject: function( obj ) {
-		for ( var name in obj ) {
-			return false;
-		}
-		return true;
-	},
-	
-	error: function( msg ) {
-		throw msg;
-	},
-	
-	parseJSON: function( data ) {
-		if ( typeof data !== "string" || !data ) {
-			return null;
-		}
-
-		// Make sure leading/trailing whitespace is removed (IE can't handle it)
-		data = jQuery.trim( data );
-		
-		// Make sure the incoming data is actual JSON
-		// Logic borrowed from http://json.org/json2.js
-		if ( rvalidchars.test(data.replace(rvalidescape, "@")
-			.replace(rvalidtokens, "]")
-			.replace(rvalidbraces, "")) ) {
-
-			// Try to use the native JSON parser first
-			return window.JSON && window.JSON.parse ?
-				window.JSON.parse( data ) :
-				(new Function("return " + data))();
-
-		} else {
-			jQuery.error( "Invalid JSON: " + data );
-		}
-	},
-
-	noop: function() {},
-
-	// Evalulates a script in a global context
-	globalEval: function( data ) {
-		if ( data && rnotwhite.test(data) ) {
-			// Inspired by code by Andrea Giammarchi
-			// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
-			var head = document.getElementsByTagName("head")[0] || document.documentElement,
-				script = document.createElement("script");
-
-			script.type = "text/javascript";
-
-			if ( jQuery.support.scriptEval ) {
-				script.appendChild( document.createTextNode( data ) );
-			} else {
-				script.text = data;
-			}
-
-			// Use insertBefore instead of appendChild to circumvent an IE6 bug.
-			// This arises when a base node is used (#2709).
-			head.insertBefore( script, head.firstChild );
-			head.removeChild( script );
-		}
-	},
-
-	nodeName: function( elem, name ) {
-		return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
-	},
-
-	// args is for internal usage only
-	each: function( object, callback, args ) {
-		var name, i = 0,
-			length = object.length,
-			isObj = length === undefined || jQuery.isFunction(object);
-
-		if ( args ) {
-			if ( isObj ) {
-				for ( name in object ) {
-					if ( callback.apply( object[ name ], args ) === false ) {
-						break;
-					}
-				}
-			} else {
-				for ( ; i < length; ) {
-					if ( callback.apply( object[ i++ ], args ) === false ) {
-						break;
-					}
-				}
-			}
-
-		// A special, fast, case for the most common use of each
-		} else {
-			if ( isObj ) {
-				for ( name in object ) {
-					if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
-						break;
-					}
-				}
-			} else {
-				for ( var value = object[0];
-					i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {}
-			}
-		}
-
-		return object;
-	},
-
-	// Use native String.trim function wherever possible
-	trim: trim ?
-		function( text ) {
-			return text == null ?
-				"" :
-				trim.call( text );
-		} :
-
-		// Otherwise use our own trimming functionality
-		function( text ) {
-			return text == null ?
-				"" :
-				text.toString().replace( trimLeft, "" ).replace( trimRight, "" );
-		},
-
-	// results is for internal usage only
-	makeArray: function( array, results ) {
-		var ret = results || [];
-
-		if ( array != null ) {
-			// The window, strings (and functions) also have 'length'
-			// The extra typeof function check is to prevent crashes
-			// in Safari 2 (See: #3039)
-			// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
-			var type = jQuery.type(array);
-
-			if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) {
-				push.call( ret, array );
-			} else {
-				jQuery.merge( ret, array );
-			}
-		}
-
-		return ret;
-	},
-
-	inArray: function( elem, array ) {
-		if ( array.indexOf ) {
-			return array.indexOf( elem );
-		}
-
-		for ( var i = 0, length = array.length; i < length; i++ ) {
-			if ( array[ i ] === elem ) {
-				return i;
-			}
-		}
-
-		return -1;
-	},
-
-	merge: function( first, second ) {
-		var i = first.length,
-			j = 0;
-
-		if ( typeof second.length === "number" ) {
-			for ( var l = second.length; j < l; j++ ) {
-				first[ i++ ] = second[ j ];
-			}
-		
-		} else {
-			while ( second[j] !== undefined ) {
-				first[ i++ ] = second[ j++ ];
-			}
-		}
-
-		first.length = i;
-
-		return first;
-	},
-
-	grep: function( elems, callback, inv ) {
-		var ret = [], retVal;
-		inv = !!inv;
-
-		// Go through the array, only saving the items
-		// that pass the validator function
-		for ( var i = 0, length = elems.length; i < length; i++ ) {
-			retVal = !!callback( elems[ i ], i );
-			if ( inv !== retVal ) {
-				ret.push( elems[ i ] );
-			}
-		}
-
-		return ret;
-	},
-
-	// arg is for internal usage only
-	map: function( elems, callback, arg ) {
-		var ret = [], value;
-
-		// Go through the array, translating each of the items to their
-		// new value (or values).
-		for ( var i = 0, length = elems.length; i < length; i++ ) {
-			value = callback( elems[ i ], i, arg );
-
-			if ( value != null ) {
-				ret[ ret.length ] = value;
-			}
-		}
-
-		return ret.concat.apply( [], ret );
-	},
-
-	// A global GUID counter for objects
-	guid: 1,
-
-	proxy: function( fn, proxy, thisObject ) {
-		if ( arguments.length === 2 ) {
-			if ( typeof proxy === "string" ) {
-				thisObject = fn;
-				fn = thisObject[ proxy ];
-				proxy = undefined;
-
-			} else if ( proxy && !jQuery.isFunction( proxy ) ) {
-				thisObject = proxy;
-				proxy = undefined;
-			}
-		}
-
-		if ( !proxy && fn ) {
-			proxy = function() {
-				return fn.apply( thisObject || this, arguments );
-			};
-		}
-
-		// Set the guid of unique handler to the same of original handler, so it can be removed
-		if ( fn ) {
-			proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;
-		}
-
-		// So proxy can be declared as an argument
-		return proxy;
-	},
-
-	// Mutifunctional method to get and set values to a collection
-	// The value/s can be optionally by executed if its a function
-	access: function( elems, key, value, exec, fn, pass ) {
-		var length = elems.length;
-	
-		// Setting many attributes
-		if ( typeof key === "object" ) {
-			for ( var k in key ) {
-				jQuery.access( elems, k, key[k], exec, fn, value );
-			}
-			return elems;
-		}
-	
-		// Setting one attribute
-		if ( value !== undefined ) {
-			// Optionally, function values get executed if exec is true
-			exec = !pass && exec && jQuery.isFunction(value);
-		
-			for ( var i = 0; i < length; i++ ) {
-				fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
-			}
-		
-			return elems;
-		}
-	
-		// Getting an attribute
-		return length ? fn( elems[0], key ) : undefined;
-	},
-
-	now: function() {
-		return (new Date()).getTime();
-	},
-
-	// Use of jQuery.browser is frowned upon.
-	// More details: http://docs.jquery.com/Utilities/jQuery.browser
-	uaMatch: function( ua ) {
-		ua = ua.toLowerCase();
-
-		var match = rwebkit.exec( ua ) ||
-			ropera.exec( ua ) ||
-			rmsie.exec( ua ) ||
-			ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
-			[];
-
-		return { browser: match[1] || "", version: match[2] || "0" };
-	},
-
-	browser: {}
-});
-
-// Populate the class2type map
-jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
-	class2type[ "[object " + name + "]" ] = name.toLowerCase();
-});
-
-browserMatch = jQuery.uaMatch( userAgent );
-if ( browserMatch.browser ) {
-	jQuery.browser[ browserMatch.browser ] = true;
-	jQuery.browser.version = browserMatch.version;
-}
-
-// Deprecated, use jQuery.browser.webkit instead
-if ( jQuery.browser.webkit ) {
-	jQuery.browser.safari = true;
-}
-
-if ( indexOf ) {
-	jQuery.inArray = function( elem, array ) {
-		return indexOf.call( array, elem );
-	};
-}
-
-// Verify that \s matches non-breaking spaces
-// (IE fails on this test)
-if ( !rwhite.test( "\xA0" ) ) {
-	trimLeft = /^[\s\xA0]+/;
-	trimRight = /[\s\xA0]+$/;
-}
-
-// All jQuery objects should point back to these
-rootjQuery = jQuery(document);
-
-// Cleanup functions for the document ready method
-if ( document.addEventListener ) {
-	DOMContentLoaded = function() {
-		document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
-		jQuery.ready();
-	};
-
-} else if ( document.attachEvent ) {
-	DOMContentLoaded = function() {
-		// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
-		if ( document.readyState === "complete" ) {
-			document.detachEvent( "onreadystatechange", DOMContentLoaded );
-			jQuery.ready();
-		}
-	};
-}
-
-// The DOM ready check for Internet Explorer
-function doScrollCheck() {
-	if ( jQuery.isReady ) {
-		return;
-	}
-
-	try {
-		// If IE is used, use the trick by Diego Perini
-		// http://javascript.nwbox.com/IEContentLoaded/
-		document.documentElement.doScroll("left");
-	} catch(e) {
-		setTimeout( doScrollCheck, 1 );
-		return;
-	}
-
-	// and execute any waiting functions
-	jQuery.ready();
-}
-
-// Expose jQuery to the global object
-return (window.jQuery = window.$ = jQuery);
-
-})();
-
-
-(function() {
-
-	jQuery.support = {};
-
-	var root = document.documentElement,
-		script = document.createElement("script"),
-		div = document.createElement("div"),
-		id = "script" + jQuery.now();
-
-	div.style.display = "none";
-	div.innerHTML = "   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-
-	var all = div.getElementsByTagName("*"),
-		a = div.getElementsByTagName("a")[0],
-		select = document.createElement("select"),
-		opt = select.appendChild( document.createElement("option") );
-
-	// Can't get basic test support
-	if ( !all || !all.length || !a ) {
-		return;
-	}
-
-	jQuery.support = {
-		// IE strips leading whitespace when .innerHTML is used
-		leadingWhitespace: div.firstChild.nodeType === 3,
-
-		// Make sure that tbody elements aren't automatically inserted
-		// IE will insert them into empty tables
-		tbody: !div.getElementsByTagName("tbody").length,
-
-		// Make sure that link elements get serialized correctly by innerHTML
-		// This requires a wrapper element in IE
-		htmlSerialize: !!div.getElementsByTagName("link").length,
-
-		// Get the style information from getAttribute
-		// (IE uses .cssText insted)
-		style: /red/.test( a.getAttribute("style") ),
-
-		// Make sure that URLs aren't manipulated
-		// (IE normalizes it by default)
-		hrefNormalized: a.getAttribute("href") === "/a",
-
-		// Make sure that element opacity exists
-		// (IE uses filter instead)
-		// Use a regex to work around a WebKit issue. See #5145
-		opacity: /^0.55$/.test( a.style.opacity ),
-
-		// Verify style float existence
-		// (IE uses styleFloat instead of cssFloat)
-		cssFloat: !!a.style.cssFloat,
-
-		// Make sure that if no value is specified for a checkbox
-		// that it defaults to "on".
-		// (WebKit defaults to "" instead)
-		checkOn: div.getElementsByTagName("input")[0].value === "on",
-
-		// Make sure that a selected-by-default option has a working selected property.
-		// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
-		optSelected: opt.selected,
-
-		// Will be defined later
-		deleteExpando: true,
-		optDisabled: false,
-		checkClone: false,
-		scriptEval: false,
-		noCloneEvent: true,
-		boxModel: null,
-		inlineBlockNeedsLayout: false,
-		shrinkWrapBlocks: false,
-		reliableHiddenOffsets: true
-	};
-
-	// Make sure that the options inside disabled selects aren't marked as disabled
-	// (WebKit marks them as diabled)
-	select.disabled = true;
-	jQuery.support.optDisabled = !opt.disabled;
-
-	script.type = "text/javascript";
-	try {
-		script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
-	} catch(e) {}
-
-	root.insertBefore( script, root.firstChild );
-
-	// Make sure that the execution of code works by injecting a script
-	// tag with appendChild/createTextNode
-	// (IE doesn't support this, fails, and uses .text instead)
-	if ( window[ id ] ) {
-		jQuery.support.scriptEval = true;
-		delete window[ id ];
-	}
-
-	// Test to see if it's possible to delete an expando from an element
-	// Fails in Internet Explorer
-	try {
-		delete script.test;
-
-	} catch(e) {
-		jQuery.support.deleteExpando = false;
-	}
-
-	root.removeChild( script );
-
-	if ( div.attachEvent && div.fireEvent ) {
-		div.attachEvent("onclick", function click() {
-			// Cloning a node shouldn't copy over any
-			// bound event handlers (IE does this)
-			jQuery.support.noCloneEvent = false;
-			div.detachEvent("onclick", click);
-		});
-		div.cloneNode(true).fireEvent("onclick");
-	}
-
-	div = document.createElement("div");
-	div.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>";
-
-	var fragment = document.createDocumentFragment();
-	fragment.appendChild( div.firstChild );
-
-	// WebKit doesn't clone checked state correctly in fragments
-	jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked;
-
-	// Figure out if the W3C box model works as expected
-	// document.body must exist before we can do this
-	jQuery(function() {
-		var div = document.createElement("div");
-		div.style.width = div.style.paddingLeft = "1px";
-
-		document.body.appendChild( div );
-		jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
-
-		if ( "zoom" in div.style ) {
-			// Check if natively block-level elements act like inline-block
-			// elements when setting their display to 'inline' and giving
-			// them layout
-			// (IE < 8 does this)
-			div.style.display = "inline";
-			div.style.zoom = 1;
-			jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2;
-
-			// Check if elements with layout shrink-wrap their children
-			// (IE 6 does this)
-			div.style.display = "";
-			div.innerHTML = "<div style='width:4px;'></div>";
-			jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2;
-		}
-
-		div.innerHTML = "<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";
-		var tds = div.getElementsByTagName("td");
-
-		// Check if table cells still have offsetWidth/Height when they are set
-		// to display:none and there are still other visible table cells in a
-		// table row; if so, offsetWidth/Height are not reliable for use when
-		// determining if an element has been hidden directly using
-		// display:none (it is still safe to use offsets if a parent element is
-		// hidden; don safety goggles and see bug #4512 for more information).
-		// (only IE 8 fails this test)
-		jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0;
-
-		tds[0].style.display = "";
-		tds[1].style.display = "none";
-
-		// Check if empty table cells still have offsetWidth/Height
-		// (IE < 8 fail this test)
-		jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0;
-		div.innerHTML = "";
-
-		document.body.removeChild( div ).style.display = "none";
-		div = tds = null;
-	});
-
-	// Technique from Juriy Zaytsev
-	// http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/
-	var eventSupported = function( eventName ) {
-		var el = document.createElement("div");
-		eventName = "on" + eventName;
-
-		var isSupported = (eventName in el);
-		if ( !isSupported ) {
-			el.setAttribute(eventName, "return;");
-			isSupported = typeof el[eventName] === "function";
-		}
-		el = null;
-
-		return isSupported;
-	};
-
-	jQuery.support.submitBubbles = eventSupported("submit");
-	jQuery.support.changeBubbles = eventSupported("change");
-
-	// release memory in IE
-	root = script = div = all = a = null;
-})();
-
-
-
-var windowData = {},
-	rbrace = /^(?:\{.*\}|\[.*\])$/;
-
-jQuery.extend({
-	cache: {},
-
-	// Please use with caution
-	uuid: 0,
-
-	// Unique for each copy of jQuery on the page	
-	expando: "jQuery" + jQuery.now(),
-
-	// The following elements throw uncatchable exceptions if you
-	// attempt to add expando properties to them.
-	noData: {
-		"embed": true,
-		// Ban all objects except for Flash (which handle expandos)
-		"object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
-		"applet": true
-	},
-
-	data: function( elem, name, data ) {
-		if ( !jQuery.acceptData( elem ) ) {
-			return;
-		}
-
-		elem = elem == window ?
-			windowData :
-			elem;
-
-		var isNode = elem.nodeType,
-			id = isNode ? elem[ jQuery.expando ] : null,
-			cache = jQuery.cache, thisCache;
-
-		if ( isNode && !id && typeof name === "string" && data === undefined ) {
-			return;
-		}
-
-		// Get the data from the object directly
-		if ( !isNode ) {
-			cache = elem;
-
-		// Compute a unique ID for the element
-		} else if ( !id ) {
-			elem[ jQuery.expando ] = id = ++jQuery.uuid;
-		}
-
-		// Avoid generating a new cache unless none exists and we
-		// want to manipulate it.
-		if ( typeof name === "object" ) {
-			if ( isNode ) {
-				cache[ id ] = jQuery.extend(cache[ id ], name);
-
-			} else {
-				jQuery.extend( cache, name );
-			}
-
-		} else if ( isNode && !cache[ id ] ) {
-			cache[ id ] = {};
-		}
-
-		thisCache = isNode ? cache[ id ] : cache;
-
-		// Prevent overriding the named cache with undefined values
-		if ( data !== undefined ) {
-			thisCache[ name ] = data;
-		}
-
-		return typeof name === "string" ? thisCache[ name ] : thisCache;
-	},
-
-	removeData: function( elem, name ) {
-		if ( !jQuery.acceptData( elem ) ) {
-			return;
-		}
-
-		elem = elem == window ?
-			windowData :
-			elem;
-
-		var isNode = elem.nodeType,
-			id = isNode ? elem[ jQuery.expando ] : elem,
-			cache = jQuery.cache,
-			thisCache = isNode ? cache[ id ] : id;
-
-		// If we want to remove a specific section of the element's data
-		if ( name ) {
-			if ( thisCache ) {
-				// Remove the section of cache data
-				delete thisCache[ name ];
-
-				// If we've removed all the data, remove the element's cache
-				if ( isNode && jQuery.isEmptyObject(thisCache) ) {
-					jQuery.removeData( elem );
-				}
-			}
-
-		// Otherwise, we want to remove all of the element's data
-		} else {
-			if ( isNode && jQuery.support.deleteExpando ) {
-				delete elem[ jQuery.expando ];
-
-			} else if ( elem.removeAttribute ) {
-				elem.removeAttribute( jQuery.expando );
-
-			// Completely remove the data cache
-			} else if ( isNode ) {
-				delete cache[ id ];
-
-			// Remove all fields from the object
-			} else {
-				for ( var n in elem ) {
-					delete elem[ n ];
-				}
-			}
-		}
-	},
-
-	// A method for determining if a DOM node can handle the data expando
-	acceptData: function( elem ) {
-		if ( elem.nodeName ) {
-			var match = jQuery.noData[ elem.nodeName.toLowerCase() ];
-
-			if ( match ) {
-				return !(match === true || elem.getAttribute("classid") !== match);
-			}
-		}
-
-		return true;
-	}
-});
-
-jQuery.fn.extend({
-	data: function( key, value ) {
-		var data = null;
-
-		if ( typeof key === "undefined" ) {
-			if ( this.length ) {
-				var attr = this[0].attributes, name;
-				data = jQuery.data( this[0] );
-
-				for ( var i = 0, l = attr.length; i < l; i++ ) {
-					name = attr[i].name;
-
-					if ( name.indexOf( "data-" ) === 0 ) {
-						name = name.substr( 5 );
-						dataAttr( this[0], name, data[ name ] );
-					}
-				}
-			}
-
-			return data;
-
-		} else if ( typeof key === "object" ) {
-			return this.each(function() {
-				jQuery.data( this, key );
-			});
-		}
-
-		var parts = key.split(".");
-		parts[1] = parts[1] ? "." + parts[1] : "";
-
-		if ( value === undefined ) {
-			data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
-
-			// Try to fetch any internally stored data first
-			if ( data === undefined && this.length ) {
-				data = jQuery.data( this[0], key );
-				data = dataAttr( this[0], key, data );
-			}
-
-			return data === undefined && parts[1] ?
-				this.data( parts[0] ) :
-				data;
-
-		} else {
-			return this.each(function() {
-				var $this = jQuery( this ),
-					args = [ parts[0], value ];
-
-				$this.triggerHandler( "setData" + parts[1] + "!", args );
-				jQuery.data( this, key, value );
-				$this.triggerHandler( "changeData" + parts[1] + "!", args );
-			});
-		}
-	},
-
-	removeData: function( key ) {
-		return this.each(function() {
-			jQuery.removeData( this, key );
-		});
-	}
-});
-
-function dataAttr( elem, key, data ) {
-	// If nothing was found internally, try to fetch any
-	// data from the HTML5 data-* attribute
-	if ( data === undefined && elem.nodeType === 1 ) {
-		data = elem.getAttribute( "data-" + key );
-
-		if ( typeof data === "string" ) {
-			try {
-				data = data === "true" ? true :
-				data === "false" ? false :
-				data === "null" ? null :
-				!jQuery.isNaN( data ) ? parseFloat( data ) :
-					rbrace.test( data ) ? jQuery.parseJSON( data ) :
-					data;
-			} catch( e ) {}
-
-			// Make sure we set the data so it isn't changed later
-			jQuery.data( elem, key, data );
-
-		} else {
-			data = undefined;
-		}
-	}
-
-	return data;
-}
-
-
-
-
-jQuery.extend({
-	queue: function( elem, type, data ) {
-		if ( !elem ) {
-			return;
-		}
-
-		type = (type || "fx") + "queue";
-		var q = jQuery.data( elem, type );
-
-		// Speed up dequeue by getting out quickly if this is just a lookup
-		if ( !data ) {
-			return q || [];
-		}
-
-		if ( !q || jQuery.isArray(data) ) {
-			q = jQuery.data( elem, type, jQuery.makeArray(data) );
-
-		} else {
-			q.push( data );
-		}
-
-		return q;
-	},
-
-	dequeue: function( elem, type ) {
-		type = type || "fx";
-
-		var queue = jQuery.queue( elem, type ),
-			fn = queue.shift();
-
-		// If the fx queue is dequeued, always remove the progress sentinel
-		if ( fn === "inprogress" ) {
-			fn = queue.shift();
-		}
-
-		if ( fn ) {
-			// Add a progress sentinel to prevent the fx queue from being
-			// automatically dequeued
-			if ( type === "fx" ) {
-				queue.unshift("inprogress");
-			}
-
-			fn.call(elem, function() {
-				jQuery.dequeue(elem, type);
-			});
-		}
-	}
-});
-
-jQuery.fn.extend({
-	queue: function( type, data ) {
-		if ( typeof type !== "string" ) {
-			data = type;
-			type = "fx";
-		}
-
-		if ( data === undefined ) {
-			return jQuery.queue( this[0], type );
-		}
-		return this.each(function( i ) {
-			var queue = jQuery.queue( this, type, data );
-
-			if ( type === "fx" && queue[0] !== "inprogress" ) {
-				jQuery.dequeue( this, type );
-			}
-		});
-	},
-	dequeue: function( type ) {
-		return this.each(function() {
-			jQuery.dequeue( this, type );
-		});
-	},
-
-	// Based off of the plugin by Clint Helfers, with permission.
-	// http://blindsignals.com/index.php/2009/07/jquery-delay/
-	delay: function( time, type ) {
-		time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;
-		type = type || "fx";
-
-		return this.queue( type, function() {
-			var elem = this;
-			setTimeout(function() {
-				jQuery.dequeue( elem, type );
-			}, time );
-		});
-	},
-
-	clearQueue: function( type ) {
-		return this.queue( type || "fx", [] );
-	}
-});
-
-
-
-
-var rclass = /[\n\t]/g,
-	rspaces = /\s+/,
-	rreturn = /\r/g,
-	rspecialurl = /^(?:href|src|style)$/,
-	rtype = /^(?:button|input)$/i,
-	rfocusable = /^(?:button|input|object|select|textarea)$/i,
-	rclickable = /^a(?:rea)?$/i,
-	rradiocheck = /^(?:radio|checkbox)$/i;
-
-jQuery.props = {
-	"for": "htmlFor",
-	"class": "className",
-	readonly: "readOnly",
-	maxlength: "maxLength",
-	cellspacing: "cellSpacing",
-	rowspan: "rowSpan",
-	colspan: "colSpan",
-	tabindex: "tabIndex",
-	usemap: "useMap",
-	frameborder: "frameBorder"
-};
-
-jQuery.fn.extend({
-	attr: function( name, value ) {
-		return jQuery.access( this, name, value, true, jQuery.attr );
-	},
-
-	removeAttr: function( name, fn ) {
-		return this.each(function(){
-			jQuery.attr( this, name, "" );
-			if ( this.nodeType === 1 ) {
-				this.removeAttribute( name );
-			}
-		});
-	},
-
-	addClass: function( value ) {
-		if ( jQuery.isFunction(value) ) {
-			return this.each(function(i) {
-				var self = jQuery(this);
-				self.addClass( value.call(this, i, self.attr("class")) );
-			});
-		}
-
-		if ( value && typeof value === "string" ) {
-			var classNames = (value || "").split( rspaces );
-
-			for ( var i = 0, l = this.length; i < l; i++ ) {
-				var elem = this[i];
-
-				if ( elem.nodeType === 1 ) {
-					if ( !elem.className ) {
-						elem.className = value;
-
-					} else {
-						var className = " " + elem.className + " ",
-							setClass = elem.className;
-
-						for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
-							if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
-								setClass += " " + classNames[c];
-							}
-						}
-						elem.className = jQuery.trim( setClass );
-					}
-				}
-			}
-		}
-
-		return this;
-	},
-
-	removeClass: function( value ) {
-		if ( jQuery.isFunction(value) ) {
-			return this.each(function(i) {
-				var self = jQuery(this);
-				self.removeClass( value.call(this, i, self.attr("class")) );
-			});
-		}
-
-		if ( (value && typeof value === "string") || value === undefined ) {
-			var classNames = (value || "").split( rspaces );
-
-			for ( var i = 0, l = this.length; i < l; i++ ) {
-				var elem = this[i];
-
-				if ( elem.nodeType === 1 && elem.className ) {
-					if ( value ) {
-						var className = (" " + elem.className + " ").replace(rclass, " ");
-						for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
-							className = className.replace(" " + classNames[c] + " ", " ");
-						}
-						elem.className = jQuery.trim( className );
-
-					} else {
-						elem.className = "";
-					}
-				}
-			}
-		}
-
-		return this;
-	},
-
-	toggleClass: function( value, stateVal ) {
-		var type = typeof value,
-			isBool = typeof stateVal === "boolean";
-
-		if ( jQuery.isFunction( value ) ) {
-			return this.each(function(i) {
-				var self = jQuery(this);
-				self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal );
-			});
-		}
-
-		return this.each(function() {
-			if ( type === "string" ) {
-				// toggle individual class names
-				var className,
-					i = 0,
-					self = jQuery( this ),
-					state = stateVal,
-					classNames = value.split( rspaces );
-
-				while ( (className = classNames[ i++ ]) ) {
-					// check each className given, space seperated list
-					state = isBool ? state : !self.hasClass( className );
-					self[ state ? "addClass" : "removeClass" ]( className );
-				}
-
-			} else if ( type === "undefined" || type === "boolean" ) {
-				if ( this.className ) {
-					// store className if set
-					jQuery.data( this, "__className__", this.className );
-				}
-
-				// toggle whole className
-				this.className = this.className || value === false ? "" : jQuery.data( this, "__className__" ) || "";
-			}
-		});
-	},
-
-	hasClass: function( selector ) {
-		var className = " " + selector + " ";
-		for ( var i = 0, l = this.length; i < l; i++ ) {
-			if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
-				return true;
-			}
-		}
-
-		return false;
-	},
-
-	val: function( value ) {
-		if ( !arguments.length ) {
-			var elem = this[0];
-
-			if ( elem ) {
-				if ( jQuery.nodeName( elem, "option" ) ) {
-					// attributes.value is undefined in Blackberry 4.7 but
-					// uses .value. See #6932
-					var val = elem.attributes.value;
-					return !val || val.specified ? elem.value : elem.text;
-				}
-
-				// We need to handle select boxes special
-				if ( jQuery.nodeName( elem, "select" ) ) {
-					var index = elem.selectedIndex,
-						values = [],
-						options = elem.options,
-						one = elem.type === "select-one";
-
-					// Nothing was selected
-					if ( index < 0 ) {
-						return null;
-					}
-
-					// Loop through all the selected options
-					for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
-						var option = options[ i ];
-
-						// Don't return options that are disabled or in a disabled optgroup
-						if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && 
-								(!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
-
-							// Get the specific value for the option
-							value = jQuery(option).val();
-
-							// We don't need an array for one selects
-							if ( one ) {
-								return value;
-							}
-
-							// Multi-Selects return an array
-							values.push( value );
-						}
-					}
-
-					return values;
-				}
-
-				// Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
-				if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) {
-					return elem.getAttribute("value") === null ? "on" : elem.value;
-				}
-				
-
-				// Everything else, we just grab the value
-				return (elem.value || "").replace(rreturn, "");
-
-			}
-
-			return undefined;
-		}
-
-		var isFunction = jQuery.isFunction(value);
-
-		return this.each(function(i) {
-			var self = jQuery(this), val = value;
-
-			if ( this.nodeType !== 1 ) {
-				return;
-			}
-
-			if ( isFunction ) {
-				val = value.call(this, i, self.val());
-			}
-
-			// Treat null/undefined as ""; convert numbers to string
-			if ( val == null ) {
-				val = "";
-			} else if ( typeof val === "number" ) {
-				val += "";
-			} else if ( jQuery.isArray(val) ) {
-				val = jQuery.map(val, function (value) {
-					return value == null ? "" : value + "";
-				});
-			}
-
-			if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {
-				this.checked = jQuery.inArray( self.val(), val ) >= 0;
-
-			} else if ( jQuery.nodeName( this, "select" ) ) {
-				var values = jQuery.makeArray(val);
-
-				jQuery( "option", this ).each(function() {
-					this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
-				});
-
-				if ( !values.length ) {
-					this.selectedIndex = -1;
-				}
-
-			} else {
-				this.value = val;
-			}
-		});
-	}
-});
-
-jQuery.extend({
-	attrFn: {
-		val: true,
-		css: true,
-		html: true,
-		text: true,
-		data: true,
-		width: true,
-		height: true,
-		offset: true
-	},
-		
-	attr: function( elem, name, value, pass ) {
-		// don't set attributes on text and comment nodes
-		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
-			return undefined;
-		}
-
-		if ( pass && name in jQuery.attrFn ) {
-			return jQuery(elem)[name](value);
-		}
-
-		var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ),
-			// Whether we are setting (or getting)
-			set = value !== undefined;
-
-		// Try to normalize/fix the name
-		name = notxml && jQuery.props[ name ] || name;
-
-		// These attributes require special treatment
-		var special = rspecialurl.test( name );
-
-		// Safari mis-reports the default selected property of an option
-		// Accessing the parent's selectedIndex property fixes it
-		if ( name === "selected" && !jQuery.support.optSelected ) {
-			var parent = elem.parentNode;
-			if ( parent ) {
-				parent.selectedIndex;
-
-				// Make sure that it also works with optgroups, see #5701
-				if ( parent.parentNode ) {
-					parent.parentNode.selectedIndex;
-				}
-			}
-		}
-
-		// If applicable, access the attribute via the DOM 0 way
-		// 'in' checks fail in Blackberry 4.7 #6931
-		if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) {
-			if ( set ) {
-				// We can't allow the type property to be changed (since it causes problems in IE)
-				if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) {
-					jQuery.error( "type property can't be changed" );
-				}
-
-				if ( value === null ) {
-					if ( elem.nodeType === 1 ) {
-						elem.removeAttribute( name );
-					}
-
-				} else {
-					elem[ name ] = value;
-				}
-			}
-
-			// browsers index elements by id/name on forms, give priority to attributes.
-			if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) {
-				return elem.getAttributeNode( name ).nodeValue;
-			}
-
-			// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
-			// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
-			if ( name === "tabIndex" ) {
-				var attributeNode = elem.getAttributeNode( "tabIndex" );
-
-				return attributeNode && attributeNode.specified ?
-					attributeNode.value :
-					rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
-						0 :
-						undefined;
-			}
-
-			return elem[ name ];
-		}
-
-		if ( !jQuery.support.style && notxml && name === "style" ) {
-			if ( set ) {
-				elem.style.cssText = "" + value;
-			}
-
-			return elem.style.cssText;
-		}
-
-		if ( set ) {
-			// convert the value to a string (all browsers do this but IE) see #1070
-			elem.setAttribute( name, "" + value );
-		}
-
-		// Ensure that missing attributes return undefined
-		// Blackberry 4.7 returns "" from getAttribute #6938
-		if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) {
-			return undefined;
-		}
-
-		var attr = !jQuery.support.hrefNormalized && notxml && special ?
-				// Some attributes require a special call on IE
-				elem.getAttribute( name, 2 ) :
-				elem.getAttribute( name );
-
-		// Non-existent attributes return null, we normalize to undefined
-		return attr === null ? undefined : attr;
-	}
-});
-
-
-
-
-var rnamespaces = /\.(.*)$/,
-	rformElems = /^(?:textarea|input|select)$/i,
-	rperiod = /\./g,
-	rspace = / /g,
-	rescape = /[^\w\s.|`]/g,
-	fcleanup = function( nm ) {
-		return nm.replace(rescape, "\\$&");
-	},
-	focusCounts = { focusin: 0, focusout: 0 };
-
-/*
- * A number of helper functions used for managing events.
- * Many of the ideas behind this code originated from
- * Dean Edwards' addEvent library.
- */
-jQuery.event = {
-
-	// Bind an event to an element
-	// Original by Dean Edwards
-	add: function( elem, types, handler, data ) {
-		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
-			return;
-		}
-
-		// For whatever reason, IE has trouble passing the window object
-		// around, causing it to be cloned in the process
-		if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) {
-			elem = window;
-		}
-
-		if ( handler === false ) {
-			handler = returnFalse;
-		} else if ( !handler ) {
-			// Fixes bug #7229. Fix recommended by jdalton
-		  return;
-		}
-
-		var handleObjIn, handleObj;
-
-		if ( handler.handler ) {
-			handleObjIn = handler;
-			handler = handleObjIn.handler;
-		}
-
-		// Make sure that the function being executed has a unique ID
-		if ( !handler.guid ) {
-			handler.guid = jQuery.guid++;
-		}
-
-		// Init the element's event structure
-		var elemData = jQuery.data( elem );
-
-		// If no elemData is found then we must be trying to bind to one of the
-		// banned noData elements
-		if ( !elemData ) {
-			return;
-		}
-
-		// Use a key less likely to result in collisions for plain JS objects.
-		// Fixes bug #7150.
-		var eventKey = elem.nodeType ? "events" : "__events__",
-			events = elemData[ eventKey ],
-			eventHandle = elemData.handle;
-			
-		if ( typeof events === "function" ) {
-			// On plain objects events is a fn that holds the the data
-			// which prevents this data from being JSON serialized
-			// the function does not need to be called, it just contains the data
-			eventHandle = events.handle;
-			events = events.events;
-
-		} else if ( !events ) {
-			if ( !elem.nodeType ) {
-				// On plain objects, create a fn that acts as the holder
-				// of the values to avoid JSON serialization of event data
-				elemData[ eventKey ] = elemData = function(){};
-			}
-
-			elemData.events = events = {};
-		}
-
-		if ( !eventHandle ) {
-			elemData.handle = eventHandle = function() {
-				// Handle the second event of a trigger and when
-				// an event is called after a page has unloaded
-				return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
-					jQuery.event.handle.apply( eventHandle.elem, arguments ) :
-					undefined;
-			};
-		}
-
-		// Add elem as a property of the handle function
-		// This is to prevent a memory leak with non-native events in IE.
-		eventHandle.elem = elem;
-
-		// Handle multiple events separated by a space
-		// jQuery(...).bind("mouseover mouseout", fn);
-		types = types.split(" ");
-
-		var type, i = 0, namespaces;
-
-		while ( (type = types[ i++ ]) ) {
-			handleObj = handleObjIn ?
-				jQuery.extend({}, handleObjIn) :
-				{ handler: handler, data: data };
-
-			// Namespaced event handlers
-			if ( type.indexOf(".") > -1 ) {
-				namespaces = type.split(".");
-				type = namespaces.shift();
-				handleObj.namespace = namespaces.slice(0).sort().join(".");
-
-			} else {
-				namespaces = [];
-				handleObj.namespace = "";
-			}
-
-			handleObj.type = type;
-			if ( !handleObj.guid ) {
-				handleObj.guid = handler.guid;
-			}
-
-			// Get the current list of functions bound to this event
-			var handlers = events[ type ],
-				special = jQuery.event.special[ type ] || {};
-
-			// Init the event handler queue
-			if ( !handlers ) {
-				handlers = events[ type ] = [];
-
-				// Check for a special event handler
-				// Only use addEventListener/attachEvent if the special
-				// events handler returns false
-				if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
-					// Bind the global event handler to the element
-					if ( elem.addEventListener ) {
-						elem.addEventListener( type, eventHandle, false );
-
-					} else if ( elem.attachEvent ) {
-						elem.attachEvent( "on" + type, eventHandle );
-					}
-				}
-			}
-			
-			if ( special.add ) { 
-				special.add.call( elem, handleObj ); 
-
-				if ( !handleObj.handler.guid ) {
-					handleObj.handler.guid = handler.guid;
-				}
-			}
-
-			// Add the function to the element's handler list
-			handlers.push( handleObj );
-
-			// Keep track of which events have been used, for global triggering
-			jQuery.event.global[ type ] = true;
-		}
-
-		// Nullify elem to prevent memory leaks in IE
-		elem = null;
-	},
-
-	global: {},
-
-	// Detach an event or set of events from an element
-	remove: function( elem, types, handler, pos ) {
-		// don't do events on text and comment nodes
-		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
-			return;
-		}
-
-		if ( handler === false ) {
-			handler = returnFalse;
-		}
-
-		var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType,
-			eventKey = elem.nodeType ? "events" : "__events__",
-			elemData = jQuery.data( elem ),
-			events = elemData && elemData[ eventKey ];
-
-		if ( !elemData || !events ) {
-			return;
-		}
-		
-		if ( typeof events === "function" ) {
-			elemData = events;
-			events = events.events;
-		}
-
-		// types is actually an event object here
-		if ( types && types.type ) {
-			handler = types.handler;
-			types = types.type;
-		}
-
-		// Unbind all events for the element
-		if ( !types || typeof types === "string" && types.charAt(0) === "." ) {
-			types = types || "";
-
-			for ( type in events ) {
-				jQuery.event.remove( elem, type + types );
-			}
-
-			return;
-		}
-
-		// Handle multiple events separated by a space
-		// jQuery(...).unbind("mouseover mouseout", fn);
-		types = types.split(" ");
-
-		while ( (type = types[ i++ ]) ) {
-			origType = type;
-			handleObj = null;
-			all = type.indexOf(".") < 0;
-			namespaces = [];
-
-			if ( !all ) {
-				// Namespaced event handlers
-				namespaces = type.split(".");
-				type = namespaces.shift();
-
-				namespace = new RegExp("(^|\\.)" + 
-					jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)");
-			}
-
-			eventType = events[ type ];
-
-			if ( !eventType ) {
-				continue;
-			}
-
-			if ( !handler ) {
-				for ( j = 0; j < eventType.length; j++ ) {
-					handleObj = eventType[ j ];
-
-					if ( all || namespace.test( handleObj.namespace ) ) {
-						jQuery.event.remove( elem, origType, handleObj.handler, j );
-						eventType.splice( j--, 1 );
-					}
-				}
-
-				continue;
-			}
-
-			special = jQuery.event.special[ type ] || {};
-
-			for ( j = pos || 0; j < eventType.length; j++ ) {
-				handleObj = eventType[ j ];
-
-				if ( handler.guid === handleObj.guid ) {
-					// remove the given handler for the given type
-					if ( all || namespace.test( handleObj.namespace ) ) {
-						if ( pos == null ) {
-							eventType.splice( j--, 1 );
-						}
-
-						if ( special.remove ) {
-							special.remove.call( elem, handleObj );
-						}
-					}
-
-					if ( pos != null ) {
-						break;
-					}
-				}
-			}
-
-			// remove generic event handler if no more handlers exist
-			if ( eventType.length === 0 || pos != null && eventType.length === 1 ) {
-				if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
-					jQuery.removeEvent( elem, type, elemData.handle );
-				}
-
-				ret = null;
-				delete events[ type ];
-			}
-		}
-
-		// Remove the expando if it's no longer used
-		if ( jQuery.isEmptyObject( events ) ) {
-			var handle = elemData.handle;
-			if ( handle ) {
-				handle.elem = null;
-			}
-
-			delete elemData.events;
-			delete elemData.handle;
-
-			if ( typeof elemData === "function" ) {
-				jQuery.removeData( elem, eventKey );
-
-			} else if ( jQuery.isEmptyObject( elemData ) ) {
-				jQuery.removeData( elem );
-			}
-		}
-	},
-
-	// bubbling is internal
-	trigger: function( event, data, elem /*, bubbling */ ) {
-		// Event object or event type
-		var type = event.type || event,
-			bubbling = arguments[3];
-
-		if ( !bubbling ) {
-			event = typeof event === "object" ?
-				// jQuery.Event object
-				event[ jQuery.expando ] ? event :
-				// Object literal
-				jQuery.extend( jQuery.Event(type), event ) :
-				// Just the event type (string)
-				jQuery.Event(type);
-
-			if ( type.indexOf("!") >= 0 ) {
-				event.type = type = type.slice(0, -1);
-				event.exclusive = true;
-			}
-
-			// Handle a global trigger
-			if ( !elem ) {
-				// Don't bubble custom events when global (to avoid too much overhead)
-				event.stopPropagation();
-
-				// Only trigger if we've ever bound an event for it
-				if ( jQuery.event.global[ type ] ) {
-					jQuery.each( jQuery.cache, function() {
-						if ( this.events && this.events[type] ) {
-							jQuery.event.trigger( event, data, this.handle.elem );
-						}
-					});
-				}
-			}
-
-			// Handle triggering a single element
-
-			// don't do events on text and comment nodes
-			if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
-				return undefined;
-			}
-
-			// Clean up in case it is reused
-			event.result = undefined;
-			event.target = elem;
-
-			// Clone the incoming data, if any
-			data = jQuery.makeArray( data );
-			data.unshift( event );
-		}
-
-		event.currentTarget = elem;
-
-		// Trigger the event, it is assumed that "handle" is a function
-		var handle = elem.nodeType ?
-			jQuery.data( elem, "handle" ) :
-			(jQuery.data( elem, "__events__" ) || {}).handle;
-
-		if ( handle ) {
-			handle.apply( elem, data );
-		}
-
-		var parent = elem.parentNode || elem.ownerDocument;
-
-		// Trigger an inline bound script
-		try {
-			if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) {
-				if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) {
-					event.result = false;
-					event.preventDefault();
-				}
-			}
-
-		// prevent IE from throwing an error for some elements with some event types, see #3533
-		} catch (inlineError) {}
-
-		if ( !event.isPropagationStopped() && parent ) {
-			jQuery.event.trigger( event, data, parent, true );
-
-		} else if ( !event.isDefaultPrevented() ) {
-			var old,
-				target = event.target,
-				targetType = type.replace( rnamespaces, "" ),
-				isClick = jQuery.nodeName( target, "a" ) && targetType === "click",
-				special = jQuery.event.special[ targetType ] || {};
-
-			if ( (!special._default || special._default.call( elem, event ) === false) && 
-				!isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) {
-
-				try {
-					if ( target[ targetType ] ) {
-						// Make sure that we don't accidentally re-trigger the onFOO events
-						old = target[ "on" + targetType ];
-
-						if ( old ) {
-							target[ "on" + targetType ] = null;
-						}
-
-						jQuery.event.triggered = true;
-						target[ targetType ]();
-					}
-
-				// prevent IE from throwing an error for some elements with some event types, see #3533
-				} catch (triggerError) {}
-
-				if ( old ) {
-					target[ "on" + targetType ] = old;
-				}
-
-				jQuery.event.triggered = false;
-			}
-		}
-	},
-
-	handle: function( event ) {
-		var all, handlers, namespaces, namespace_re, events,
-			namespace_sort = [],
-			args = jQuery.makeArray( arguments );
-
-		event = args[0] = jQuery.event.fix( event || window.event );
-		event.currentTarget = this;
-
-		// Namespaced event handlers
-		all = event.type.indexOf(".") < 0 && !event.exclusive;
-
-		if ( !all ) {
-			namespaces = event.type.split(".");
-			event.type = namespaces.shift();
-			namespace_sort = namespaces.slice(0).sort();
-			namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)");
-		}
-
-		event.namespace = event.namespace || namespace_sort.join(".");
-
-		events = jQuery.data(this, this.nodeType ? "events" : "__events__");
-
-		if ( typeof events === "function" ) {
-			events = events.events;
-		}
-
-		handlers = (events || {})[ event.type ];
-
-		if ( events && handlers ) {
-			// Clone the handlers to prevent manipulation
-			handlers = handlers.slice(0);
-
-			for ( var j = 0, l = handlers.length; j < l; j++ ) {
-				var handleObj = handlers[ j ];
-
-				// Filter the functions by class
-				if ( all || namespace_re.test( handleObj.namespace ) ) {
-					// Pass in a reference to the handler function itself
-					// So that we can later remove it
-					event.handler = handleObj.handler;
-					event.data = handleObj.data;
-					event.handleObj = handleObj;
-	
-					var ret = handleObj.handler.apply( this, args );
-
-					if ( ret !== undefined ) {
-						event.result = ret;
-						if ( ret === false ) {
-							event.preventDefault();
-							event.stopPropagation();
-						}
-					}
-
-					if ( event.isImmediatePropagationStopped() ) {
-						break;
-					}
-				}
-			}
-		}
-
-		return event.result;
-	},
-
-	props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-
-	fix: function( event ) {
-		if ( event[ jQuery.expando ] ) {
-			return event;
-		}
-
-		// store a copy of the original event object
-		// and "clone" to set read-only properties
-		var originalEvent = event;
-		event = jQuery.Event( originalEvent );
-
-		for ( var i = this.props.length, prop; i; ) {
-			prop = this.props[ --i ];
-			event[ prop ] = originalEvent[ prop ];
-		}
-
-		// Fix target property, if necessary
-		if ( !event.target ) {
-			// Fixes #1925 where srcElement might not be defined either
-			event.target = event.srcElement || document;
-		}
-
-		// check if target is a textnode (safari)
-		if ( event.target.nodeType === 3 ) {
-			event.target = event.target.parentNode;
-		}
-
-		// Add relatedTarget, if necessary
-		if ( !event.relatedTarget && event.fromElement ) {
-			event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;
-		}
-
-		// Calculate pageX/Y if missing and clientX/Y available
-		if ( event.pageX == null && event.clientX != null ) {
-			var doc = document.documentElement,
-				body = document.body;
-
-			event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
-			event.pageY = event.clientY + (doc && doc.scrollTop  || body && body.scrollTop  || 0) - (doc && doc.clientTop  || body && body.clientTop  || 0);
-		}
-
-		// Add which for key events
-		if ( event.which == null && (event.charCode != null || event.keyCode != null) ) {
-			event.which = event.charCode != null ? event.charCode : event.keyCode;
-		}
-
-		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
-		if ( !event.metaKey && event.ctrlKey ) {
-			event.metaKey = event.ctrlKey;
-		}
-
-		// Add which for click: 1 === left; 2 === middle; 3 === right
-		// Note: button is not normalized, so don't use it
-		if ( !event.which && event.button !== undefined ) {
-			event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
-		}
-
-		return event;
-	},
-
-	// Deprecated, use jQuery.guid instead
-	guid: 1E8,
-
-	// Deprecated, use jQuery.proxy instead
-	proxy: jQuery.proxy,
-
-	special: {
-		ready: {
-			// Make sure the ready event is setup
-			setup: jQuery.bindReady,
-			teardown: jQuery.noop
-		},
-
-		live: {
-			add: function( handleObj ) {
-				jQuery.event.add( this,
-					liveConvert( handleObj.origType, handleObj.selector ),
-					jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); 
-			},
-
-			remove: function( handleObj ) {
-				jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj );
-			}
-		},
-
-		beforeunload: {
-			setup: function( data, namespaces, eventHandle ) {
-				// We only want to do this special case on windows
-				if ( jQuery.isWindow( this ) ) {
-					this.onbeforeunload = eventHandle;
-				}
-			},
-
-			teardown: function( namespaces, eventHandle ) {
-				if ( this.onbeforeunload === eventHandle ) {
-					this.onbeforeunload = null;
-				}
-			}
-		}
-	}
-};
-
-jQuery.removeEvent = document.removeEventListener ?
-	function( elem, type, handle ) {
-		if ( elem.removeEventListener ) {
-			elem.removeEventListener( type, handle, false );
-		}
-	} : 
-	function( elem, type, handle ) {
-		if ( elem.detachEvent ) {
-			elem.detachEvent( "on" + type, handle );
-		}
-	};
-
-jQuery.Event = function( src ) {
-	// Allow instantiation without the 'new' keyword
-	if ( !this.preventDefault ) {
-		return new jQuery.Event( src );
-	}
-
-	// Event object
-	if ( src && src.type ) {
-		this.originalEvent = src;
-		this.type = src.type;
-	// Event type
-	} else {
-		this.type = src;
-	}
-
-	// timeStamp is buggy for some events on Firefox(#3843)
-	// So we won't rely on the native value
-	this.timeStamp = jQuery.now();
-
-	// Mark it as fixed
-	this[ jQuery.expando ] = true;
-};
-
-function returnFalse() {
-	return false;
-}
-function returnTrue() {
-	return true;
-}
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
-	preventDefault: function() {
-		this.isDefaultPrevented = returnTrue;
-
-		var e = this.originalEvent;
-		if ( !e ) {
-			return;
-		}
-		
-		// if preventDefault exists run it on the original event
-		if ( e.preventDefault ) {
-			e.preventDefault();
-
-		// otherwise set the returnValue property of the original event to false (IE)
-		} else {
-			e.returnValue = false;
-		}
-	},
-	stopPropagation: function() {
-		this.isPropagationStopped = returnTrue;
-
-		var e = this.originalEvent;
-		if ( !e ) {
-			return;
-		}
-		// if stopPropagation exists run it on the original event
-		if ( e.stopPropagation ) {
-			e.stopPropagation();
-		}
-		// otherwise set the cancelBubble property of the original event to true (IE)
-		e.cancelBubble = true;
-	},
-	stopImmediatePropagation: function() {
-		this.isImmediatePropagationStopped = returnTrue;
-		this.stopPropagation();
-	},
-	isDefaultPrevented: returnFalse,
-	isPropagationStopped: returnFalse,
-	isImmediatePropagationStopped: returnFalse
-};
-
-// Checks if an event happened on an element within another element
-// Used in jQuery.event.special.mouseenter and mouseleave handlers
-var withinElement = function( event ) {
-	// Check if mouse(over|out) are still within the same parent element
-	var parent = event.relatedTarget;
-
-	// Firefox sometimes assigns relatedTarget a XUL element
-	// which we cannot access the parentNode property of
-	try {
-		// Traverse up the tree
-		while ( parent && parent !== this ) {
-			parent = parent.parentNode;
-		}
-
-		if ( parent !== this ) {
-			// set the correct event type
-			event.type = event.data;
-
-			// handle event if we actually just moused on to a non sub-element
-			jQuery.event.handle.apply( this, arguments );
-		}
-
-	// assuming we've left the element since we most likely mousedover a xul element
-	} catch(e) { }
-},
-
-// In case of event delegation, we only need to rename the event.type,
-// liveHandler will take care of the rest.
-delegate = function( event ) {
-	event.type = event.data;
-	jQuery.event.handle.apply( this, arguments );
-};
-
-// Create mouseenter and mouseleave events
-jQuery.each({
-	mouseenter: "mouseover",
-	mouseleave: "mouseout"
-}, function( orig, fix ) {
-	jQuery.event.special[ orig ] = {
-		setup: function( data ) {
-			jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig );
-		},
-		teardown: function( data ) {
-			jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement );
-		}
-	};
-});
-
-// submit delegation
-if ( !jQuery.support.submitBubbles ) {
-
-	jQuery.event.special.submit = {
-		setup: function( data, namespaces ) {
-			if ( this.nodeName.toLowerCase() !== "form" ) {
-				jQuery.event.add(this, "click.specialSubmit", function( e ) {
-					var elem = e.target,
-						type = elem.type;
-
-					if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) {
-						e.liveFired = undefined;
-						return trigger( "submit", this, arguments );
-					}
-				});
-	 
-				jQuery.event.add(this, "keypress.specialSubmit", function( e ) {
-					var elem = e.target,
-						type = elem.type;
-
-					if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) {
-						e.liveFired = undefined;
-						return trigger( "submit", this, arguments );
-					}
-				});
-
-			} else {
-				return false;
-			}
-		},
-
-		teardown: function( namespaces ) {
-			jQuery.event.remove( this, ".specialSubmit" );
-		}
-	};
-
-}
-
-// change delegation, happens here so we have bind.
-if ( !jQuery.support.changeBubbles ) {
-
-	var changeFilters,
-
-	getVal = function( elem ) {
-		var type = elem.type, val = elem.value;
-
-		if ( type === "radio" || type === "checkbox" ) {
-			val = elem.checked;
-
-		} else if ( type === "select-multiple" ) {
-			val = elem.selectedIndex > -1 ?
-				jQuery.map( elem.options, function( elem ) {
-					return elem.selected;
-				}).join("-") :
-				"";
-
-		} else if ( elem.nodeName.toLowerCase() === "select" ) {
-			val = elem.selectedIndex;
-		}
-
-		return val;
-	},
-
-	testChange = function testChange( e ) {
-		var elem = e.target, data, val;
-
-		if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) {
-			return;
-		}
-
-		data = jQuery.data( elem, "_change_data" );
-		val = getVal(elem);
-
-		// the current data will be also retrieved by beforeactivate
-		if ( e.type !== "focusout" || elem.type !== "radio" ) {
-			jQuery.data( elem, "_change_data", val );
-		}
-		
-		if ( data === undefined || val === data ) {
-			return;
-		}
-
-		if ( data != null || val ) {
-			e.type = "change";
-			e.liveFired = undefined;
-			return jQuery.event.trigger( e, arguments[1], elem );
-		}
-	};
-
-	jQuery.event.special.change = {
-		filters: {
-			focusout: testChange, 
-
-			beforedeactivate: testChange,
-
-			click: function( e ) {
-				var elem = e.target, type = elem.type;
-
-				if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) {
-					return testChange.call( this, e );
-				}
-			},
-
-			// Change has to be called before submit
-			// Keydown will be called before keypress, which is used in submit-event delegation
-			keydown: function( e ) {
-				var elem = e.target, type = elem.type;
-
-				if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") ||
-					(e.keyCode === 32 && (type === "checkbox" || type === "radio")) ||
-					type === "select-multiple" ) {
-					return testChange.call( this, e );
-				}
-			},
-
-			// Beforeactivate happens also before the previous element is blurred
-			// with this event you can't trigger a change event, but you can store
-			// information
-			beforeactivate: function( e ) {
-				var elem = e.target;
-				jQuery.data( elem, "_change_data", getVal(elem) );
-			}
-		},
-
-		setup: function( data, namespaces ) {
-			if ( this.type === "file" ) {
-				return false;
-			}
-
-			for ( var type in changeFilters ) {
-				jQuery.event.add( this, type + ".specialChange", changeFilters[type] );
-			}
-
-			return rformElems.test( this.nodeName );
-		},
-
-		teardown: function( namespaces ) {
-			jQuery.event.remove( this, ".specialChange" );
-
-			return rformElems.test( this.nodeName );
-		}
-	};
-
-	changeFilters = jQuery.event.special.change.filters;
-
-	// Handle when the input is .focus()'d
-	changeFilters.focus = changeFilters.beforeactivate;
-}
-
-function trigger( type, elem, args ) {
-	args[0].type = type;
-	return jQuery.event.handle.apply( elem, args );
-}
-
-// Create "bubbling" focus and blur events
-if ( document.addEventListener ) {
-	jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
-		jQuery.event.special[ fix ] = {
-			setup: function() {
-				if ( focusCounts[fix]++ === 0 ) {
-					document.addEventListener( orig, handler, true );
-				}
-			}, 
-			teardown: function() { 
-				if ( --focusCounts[fix] === 0 ) {
-					document.removeEventListener( orig, handler, true );
-				}
-			}
-		};
-
-		function handler( e ) { 
-			e = jQuery.event.fix( e );
-			e.type = fix;
-			return jQuery.event.trigger( e, null, e.target );
-		}
-	});
-}
-
-jQuery.each(["bind", "one"], function( i, name ) {
-	jQuery.fn[ name ] = function( type, data, fn ) {
-		// Handle object literals
-		if ( typeof type === "object" ) {
-			for ( var key in type ) {
-				this[ name ](key, data, type[key], fn);
-			}
-			return this;
-		}
-		
-		if ( jQuery.isFunction( data ) || data === false ) {
-			fn = data;
-			data = undefined;
-		}
-
-		var handler = name === "one" ? jQuery.proxy( fn, function( event ) {
-			jQuery( this ).unbind( event, handler );
-			return fn.apply( this, arguments );
-		}) : fn;
-
-		if ( type === "unload" && name !== "one" ) {
-			this.one( type, data, fn );
-
-		} else {
-			for ( var i = 0, l = this.length; i < l; i++ ) {
-				jQuery.event.add( this[i], type, handler, data );
-			}
-		}
-
-		return this;
-	};
-});
-
-jQuery.fn.extend({
-	unbind: function( type, fn ) {
-		// Handle object literals
-		if ( typeof type === "object" && !type.preventDefault ) {
-			for ( var key in type ) {
-				this.unbind(key, type[key]);
-			}
-
-		} else {
-			for ( var i = 0, l = this.length; i < l; i++ ) {
-				jQuery.event.remove( this[i], type, fn );
-			}
-		}
-
-		return this;
-	},
-	
-	delegate: function( selector, types, data, fn ) {
-		return this.live( types, data, fn, selector );
-	},
-	
-	undelegate: function( selector, types, fn ) {
-		if ( arguments.length === 0 ) {
-				return this.unbind( "live" );
-		
-		} else {
-			return this.die( types, null, fn, selector );
-		}
-	},
-	
-	trigger: function( type, data ) {
-		return this.each(function() {
-			jQuery.event.trigger( type, data, this );
-		});
-	},
-
-	triggerHandler: function( type, data ) {
-		if ( this[0] ) {
-			var event = jQuery.Event( type );
-			event.preventDefault();
-			event.stopPropagation();
-			jQuery.event.trigger( event, data, this[0] );
-			return event.result;
-		}
-	},
-
-	toggle: function( fn ) {
-		// Save reference to arguments for access in closure
-		var args = arguments,
-			i = 1;
-
-		// link all the functions, so any of them can unbind this click handler
-		while ( i < args.length ) {
-			jQuery.proxy( fn, args[ i++ ] );
-		}
-
-		return this.click( jQuery.proxy( fn, function( event ) {
-			// Figure out which function to execute
-			var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i;
-			jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 );
-
-			// Make sure that clicks stop
-			event.preventDefault();
-
-			// and execute the function
-			return args[ lastToggle ].apply( this, arguments ) || false;
-		}));
-	},
-
-	hover: function( fnOver, fnOut ) {
-		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
-	}
-});
-
-var liveMap = {
-	focus: "focusin",
-	blur: "focusout",
-	mouseenter: "mouseover",
-	mouseleave: "mouseout"
-};
-
-jQuery.each(["live", "die"], function( i, name ) {
-	jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) {
-		var type, i = 0, match, namespaces, preType,
-			selector = origSelector || this.selector,
-			context = origSelector ? this : jQuery( this.context );
-		
-		if ( typeof types === "object" && !types.preventDefault ) {
-			for ( var key in types ) {
-				context[ name ]( key, data, types[key], selector );
-			}
-			
-			return this;
-		}
-
-		if ( jQuery.isFunction( data ) ) {
-			fn = data;
-			data = undefined;
-		}
-
-		types = (types || "").split(" ");
-
-		while ( (type = types[ i++ ]) != null ) {
-			match = rnamespaces.exec( type );
-			namespaces = "";
-
-			if ( match )  {
-				namespaces = match[0];
-				type = type.replace( rnamespaces, "" );
-			}
-
-			if ( type === "hover" ) {
-				types.push( "mouseenter" + namespaces, "mouseleave" + namespaces );
-				continue;
-			}
-
-			preType = type;
-
-			if ( type === "focus" || type === "blur" ) {
-				types.push( liveMap[ type ] + namespaces );
-				type = type + namespaces;
-
-			} else {
-				type = (liveMap[ type ] || type) + namespaces;
-			}
-
-			if ( name === "live" ) {
-				// bind live handler
-				for ( var j = 0, l = context.length; j < l; j++ ) {
-					jQuery.event.add( context[j], "live." + liveConvert( type, selector ),
-						{ data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } );
-				}
-
-			} else {
-				// unbind live handler
-				context.unbind( "live." + liveConvert( type, selector ), fn );
-			}
-		}
-		
-		return this;
-	};
-});
-
-function liveHandler( event ) {
-	var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret,
-		elems = [],
-		selectors = [],
-		events = jQuery.data( this, this.nodeType ? "events" : "__events__" );
-
-	if ( typeof events === "function" ) {
-		events = events.events;
-	}
-
-	// Make sure we avoid non-left-click bubbling in Firefox (#3861)
-	if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) {
-		return;
-	}
-	
-	if ( event.namespace ) {
-		namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)");
-	}
-
-	event.liveFired = this;
-
-	var live = events.live.slice(0);
-
-	for ( j = 0; j < live.length; j++ ) {
-		handleObj = live[j];
-
-		if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) {
-			selectors.push( handleObj.selector );
-
-		} else {
-			live.splice( j--, 1 );
-		}
-	}
-
-	match = jQuery( event.target ).closest( selectors, event.currentTarget );
-
-	for ( i = 0, l = match.length; i < l; i++ ) {
-		close = match[i];
-
-		for ( j = 0; j < live.length; j++ ) {
-			handleObj = live[j];
-
-			if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) ) {
-				elem = close.elem;
-				related = null;
-
-				// Those two events require additional checking
-				if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) {
-					event.type = handleObj.preType;
-					related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0];
-				}
-
-				if ( !related || related !== elem ) {
-					elems.push({ elem: elem, handleObj: handleObj, level: close.level });
-				}
-			}
-		}
-	}
-
-	for ( i = 0, l = elems.length; i < l; i++ ) {
-		match = elems[i];
-
-		if ( maxLevel && match.level > maxLevel ) {
-			break;
-		}
-
-		event.currentTarget = match.elem;
-		event.data = match.handleObj.data;
-		event.handleObj = match.handleObj;
-
-		ret = match.handleObj.origHandler.apply( match.elem, arguments );
-
-		if ( ret === false || event.isPropagationStopped() ) {
-			maxLevel = match.level;
-
-			if ( ret === false ) {
-				stop = false;
-			}
-			if ( event.isImmediatePropagationStopped() ) {
-				break;
-			}
-		}
-	}
-
-	return stop;
-}
-
-function liveConvert( type, selector ) {
-	return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&");
-}
-
-jQuery.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").split(" "), function( i, name ) {
-
-	// Handle event binding
-	jQuery.fn[ name ] = function( data, fn ) {
-		if ( fn == null ) {
-			fn = data;
-			data = null;
-		}
-
-		return arguments.length > 0 ?
-			this.bind( name, data, fn ) :
-			this.trigger( name );
-	};
-
-	if ( jQuery.attrFn ) {
-		jQuery.attrFn[ name ] = true;
-	}
-});
-
-// Prevent memory leaks in IE
-// Window isn't included so as not to unbind existing unload events
-// More info:
-//  - http://isaacschlueter.com/2006/10/msie-memory-leaks/
-if ( window.attachEvent && !window.addEventListener ) {
-	jQuery(window).bind("unload", function() {
-		for ( var id in jQuery.cache ) {
-			if ( jQuery.cache[ id ].handle ) {
-				// Try/Catch is to handle iframes being unloaded, see #4280
-				try {
-					jQuery.event.remove( jQuery.cache[ id ].handle.elem );
-				} catch(e) {}
-			}
-		}
-	});
-}
-
-
-/*!
- * Sizzle CSS Selector Engine - v1.0
- *  Copyright 2009, The Dojo Foundation
- *  Released under the MIT, BSD, and GPL Licenses.
- *  More information: http://sizzlejs.com/
- */
-(function(){
-
-var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
-	done = 0,
-	toString = Object.prototype.toString,
-	hasDuplicate = false,
-	baseHasDuplicate = true;
-
-// Here we check if the JavaScript engine is using some sort of
-// optimization where it does not always call our comparision
-// function. If that is the case, discard the hasDuplicate value.
-//   Thus far that includes Google Chrome.
-[0, 0].sort(function() {
-	baseHasDuplicate = false;
-	return 0;
-});
-
-var Sizzle = function( selector, context, results, seed ) {
-	results = results || [];
-	context = context || document;
-
-	var origContext = context;
-
-	if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
-		return [];
-	}
-	
-	if ( !selector || typeof selector !== "string" ) {
-		return results;
-	}
-
-	var m, set, checkSet, extra, ret, cur, pop, i,
-		prune = true,
-		contextXML = Sizzle.isXML( context ),
-		parts = [],
-		soFar = selector;
-	
-	// Reset the position of the chunker regexp (start from head)
-	do {
-		chunker.exec( "" );
-		m = chunker.exec( soFar );
-
-		if ( m ) {
-			soFar = m[3];
-		
-			parts.push( m[1] );
-		
-			if ( m[2] ) {
-				extra = m[3];
-				break;
-			}
-		}
-	} while ( m );
-
-	if ( parts.length > 1 && origPOS.exec( selector ) ) {
-
-		if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
-			set = posProcess( parts[0] + parts[1], context );
-
-		} else {
-			set = Expr.relative[ parts[0] ] ?
-				[ context ] :
-				Sizzle( parts.shift(), context );
-
-			while ( parts.length ) {
-				selector = parts.shift();
-
-				if ( Expr.relative[ selector ] ) {
-					selector += parts.shift();
-				}
-				
-				set = posProcess( selector, set );
-			}
-		}
-
-	} else {
-		// Take a shortcut and set the context if the root selector is an ID
-		// (but not if it'll be faster if the inner selector is an ID)
-		if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
-				Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
-
-			ret = Sizzle.find( parts.shift(), context, contextXML );
-			context = ret.expr ?
-				Sizzle.filter( ret.expr, ret.set )[0] :
-				ret.set[0];
-		}
-
-		if ( context ) {
-			ret = seed ?
-				{ expr: parts.pop(), set: makeArray(seed) } :
-				Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
-
-			set = ret.expr ?
-				Sizzle.filter( ret.expr, ret.set ) :
-				ret.set;
-
-			if ( parts.length > 0 ) {
-				checkSet = makeArray( set );
-
-			} else {
-				prune = false;
-			}
-
-			while ( parts.length ) {
-				cur = parts.pop();
-				pop = cur;
-
-				if ( !Expr.relative[ cur ] ) {
-					cur = "";
-				} else {
-					pop = parts.pop();
-				}
-
-				if ( pop == null ) {
-					pop = context;
-				}
-
-				Expr.relative[ cur ]( checkSet, pop, contextXML );
-			}
-
-		} else {
-			checkSet = parts = [];
-		}
-	}
-
-	if ( !checkSet ) {
-		checkSet = set;
-	}
-
-	if ( !checkSet ) {
-		Sizzle.error( cur || selector );
-	}
-
-	if ( toString.call(checkSet) === "[object Array]" ) {
-		if ( !prune ) {
-			results.push.apply( results, checkSet );
-
-		} else if ( context && context.nodeType === 1 ) {
-			for ( i = 0; checkSet[i] != null; i++ ) {
-				if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {
-					results.push( set[i] );
-				}
-			}
-
-		} else {
-			for ( i = 0; checkSet[i] != null; i++ ) {
-				if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
-					results.push( set[i] );
-				}
-			}
-		}
-
-	} else {
-		makeArray( checkSet, results );
-	}
-
-	if ( extra ) {
-		Sizzle( extra, origContext, results, seed );
-		Sizzle.uniqueSort( results );
-	}
-
-	return results;
-};
-
-Sizzle.uniqueSort = function( results ) {
-	if ( sortOrder ) {
-		hasDuplicate = baseHasDuplicate;
-		results.sort( sortOrder );
-
-		if ( hasDuplicate ) {
-			for ( var i = 1; i < results.length; i++ ) {
-				if ( results[i] === results[ i - 1 ] ) {
-					results.splice( i--, 1 );
-				}
-			}
-		}
-	}
-
-	return results;
-};
-
-Sizzle.matches = function( expr, set ) {
-	return Sizzle( expr, null, null, set );
-};
-
-Sizzle.matchesSelector = function( node, expr ) {
-	return Sizzle( expr, null, null, [node] ).length > 0;
-};
-
-Sizzle.find = function( expr, context, isXML ) {
-	var set;
-
-	if ( !expr ) {
-		return [];
-	}
-
-	for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
-		var match,
-			type = Expr.order[i];
-		
-		if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
-			var left = match[1];
-			match.splice( 1, 1 );
-
-			if ( left.substr( left.length - 1 ) !== "\\" ) {
-				match[1] = (match[1] || "").replace(/\\/g, "");
-				set = Expr.find[ type ]( match, context, isXML );
-
-				if ( set != null ) {
-					expr = expr.replace( Expr.match[ type ], "" );
-					break;
-				}
-			}
-		}
-	}
-
-	if ( !set ) {
-		set = context.getElementsByTagName( "*" );
-	}
-
-	return { set: set, expr: expr };
-};
-
-Sizzle.filter = function( expr, set, inplace, not ) {
-	var match, anyFound,
-		old = expr,
-		result = [],
-		curLoop = set,
-		isXMLFilter = set && set[0] && Sizzle.isXML( set[0] );
-
-	while ( expr && set.length ) {
-		for ( var type in Expr.filter ) {
-			if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
-				var found, item,
-					filter = Expr.filter[ type ],
-					left = match[1];
-
-				anyFound = false;
-
-				match.splice(1,1);
-
-				if ( left.substr( left.length - 1 ) === "\\" ) {
-					continue;
-				}
-
-				if ( curLoop === result ) {
-					result = [];
-				}
-
-				if ( Expr.preFilter[ type ] ) {
-					match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
-
-					if ( !match ) {
-						anyFound = found = true;
-
-					} else if ( match === true ) {
-						continue;
-					}
-				}
-
-				if ( match ) {
-					for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
-						if ( item ) {
-							found = filter( item, match, i, curLoop );
-							var pass = not ^ !!found;
-
-							if ( inplace && found != null ) {
-								if ( pass ) {
-									anyFound = true;
-
-								} else {
-									curLoop[i] = false;
-								}
-
-							} else if ( pass ) {
-								result.push( item );
-								anyFound = true;
-							}
-						}
-					}
-				}
-
-				if ( found !== undefined ) {
-					if ( !inplace ) {
-						curLoop = result;
-					}
-
-					expr = expr.replace( Expr.match[ type ], "" );
-
-					if ( !anyFound ) {
-						return [];
-					}
-
-					break;
-				}
-			}
-		}
-
-		// Improper expression
-		if ( expr === old ) {
-			if ( anyFound == null ) {
-				Sizzle.error( expr );
-
-			} else {
-				break;
-			}
-		}
-
-		old = expr;
-	}
-
-	return curLoop;
-};
-
-Sizzle.error = function( msg ) {
-	throw "Syntax error, unrecognized expression: " + msg;
-};
-
-var Expr = Sizzle.selectors = {
-	order: [ "ID", "NAME", "TAG" ],
-
-	match: {
-		ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
-		CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
-		NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
-		ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
-		TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
-		CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
-		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
-		PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
-	},
-
-	leftMatch: {},
-
-	attrMap: {
-		"class": "className",
-		"for": "htmlFor"
-	},
-
-	attrHandle: {
-		href: function( elem ) {
-			return elem.getAttribute( "href" );
-		}
-	},
-
-	relative: {
-		"+": function(checkSet, part){
-			var isPartStr = typeof part === "string",
-				isTag = isPartStr && !/\W/.test( part ),
-				isPartStrNotTag = isPartStr && !isTag;
-
-			if ( isTag ) {
-				part = part.toLowerCase();
-			}
-
-			for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
-				if ( (elem = checkSet[i]) ) {
-					while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
-
-					checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
-						elem || false :
-						elem === part;
-				}
-			}
-
-			if ( isPartStrNotTag ) {
-				

<TRUNCATED>


[30/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/.svn/text-base/jquery-1.4.4.min.js.svn-base
----------------------------------------------------------------------
diff --git a/public/html/js/.svn/text-base/jquery-1.4.4.min.js.svn-base b/public/html/js/.svn/text-base/jquery-1.4.4.min.js.svn-base
deleted file mode 100644
index 8f3ca2e..0000000
--- a/public/html/js/.svn/text-base/jquery-1.4.4.min.js.svn-base
+++ /dev/null
@@ -1,167 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.4
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Nov 11 19:04:53 2010 -0500
- */
-(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h=
-h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;k<J.length;k++){h=J[k];h.origType.replace(X,"")===a.type?f.push(h.selector):J.splice(k--,1)}f=c(a.target).closest(f,a.currentTarget);o=0;for(x=f.length;o<x;o++){r=f[o];for(k=0;k<J.length;k++){h=J[k];if(r.selector===h.selector&&(!A||A.test(h.namespace))){l=r.elem;e=null;if(h.preType==="mouseenter"||
-h.preType==="mouseleave"){a.type=h.preType;e=c(a.relatedTarget).closest(h.selector)[0]}if(!e||e!==l)C.push({elem:l,handleObj:h,level:r.level})}}}o=0;for(x=C.length;o<x;o++){f=C[o];if(d&&f.level>d)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La,
-"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,
-e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,
-"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+
-a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j,
-s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,
-j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length},
-toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j===
--1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false;
-if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K<Q;K++)if((j=arguments[K])!=null)for(s in j){v=G[s];z=j[s];if(G!==z)if(ga&&z&&(b.isPlainObject(z)||(H=b.isArray(z)))){if(H){H=false;v=v&&b.isArray(v)?v:[]}else v=v&&b.isPlainObject(v)?v:{};G[s]=b.extend(ga,v,z)}else if(z!==B)G[s]=z}return G};b.extend({noConflict:function(j){E.$=e;if(j)E.jQuery=d;return b},isReady:false,readyWait:1,ready:function(j){j===true&&b.readyWait--;
-if(!b.readyWait||j!==true&&!b.isReady){if(!t.body)return setTimeout(b.ready,1);b.isReady=true;if(!(j!==true&&--b.readyWait>0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload",
-b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&&
-!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&&
-l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H<G;){if(s.apply(j[H++],v)===false)break}else if(K)for(z in j){if(s.call(j[z],
-z,j[z])===false)break}else for(v=j[0];H<G&&s.call(v,H,v)!==false;v=j[++H]);return j},trim:O?function(j){return j==null?"":O.call(j)}:function(j){return j==null?"":j.toString().replace(k,"").replace(o,"")},makeArray:function(j,s){var v=s||[];if(j!=null){var z=b.type(j);j.length==null||z==="string"||z==="function"||z==="regexp"||b.isWindow(j)?M.call(v,j):b.merge(v,j)}return v},inArray:function(j,s){if(s.indexOf)return s.indexOf(j);for(var v=0,z=s.length;v<z;v++)if(s[v]===j)return v;return-1},merge:function(j,
-s){var v=j.length,z=0;if(typeof s.length==="number")for(var H=s.length;z<H;z++)j[v++]=s[z];else for(;s[z]!==B;)j[v++]=s[z++];j.length=v;return j},grep:function(j,s,v){var z=[],H;v=!!v;for(var G=0,K=j.length;G<K;G++){H=!!s(j[G],G);v!==H&&z.push(j[G])}return z},map:function(j,s,v){for(var z=[],H,G=0,K=j.length;G<K;G++){H=s(j[G],G,v);if(H!=null)z[z.length]=H}return z.concat.apply([],z)},guid:1,proxy:function(j,s,v){if(arguments.length===2)if(typeof s==="string"){v=j;j=v[s];s=B}else if(s&&!b.isFunction(s)){v=
-s;s=B}if(!s&&j)s=function(){return j.apply(v||this,arguments)};if(j)s.guid=j.guid=j.guid||s.guid||b.guid++;return s},access:function(j,s,v,z,H,G){var K=j.length;if(typeof s==="object"){for(var Q in s)b.access(j,Q,s[Q],z,H,v);return j}if(v!==B){z=!G&&z&&b.isFunction(v);for(Q=0;Q<K;Q++)H(j[Q],s,z?v.call(j[Q],Q,H(j[Q],s)):v,G);return j}return K?H(j[0],s):B},now:function(){return(new Date).getTime()},uaMatch:function(j){j=j.toLowerCase();j=L.exec(j)||g.exec(j)||i.exec(j)||j.indexOf("compatible")<0&&n.exec(j)||
-[];return{browser:j[1]||"",version:j[2]||"0"}},browser:{}});b.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(j,s){R["[object "+s+"]"]=s.toLowerCase()});m=b.uaMatch(m);if(m.browser){b.browser[m.browser]=true;b.browser.version=m.version}if(b.browser.webkit)b.browser.safari=true;if(D)b.inArray=function(j,s){return D.call(s,j)};if(!/\s/.test("\u00a0")){k=/^[\s\xA0]+/;o=/[\s\xA0]+$/}f=b(t);if(t.addEventListener)u=function(){t.removeEventListener("DOMContentLoaded",u,
-false);b.ready()};else if(t.attachEvent)u=function(){if(t.readyState==="complete"){t.detachEvent("onreadystatechange",u);b.ready()}};return E.jQuery=E.$=b}();(function(){c.support={};var a=t.documentElement,b=t.createElement("script"),d=t.createElement("div"),e="script"+c.now();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"),
-k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false,
-scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent=
-false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom=
-1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="<div style='width:4px;'></div>";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display=
-"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h=
-c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);
-else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h<l;h++){f=e[h].name;if(f.indexOf("data-")===0){f=f.substr(5);ka(this[0],f,d[f])}}}return d}else if(typeof a==="object")return this.each(function(){c.data(this,
-a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(b===B){d=this.triggerHandler("getData"+k[1]+"!",[k[0]]);if(d===B&&this.length){d=c.data(this[0],a);d=ka(this[0],a,d)}return d===B&&k[1]?this.data(k[0]):d}else return this.each(function(){var o=c(this),x=[k[0],b];o.triggerHandler("setData"+k[1]+"!",x);c.data(this,a,b);o.triggerHandler("changeData"+k[1]+"!",x)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=
-c.data(a,b);if(!d)return e||[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===B)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,
-a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var sa=/[\n\t]/g,ha=/\s+/,Sa=/\r/g,Ta=/^(?:href|src|style)$/,Ua=/^(?:button|input)$/i,Va=/^(?:button|input|object|select|textarea)$/i,Wa=/^a(?:rea)?$/i,ta=/^(?:radio|checkbox)$/i;c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",
-colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(x){var r=c(this);r.addClass(a.call(this,x,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===
-1)if(f.className){for(var h=" "+f.className+" ",l=f.className,k=0,o=b.length;k<o;k++)if(h.indexOf(" "+b[k]+" ")<0)l+=" "+b[k];f.className=c.trim(l)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var x=c(this);x.removeClass(a.call(this,o,x.attr("class")))});if(a&&typeof a==="string"||a===B)for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1&&f.className)if(a){for(var h=(" "+f.className+" ").replace(sa," "),
-l=0,k=b.length;l<k;l++)h=h.replace(" "+b[l]+" "," ");f.className=c.trim(h)}else f.className=""}return this},toggleClass:function(a,b){var d=typeof a,e=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var h=c(this);h.toggleClass(a.call(this,f,h.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var f,h=0,l=c(this),k=b,o=a.split(ha);f=o[h++];){k=e?k:!l.hasClass(f);l[k?"addClass":"removeClass"](f)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,
-"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(sa," ").indexOf(a)>-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";
-if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h<e;h++){var l=f[h];if(l.selected&&(c.support.optDisabled?!l.disabled:l.getAttribute("disabled")===null)&&(!l.parentNode.disabled||!c.nodeName(l.parentNode,"optgroup"))){a=c(l).val();if(b)return a;d.push(a)}}return d}if(ta.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Sa,"")}return B}var k=c.isFunction(a);return this.each(function(o){var x=c(this),r=a;if(this.nodeType===1){if(k)r=
-a.call(this,o,x.val());if(r==null)r="";else if(typeof r==="number")r+="";else if(c.isArray(r))r=c.map(r,function(C){return C==null?"":C+""});if(c.isArray(r)&&ta.test(this.type))this.checked=c.inArray(x.val(),r)>=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},
-attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&
-b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0};
-c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,
-arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid=
-d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+
-c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h<A.length;h++){C=A[h];if(d.guid===C.guid){if(k||x.test(C.namespace)){e==null&&A.splice(h--,1);r.remove&&r.remove.call(a,C)}if(e!=null)break}}if(A.length===0||e!=null&&A.length===1){if(!r.teardown||r.teardown.call(a,o)===false)c.removeEvent(a,f,w.handle);delete I[f]}}else for(h=0;h<A.length;h++){C=A[h];if(k||x.test(C.namespace)){c.event.remove(a,r,C.handler,h);A.splice(h--,1)}}}if(c.isEmptyObject(I)){if(b=
-w.handle)b.elem=null;delete w.events;delete w.handle;if(typeof w==="function")c.removeData(a,J);else c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var f=a.type||a;if(!e){a=typeof a==="object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===
-8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k===
-"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+
-d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f<l;f++){var k=d[f];if(b||e.test(k.namespace)){a.handler=k.handler;a.data=k.data;a.handleObj=k;k=k.handler.apply(this,h);if(k!==B){a.result=k;if(k===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-fix:function(a){if(a[c.expando])return a;var b=a;a=c.Event(b);for(var d=this.props.length,e;d;){e=this.props[--d];a[e]=b[e]}if(!a.target)a.target=a.srcElement||t;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=t.documentElement;d=t.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which==null&&(a.charCode!=null||a.keyCode!=null))a.which=a.charCode!=null?a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==B)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.extend({},a,{handler:Ka,guid:a.handler.guid}))},remove:function(a){c.event.remove(this,
-Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.isWindow(this))this.onbeforeunload=d},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.removeEvent=t.removeEventListener?function(a,b,d){a.removeEventListener&&a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=
-c.now();this[c.expando]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ca;var a=this.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else a.returnValue=false},stopPropagation:function(){this.isPropagationStopped=ca;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ca;this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U};
-var va=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},wa=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?wa:va,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?wa:va)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!==
-"form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){a.liveFired=B;return la("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){a.liveFired=B;return la("submit",this,arguments)}})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var V,
-xa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired=
-B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type===
-"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]===
-0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h<k;h++)c.event.add(this[h],d,l,e)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d,
-a[d]);else{d=0;for(var e=this.length;d<e;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,e){return this.live(b,d,e,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var d=c.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b,this[0]);return d.result}},toggle:function(a){for(var b=arguments,d=
-1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(e){var f=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,f+1);e.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var ya={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,e,f,h){var l,k=0,o,x,r=h||this.selector;h=h?this:c(this.context);if(typeof d===
-"object"&&!d.preventDefault){for(l in d)h[b](l,e,d[l],r);return this}if(c.isFunction(e)){f=e;e=B}for(d=(d||"").split(" ");(l=d[k++])!=null;){o=X.exec(l);x="";if(o){x=o[0];l=l.replace(X,"")}if(l==="hover")d.push("mouseenter"+x,"mouseleave"+x);else{o=l;if(l==="focus"||l==="blur"){d.push(ya[l]+x);l+=x}else l=(ya[l]||l)+x;if(b==="live"){x=0;for(var A=h.length;x<A;x++)c.event.add(h[x],"live."+Y(l,r),{data:e,selector:r,handler:f,origType:l,origHandler:f,preType:o})}else h.unbind("live."+Y(l,r),f)}}return this}});
-c.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".split(" "),function(a,b){c.fn[b]=function(d,e){if(e==null){e=d;d=null}return arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
-(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1&&!q){y.sizcache=n;y.sizset=p}if(y.nodeName.toLowerCase()===i){F=y;break}y=y[g]}m[p]=F}}}function b(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1){if(!q){y.sizcache=n;y.sizset=p}if(typeof i!=="string"){if(y===i){F=true;break}}else if(k.filter(i,
-[y]).length>0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3];
-break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr,
-q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h=
-l;g.sort(w);if(h)for(var i=1;i<g.length;i++)g[i]===g[i-1]&&g.splice(i--,1)}return g};k.matches=function(g,i){return k(g,null,null,i)};k.matchesSelector=function(g,i){return k(i,null,null,[g]).length>0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p<q;p++){var u,y=o.order[p];if(u=o.leftMatch[y].exec(g)){var F=u[1];u.splice(1,1);if(F.substr(F.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");m=o.find[y](u,i,n);if(m!=null){g=g.replace(o.match[y],"");break}}}}m||(m=i.getElementsByTagName("*"));
-return{set:m,expr:g}};k.filter=function(g,i,n,m){for(var p,q,u=g,y=[],F=i,M=i&&i[0]&&k.isXML(i[0]);g&&i.length;){for(var N in o.filter)if((p=o.leftMatch[N].exec(g))!=null&&p[2]){var O,D,R=o.filter[N];D=p[1];q=false;p.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(F===y)y=[];if(o.preFilter[N])if(p=o.preFilter[N](p,F,n,y,m,M)){if(p===true)continue}else q=O=true;if(p)for(var j=0;(D=F[j])!=null;j++)if(D){O=R(D,p,j,F);var s=m^!!O;if(n&&O!=null)if(s)q=true;else F[j]=false;else if(s){y.push(D);q=true}}if(O!==
-B){n||(F=y);g=g.replace(o.match[N],"");if(!q)return[];break}}}if(g===u)if(q==null)k.error(g);else break;u=g}return F};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var o=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
-POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,i){var n=typeof i==="string",m=n&&!/\W/.test(i);n=n&&!m;if(m)i=i.toLowerCase();m=0;for(var p=g.length,q;m<p;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=n||q&&q.nodeName.toLowerCase()===
-i?q||false:q===i}n&&k.filter(i,g,true)},">":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p<q;p++){if(n=g[p]){n=n.parentNode;g[p]=n.nodeName.toLowerCase()===i?n:false}}else{for(;p<q;p++)if(n=g[p])g[p]=m?n.parentNode:n.parentNode===i;m&&k.filter(i,g,true)}},"":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=i=i.toLowerCase();q=a}q("parentNode",i,p,g,m,n)},"~":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=
-i=i.toLowerCase();q=a}q("previousSibling",i,p,g,m,n)}},find:{ID:function(g,i,n){if(typeof i.getElementById!=="undefined"&&!n)return(g=i.getElementById(g[1]))&&g.parentNode?[g]:[]},NAME:function(g,i){if(typeof i.getElementsByName!=="undefined"){for(var n=[],m=i.getElementsByName(g[1]),p=0,q=m.length;p<q;p++)m[p].getAttribute("name")===g[1]&&n.push(m[p]);return n.length===0?null:n}},TAG:function(g,i){return i.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,i,n,m,p,q){g=" "+g[1].replace(/\\/g,
-"")+" ";if(q)return g;q=0;for(var u;(u=i[q])!=null;q++)if(u)if(p^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n,
-m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===
-true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===
-g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return i<n[3]-0},gt:function(g,i,n){return i>n[3]-0},nth:function(g,i,n){return n[3]-
-0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n<m;n++)if(i[n]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+p)},CHILD:function(g,i){var n=i[1],m=g;switch(n){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(n===
-"first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":n=i[2];var p=i[3];if(n===1&&p===0)return true;var q=i[0],u=g.parentNode;if(u&&(u.sizcache!==q||!g.nodeIndex)){var y=0;for(m=u.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++y;u.sizcache=q}m=g.nodeIndex-p;return n===0?m===0:m%n===0&&m/n>=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===
-i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]];
-if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m,
-g);else if(typeof g.length==="number")for(var p=g.length;n<p;n++)m.push(g[n]);else for(;g[n];n++)m.push(g[n]);return m}}var w,I;if(t.documentElement.compareDocumentPosition)w=function(g,i){if(g===i){h=true;return 0}if(!g.compareDocumentPosition||!i.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(i)&4?-1:1};else{w=function(g,i){var n,m,p=[],q=[];n=g.parentNode;m=i.parentNode;var u=n;if(g===i){h=true;return 0}else if(n===m)return I(g,i);else if(n){if(!m)return 1}else return-1;
-for(;u;){p.unshift(u);u=u.parentNode}for(u=m;u;){q.unshift(u);u=u.parentNode}n=p.length;m=q.length;for(u=0;u<n&&u<m;u++)if(p[u]!==q[u])return I(p[u],q[u]);return u===n?I(g,q[u],-1):I(p[u],i,1)};I=function(g,i,n){if(g===i)return n;for(g=g.nextSibling;g;){if(g===i)return-1;g=g.nextSibling}return 1}}k.getText=function(g){for(var i="",n,m=0;g[m];m++){n=g[m];if(n.nodeType===3||n.nodeType===4)i+=n.nodeValue;else if(n.nodeType!==8)i+=k.getText(n.childNodes)}return i};(function(){var g=t.createElement("div"),
-i="script"+(new Date).getTime(),n=t.documentElement;g.innerHTML="<a name='"+i+"'/>";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g);
-n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&&
-function(){var g=k,i=t.createElement("div");i.innerHTML="<p class='TEST'></p>";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F||
-p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g=
-t.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition?
-function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n<u;n++)k(g,q[n],m);return k.filter(p,m)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=k.getText;c.isXMLDoc=k.isXML;
-c.contains=k.contains})();var Za=/Until$/,$a=/^(?:parents|prevUntil|prevAll)/,ab=/,/,Na=/^.[^:#\[\.,]*$/,bb=Array.prototype.slice,cb=c.expr.match.POS;c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,e=0,f=this.length;e<f;e++){d=b.length;c.find(a,this[e],b);if(e>0)for(var h=d;h<b.length;h++)for(var l=0;l<d;l++)if(b[l]===b[h]){b.splice(h--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,e=b.length;d<e;d++)if(c.contains(this,b[d]))return true})},
-not:function(a){return this.pushStack(ma(this,a,false),"not",a)},filter:function(a){return this.pushStack(ma(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e<f;e++){l=a[e];k[l]||(k[l]=c.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.ownerDocument&&h!==b;){for(l in k){e=k[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h=
-h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e<f;e++)for(h=this[e];h;)if(l?l.index(h)>-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):
-c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,
-2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,
-b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&
-e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/<tbody/i,eb=/<|&#?\w+;/,Ca=/<(?:script|object|embed|option|style)/i,Da=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/\=([^="'>\s]+\/)>/g,P={option:[1,
-"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
-c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
-wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
-prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
-this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
-return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null;
-else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1></$2>");try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(e){this.empty().append(a)}}else c.isFunction(a)?this.each(function(f){var h=c(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=
-c(this),e=d.html();d.replaceWith(a.call(this,b,e))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){var e,f,h,l=a[0],k=[];if(!c.support.checkClone&&arguments.length===3&&typeof l==="string"&&Da.test(l))return this.each(function(){c(this).domManip(a,
-b,d,true)});if(c.isFunction(l))return this.each(function(x){var r=c(this);a[0]=l.call(this,x,b?r.html():B);r.domManip(a,b,d)});if(this[0]){e=l&&l.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:c.buildFragment(a,this,k);h=e.fragment;if(f=h.childNodes.length===1?h=h.firstChild:h.firstChild){b=b&&c.nodeName(f,"tr");f=0;for(var o=this.length;f<o;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")):
-this[f]:this[f],f>0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",
-prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f<h;f++){var l=(f>0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument||
-b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1></$2>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]==="<table>"&&!x?r.childNodes:[];for(o=k.length-
-1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));
-d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i,
-jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,
-zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),
-h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b);
-if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=
-d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left;
-e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
-ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b===
-"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("<div>").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&
-!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})},
-getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",
-script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data||
-!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache=
-false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset;
-A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type",
-b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&&
-c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d||
-c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]=
-encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",
-[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),
-e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});
-if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",
-3),a,b,d);else{d=0;for(var e=this.length;d<e;d++){a=this[d];b=a.style.display;if(!c.data(a,"olddisplay")&&b==="none")b=a.style.display="";b===""&&c.css(a,"display")==="none"&&c.data(a,"olddisplay",qa(a.nodeName))}for(d=0;d<e;d++){a=this[d];b=a.style.display;if(b===""||b==="none")a.style.display=c.data(a,"olddisplay")||""}return this}},hide:function(a,b,d){if(a||a===0)return this.animate(S("hide",3),a,b,d);else{a=0;for(b=this.length;a<b;a++){d=c.css(this[a],"display");d!=="none"&&c.data(this[a],"olddisplay",
-d)}for(a=0;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var f=e?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d,e)},animate:function(a,b,d,e){var f=c.speed(b,
-d,e);if(c.isEmptyObject(a))return this.each(f.complete);return this[f.queue===false?"each":"queue"](function(){var h=c.extend({},f),l,k=this.nodeType===1,o=k&&c(this).is(":hidden"),x=this;for(l in a){var r=c.camelCase(l);if(l!==r){a[r]=a[l];delete a[l];l=r}if(a[l]==="hide"&&o||a[l]==="show"&&!o)return h.complete.call(this);if(k&&(l==="height"||l==="width")){h.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(c.css(this,"display")==="inline"&&c.css(this,"float")==="none")if(c.support.inlineBlockNeedsLayout)if(qa(this.nodeName)===
-"inline")this.style.display="inline-block";else{this.style.display="inline";this.style.zoom=1}else this.style.display="inline-block"}if(c.isArray(a[l])){(h.specialEasing=h.specialEasing||{})[l]=a[l][1];a[l]=a[l][0]}}if(h.overflow!=null)this.style.overflow="hidden";h.curAnim=c.extend({},a);c.each(a,function(A,C){var J=new c.fx(x,h,A);if(vb.test(C))J[C==="toggle"?o?"show":"hide":C](a);else{var w=wb.exec(C),I=J.cur()||0;if(w){var L=parseFloat(w[2]),g=w[3]||"px";if(g!=="px"){c.style(x,A,(L||1)+g);I=(L||
-1)/J.cur()*I;c.style(x,A,I+g)}if(w[1])L=(w[1]==="-="?-1:1)*L+I;J.custom(I,L,g)}else J.custom(I,C,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var e=d.length-1;e>=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b,
-d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a*
-Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)}
-var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;
-this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide||
-this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=
-c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},interval:13,stop:function(){clearInterval(ba);ba=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===
-b.elem}).length};var xb=/^t(?:able|d|h)$/i,Ia=/^(?:body|html)$/i;c.fn.offset="getBoundingClientRect"in t.documentElement?function(a){var b=this[0],d;if(a)return this.each(function(l){c.offset.setOffset(this,a,l)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);try{d=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,h=f.documentElement;if(!d||!c.contains(h,b))return d||{top:0,left:0};b=f.body;f=fa(f);return{top:d.top+(f.pageYOffset||c.support.boxModel&&
-h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pageXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(x){c.offset.setOffset(this,a,x)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d,e=b.offsetParent,f=b.ownerDocument,h=f.documentElement,l=f.body;d=(f=f.defaultView)?f.getComputedStyle(b,null):b.currentStyle;
-for(var k=b.offsetTop,o=b.offsetLeft;(b=b.parentNode)&&b!==l&&b!==h;){if(c.offset.supportsFixedPosition&&d.position==="fixed")break;d=f?f.getComputedStyle(b,null):b.currentStyle;k-=b.scrollTop;o-=b.scrollLeft;if(b===e){k+=b.offsetTop;o+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&xb.test(b.nodeName))){k+=parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}e=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"){k+=
-parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}d=d}if(d.position==="relative"||d.position==="static"){k+=l.offsetTop;o+=l.offsetLeft}if(c.offset.supportsFixedPosition&&d.position==="fixed"){k+=Math.max(h.scrollTop,l.scrollTop);o+=Math.max(h.scrollLeft,l.scrollLeft)}return{top:k,left:o}};c.offset={initialize:function(){var a=t.body,b=t.createElement("div"),d,e,f,h=parseFloat(c.css(a,"marginTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",
-height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);d=b.firstChild;e=d.firstChild;f=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=e.offsetTop!==5;this.doesAddBorderForTableAndCells=
-f.offsetTop===5;e.style.position="fixed";e.style.top="20px";this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15;e.style.position=e.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==h;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.css(a,
-"marginTop"))||0;d+=parseFloat(c.css(a,"marginLeft"))||0}return{top:b,left:d}},setOffset:function(a,b,d){var e=c.css(a,"position");if(e==="static")a.style.position="relative";var f=c(a),h=f.offset(),l=c.css(a,"top"),k=c.css(a,"left"),o=e==="absolute"&&c.inArray("auto",[l,k])>-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a,
-e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&&
-c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();
-c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+
-b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window);


[26/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/jquery-1.4.4.min.js
----------------------------------------------------------------------
diff --git a/public/html/js/jquery-1.4.4.min.js b/public/html/js/jquery-1.4.4.min.js
deleted file mode 100644
index 8f3ca2e..0000000
--- a/public/html/js/jquery-1.4.4.min.js
+++ /dev/null
@@ -1,167 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.4
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Nov 11 19:04:53 2010 -0500
- */
-(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h=
-h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;k<J.length;k++){h=J[k];h.origType.replace(X,"")===a.type?f.push(h.selector):J.splice(k--,1)}f=c(a.target).closest(f,a.currentTarget);o=0;for(x=f.length;o<x;o++){r=f[o];for(k=0;k<J.length;k++){h=J[k];if(r.selector===h.selector&&(!A||A.test(h.namespace))){l=r.elem;e=null;if(h.preType==="mouseenter"||
-h.preType==="mouseleave"){a.type=h.preType;e=c(a.relatedTarget).closest(h.selector)[0]}if(!e||e!==l)C.push({elem:l,handleObj:h,level:r.level})}}}o=0;for(x=C.length;o<x;o++){f=C[o];if(d&&f.level>d)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La,
-"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,
-e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,
-"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+
-a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j,
-s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,
-j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length},
-toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j===
--1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false;
-if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K<Q;K++)if((j=arguments[K])!=null)for(s in j){v=G[s];z=j[s];if(G!==z)if(ga&&z&&(b.isPlainObject(z)||(H=b.isArray(z)))){if(H){H=false;v=v&&b.isArray(v)?v:[]}else v=v&&b.isPlainObject(v)?v:{};G[s]=b.extend(ga,v,z)}else if(z!==B)G[s]=z}return G};b.extend({noConflict:function(j){E.$=e;if(j)E.jQuery=d;return b},isReady:false,readyWait:1,ready:function(j){j===true&&b.readyWait--;
-if(!b.readyWait||j!==true&&!b.isReady){if(!t.body)return setTimeout(b.ready,1);b.isReady=true;if(!(j!==true&&--b.readyWait>0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload",
-b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&&
-!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&&
-l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H<G;){if(s.apply(j[H++],v)===false)break}else if(K)for(z in j){if(s.call(j[z],
-z,j[z])===false)break}else for(v=j[0];H<G&&s.call(v,H,v)!==false;v=j[++H]);return j},trim:O?function(j){return j==null?"":O.call(j)}:function(j){return j==null?"":j.toString().replace(k,"").replace(o,"")},makeArray:function(j,s){var v=s||[];if(j!=null){var z=b.type(j);j.length==null||z==="string"||z==="function"||z==="regexp"||b.isWindow(j)?M.call(v,j):b.merge(v,j)}return v},inArray:function(j,s){if(s.indexOf)return s.indexOf(j);for(var v=0,z=s.length;v<z;v++)if(s[v]===j)return v;return-1},merge:function(j,
-s){var v=j.length,z=0;if(typeof s.length==="number")for(var H=s.length;z<H;z++)j[v++]=s[z];else for(;s[z]!==B;)j[v++]=s[z++];j.length=v;return j},grep:function(j,s,v){var z=[],H;v=!!v;for(var G=0,K=j.length;G<K;G++){H=!!s(j[G],G);v!==H&&z.push(j[G])}return z},map:function(j,s,v){for(var z=[],H,G=0,K=j.length;G<K;G++){H=s(j[G],G,v);if(H!=null)z[z.length]=H}return z.concat.apply([],z)},guid:1,proxy:function(j,s,v){if(arguments.length===2)if(typeof s==="string"){v=j;j=v[s];s=B}else if(s&&!b.isFunction(s)){v=
-s;s=B}if(!s&&j)s=function(){return j.apply(v||this,arguments)};if(j)s.guid=j.guid=j.guid||s.guid||b.guid++;return s},access:function(j,s,v,z,H,G){var K=j.length;if(typeof s==="object"){for(var Q in s)b.access(j,Q,s[Q],z,H,v);return j}if(v!==B){z=!G&&z&&b.isFunction(v);for(Q=0;Q<K;Q++)H(j[Q],s,z?v.call(j[Q],Q,H(j[Q],s)):v,G);return j}return K?H(j[0],s):B},now:function(){return(new Date).getTime()},uaMatch:function(j){j=j.toLowerCase();j=L.exec(j)||g.exec(j)||i.exec(j)||j.indexOf("compatible")<0&&n.exec(j)||
-[];return{browser:j[1]||"",version:j[2]||"0"}},browser:{}});b.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(j,s){R["[object "+s+"]"]=s.toLowerCase()});m=b.uaMatch(m);if(m.browser){b.browser[m.browser]=true;b.browser.version=m.version}if(b.browser.webkit)b.browser.safari=true;if(D)b.inArray=function(j,s){return D.call(s,j)};if(!/\s/.test("\u00a0")){k=/^[\s\xA0]+/;o=/[\s\xA0]+$/}f=b(t);if(t.addEventListener)u=function(){t.removeEventListener("DOMContentLoaded",u,
-false);b.ready()};else if(t.attachEvent)u=function(){if(t.readyState==="complete"){t.detachEvent("onreadystatechange",u);b.ready()}};return E.jQuery=E.$=b}();(function(){c.support={};var a=t.documentElement,b=t.createElement("script"),d=t.createElement("div"),e="script"+c.now();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"),
-k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false,
-scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent=
-false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom=
-1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="<div style='width:4px;'></div>";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display=
-"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h=
-c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);
-else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h<l;h++){f=e[h].name;if(f.indexOf("data-")===0){f=f.substr(5);ka(this[0],f,d[f])}}}return d}else if(typeof a==="object")return this.each(function(){c.data(this,
-a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(b===B){d=this.triggerHandler("getData"+k[1]+"!",[k[0]]);if(d===B&&this.length){d=c.data(this[0],a);d=ka(this[0],a,d)}return d===B&&k[1]?this.data(k[0]):d}else return this.each(function(){var o=c(this),x=[k[0],b];o.triggerHandler("setData"+k[1]+"!",x);c.data(this,a,b);o.triggerHandler("changeData"+k[1]+"!",x)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=
-c.data(a,b);if(!d)return e||[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===B)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,
-a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var sa=/[\n\t]/g,ha=/\s+/,Sa=/\r/g,Ta=/^(?:href|src|style)$/,Ua=/^(?:button|input)$/i,Va=/^(?:button|input|object|select|textarea)$/i,Wa=/^a(?:rea)?$/i,ta=/^(?:radio|checkbox)$/i;c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",
-colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(x){var r=c(this);r.addClass(a.call(this,x,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===
-1)if(f.className){for(var h=" "+f.className+" ",l=f.className,k=0,o=b.length;k<o;k++)if(h.indexOf(" "+b[k]+" ")<0)l+=" "+b[k];f.className=c.trim(l)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var x=c(this);x.removeClass(a.call(this,o,x.attr("class")))});if(a&&typeof a==="string"||a===B)for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1&&f.className)if(a){for(var h=(" "+f.className+" ").replace(sa," "),
-l=0,k=b.length;l<k;l++)h=h.replace(" "+b[l]+" "," ");f.className=c.trim(h)}else f.className=""}return this},toggleClass:function(a,b){var d=typeof a,e=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var h=c(this);h.toggleClass(a.call(this,f,h.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var f,h=0,l=c(this),k=b,o=a.split(ha);f=o[h++];){k=e?k:!l.hasClass(f);l[k?"addClass":"removeClass"](f)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,
-"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(sa," ").indexOf(a)>-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";
-if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h<e;h++){var l=f[h];if(l.selected&&(c.support.optDisabled?!l.disabled:l.getAttribute("disabled")===null)&&(!l.parentNode.disabled||!c.nodeName(l.parentNode,"optgroup"))){a=c(l).val();if(b)return a;d.push(a)}}return d}if(ta.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Sa,"")}return B}var k=c.isFunction(a);return this.each(function(o){var x=c(this),r=a;if(this.nodeType===1){if(k)r=
-a.call(this,o,x.val());if(r==null)r="";else if(typeof r==="number")r+="";else if(c.isArray(r))r=c.map(r,function(C){return C==null?"":C+""});if(c.isArray(r)&&ta.test(this.type))this.checked=c.inArray(x.val(),r)>=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},
-attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&
-b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0};
-c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,
-arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid=
-d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+
-c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h<A.length;h++){C=A[h];if(d.guid===C.guid){if(k||x.test(C.namespace)){e==null&&A.splice(h--,1);r.remove&&r.remove.call(a,C)}if(e!=null)break}}if(A.length===0||e!=null&&A.length===1){if(!r.teardown||r.teardown.call(a,o)===false)c.removeEvent(a,f,w.handle);delete I[f]}}else for(h=0;h<A.length;h++){C=A[h];if(k||x.test(C.namespace)){c.event.remove(a,r,C.handler,h);A.splice(h--,1)}}}if(c.isEmptyObject(I)){if(b=
-w.handle)b.elem=null;delete w.events;delete w.handle;if(typeof w==="function")c.removeData(a,J);else c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var f=a.type||a;if(!e){a=typeof a==="object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===
-8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k===
-"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+
-d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f<l;f++){var k=d[f];if(b||e.test(k.namespace)){a.handler=k.handler;a.data=k.data;a.handleObj=k;k=k.handler.apply(this,h);if(k!==B){a.result=k;if(k===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-fix:function(a){if(a[c.expando])return a;var b=a;a=c.Event(b);for(var d=this.props.length,e;d;){e=this.props[--d];a[e]=b[e]}if(!a.target)a.target=a.srcElement||t;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=t.documentElement;d=t.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which==null&&(a.charCode!=null||a.keyCode!=null))a.which=a.charCode!=null?a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==B)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.extend({},a,{handler:Ka,guid:a.handler.guid}))},remove:function(a){c.event.remove(this,
-Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.isWindow(this))this.onbeforeunload=d},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.removeEvent=t.removeEventListener?function(a,b,d){a.removeEventListener&&a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=
-c.now();this[c.expando]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ca;var a=this.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else a.returnValue=false},stopPropagation:function(){this.isPropagationStopped=ca;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ca;this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U};
-var va=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},wa=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?wa:va,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?wa:va)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!==
-"form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){a.liveFired=B;return la("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){a.liveFired=B;return la("submit",this,arguments)}})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var V,
-xa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired=
-B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type===
-"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]===
-0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h<k;h++)c.event.add(this[h],d,l,e)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d,
-a[d]);else{d=0;for(var e=this.length;d<e;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,e){return this.live(b,d,e,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var d=c.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b,this[0]);return d.result}},toggle:function(a){for(var b=arguments,d=
-1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(e){var f=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,f+1);e.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var ya={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,e,f,h){var l,k=0,o,x,r=h||this.selector;h=h?this:c(this.context);if(typeof d===
-"object"&&!d.preventDefault){for(l in d)h[b](l,e,d[l],r);return this}if(c.isFunction(e)){f=e;e=B}for(d=(d||"").split(" ");(l=d[k++])!=null;){o=X.exec(l);x="";if(o){x=o[0];l=l.replace(X,"")}if(l==="hover")d.push("mouseenter"+x,"mouseleave"+x);else{o=l;if(l==="focus"||l==="blur"){d.push(ya[l]+x);l+=x}else l=(ya[l]||l)+x;if(b==="live"){x=0;for(var A=h.length;x<A;x++)c.event.add(h[x],"live."+Y(l,r),{data:e,selector:r,handler:f,origType:l,origHandler:f,preType:o})}else h.unbind("live."+Y(l,r),f)}}return this}});
-c.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".split(" "),function(a,b){c.fn[b]=function(d,e){if(e==null){e=d;d=null}return arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
-(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1&&!q){y.sizcache=n;y.sizset=p}if(y.nodeName.toLowerCase()===i){F=y;break}y=y[g]}m[p]=F}}}function b(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1){if(!q){y.sizcache=n;y.sizset=p}if(typeof i!=="string"){if(y===i){F=true;break}}else if(k.filter(i,
-[y]).length>0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3];
-break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr,
-q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h=
-l;g.sort(w);if(h)for(var i=1;i<g.length;i++)g[i]===g[i-1]&&g.splice(i--,1)}return g};k.matches=function(g,i){return k(g,null,null,i)};k.matchesSelector=function(g,i){return k(i,null,null,[g]).length>0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p<q;p++){var u,y=o.order[p];if(u=o.leftMatch[y].exec(g)){var F=u[1];u.splice(1,1);if(F.substr(F.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");m=o.find[y](u,i,n);if(m!=null){g=g.replace(o.match[y],"");break}}}}m||(m=i.getElementsByTagName("*"));
-return{set:m,expr:g}};k.filter=function(g,i,n,m){for(var p,q,u=g,y=[],F=i,M=i&&i[0]&&k.isXML(i[0]);g&&i.length;){for(var N in o.filter)if((p=o.leftMatch[N].exec(g))!=null&&p[2]){var O,D,R=o.filter[N];D=p[1];q=false;p.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(F===y)y=[];if(o.preFilter[N])if(p=o.preFilter[N](p,F,n,y,m,M)){if(p===true)continue}else q=O=true;if(p)for(var j=0;(D=F[j])!=null;j++)if(D){O=R(D,p,j,F);var s=m^!!O;if(n&&O!=null)if(s)q=true;else F[j]=false;else if(s){y.push(D);q=true}}if(O!==
-B){n||(F=y);g=g.replace(o.match[N],"");if(!q)return[];break}}}if(g===u)if(q==null)k.error(g);else break;u=g}return F};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var o=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
-POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,i){var n=typeof i==="string",m=n&&!/\W/.test(i);n=n&&!m;if(m)i=i.toLowerCase();m=0;for(var p=g.length,q;m<p;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=n||q&&q.nodeName.toLowerCase()===
-i?q||false:q===i}n&&k.filter(i,g,true)},">":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p<q;p++){if(n=g[p]){n=n.parentNode;g[p]=n.nodeName.toLowerCase()===i?n:false}}else{for(;p<q;p++)if(n=g[p])g[p]=m?n.parentNode:n.parentNode===i;m&&k.filter(i,g,true)}},"":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=i=i.toLowerCase();q=a}q("parentNode",i,p,g,m,n)},"~":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=
-i=i.toLowerCase();q=a}q("previousSibling",i,p,g,m,n)}},find:{ID:function(g,i,n){if(typeof i.getElementById!=="undefined"&&!n)return(g=i.getElementById(g[1]))&&g.parentNode?[g]:[]},NAME:function(g,i){if(typeof i.getElementsByName!=="undefined"){for(var n=[],m=i.getElementsByName(g[1]),p=0,q=m.length;p<q;p++)m[p].getAttribute("name")===g[1]&&n.push(m[p]);return n.length===0?null:n}},TAG:function(g,i){return i.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,i,n,m,p,q){g=" "+g[1].replace(/\\/g,
-"")+" ";if(q)return g;q=0;for(var u;(u=i[q])!=null;q++)if(u)if(p^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n,
-m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===
-true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===
-g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return i<n[3]-0},gt:function(g,i,n){return i>n[3]-0},nth:function(g,i,n){return n[3]-
-0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n<m;n++)if(i[n]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+p)},CHILD:function(g,i){var n=i[1],m=g;switch(n){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(n===
-"first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":n=i[2];var p=i[3];if(n===1&&p===0)return true;var q=i[0],u=g.parentNode;if(u&&(u.sizcache!==q||!g.nodeIndex)){var y=0;for(m=u.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++y;u.sizcache=q}m=g.nodeIndex-p;return n===0?m===0:m%n===0&&m/n>=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===
-i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]];
-if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m,
-g);else if(typeof g.length==="number")for(var p=g.length;n<p;n++)m.push(g[n]);else for(;g[n];n++)m.push(g[n]);return m}}var w,I;if(t.documentElement.compareDocumentPosition)w=function(g,i){if(g===i){h=true;return 0}if(!g.compareDocumentPosition||!i.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(i)&4?-1:1};else{w=function(g,i){var n,m,p=[],q=[];n=g.parentNode;m=i.parentNode;var u=n;if(g===i){h=true;return 0}else if(n===m)return I(g,i);else if(n){if(!m)return 1}else return-1;
-for(;u;){p.unshift(u);u=u.parentNode}for(u=m;u;){q.unshift(u);u=u.parentNode}n=p.length;m=q.length;for(u=0;u<n&&u<m;u++)if(p[u]!==q[u])return I(p[u],q[u]);return u===n?I(g,q[u],-1):I(p[u],i,1)};I=function(g,i,n){if(g===i)return n;for(g=g.nextSibling;g;){if(g===i)return-1;g=g.nextSibling}return 1}}k.getText=function(g){for(var i="",n,m=0;g[m];m++){n=g[m];if(n.nodeType===3||n.nodeType===4)i+=n.nodeValue;else if(n.nodeType!==8)i+=k.getText(n.childNodes)}return i};(function(){var g=t.createElement("div"),
-i="script"+(new Date).getTime(),n=t.documentElement;g.innerHTML="<a name='"+i+"'/>";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g);
-n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&&
-function(){var g=k,i=t.createElement("div");i.innerHTML="<p class='TEST'></p>";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F||
-p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g=
-t.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition?
-function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n<u;n++)k(g,q[n],m);return k.filter(p,m)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=k.getText;c.isXMLDoc=k.isXML;
-c.contains=k.contains})();var Za=/Until$/,$a=/^(?:parents|prevUntil|prevAll)/,ab=/,/,Na=/^.[^:#\[\.,]*$/,bb=Array.prototype.slice,cb=c.expr.match.POS;c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,e=0,f=this.length;e<f;e++){d=b.length;c.find(a,this[e],b);if(e>0)for(var h=d;h<b.length;h++)for(var l=0;l<d;l++)if(b[l]===b[h]){b.splice(h--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,e=b.length;d<e;d++)if(c.contains(this,b[d]))return true})},
-not:function(a){return this.pushStack(ma(this,a,false),"not",a)},filter:function(a){return this.pushStack(ma(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e<f;e++){l=a[e];k[l]||(k[l]=c.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.ownerDocument&&h!==b;){for(l in k){e=k[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h=
-h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e<f;e++)for(h=this[e];h;)if(l?l.index(h)>-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):
-c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,
-2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,
-b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&
-e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/<tbody/i,eb=/<|&#?\w+;/,Ca=/<(?:script|object|embed|option|style)/i,Da=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/\=([^="'>\s]+\/)>/g,P={option:[1,
-"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
-c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
-wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
-prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
-this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
-return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null;
-else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1></$2>");try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(e){this.empty().append(a)}}else c.isFunction(a)?this.each(function(f){var h=c(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=
-c(this),e=d.html();d.replaceWith(a.call(this,b,e))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){var e,f,h,l=a[0],k=[];if(!c.support.checkClone&&arguments.length===3&&typeof l==="string"&&Da.test(l))return this.each(function(){c(this).domManip(a,
-b,d,true)});if(c.isFunction(l))return this.each(function(x){var r=c(this);a[0]=l.call(this,x,b?r.html():B);r.domManip(a,b,d)});if(this[0]){e=l&&l.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:c.buildFragment(a,this,k);h=e.fragment;if(f=h.childNodes.length===1?h=h.firstChild:h.firstChild){b=b&&c.nodeName(f,"tr");f=0;for(var o=this.length;f<o;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")):
-this[f]:this[f],f>0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",
-prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f<h;f++){var l=(f>0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument||
-b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1></$2>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]==="<table>"&&!x?r.childNodes:[];for(o=k.length-
-1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));
-d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i,
-jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,
-zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),
-h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b);
-if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=
-d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left;
-e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
-ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b===
-"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("<div>").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&
-!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})},
-getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",
-script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data||
-!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache=
-false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset;
-A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type",
-b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&&
-c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d||
-c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]=
-encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",
-[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),
-e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});
-if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",
-3),a,b,d);else{d=0;for(var e=this.length;d<e;d++){a=this[d];b=a.style.display;if(!c.data(a,"olddisplay")&&b==="none")b=a.style.display="";b===""&&c.css(a,"display")==="none"&&c.data(a,"olddisplay",qa(a.nodeName))}for(d=0;d<e;d++){a=this[d];b=a.style.display;if(b===""||b==="none")a.style.display=c.data(a,"olddisplay")||""}return this}},hide:function(a,b,d){if(a||a===0)return this.animate(S("hide",3),a,b,d);else{a=0;for(b=this.length;a<b;a++){d=c.css(this[a],"display");d!=="none"&&c.data(this[a],"olddisplay",
-d)}for(a=0;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var f=e?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d,e)},animate:function(a,b,d,e){var f=c.speed(b,
-d,e);if(c.isEmptyObject(a))return this.each(f.complete);return this[f.queue===false?"each":"queue"](function(){var h=c.extend({},f),l,k=this.nodeType===1,o=k&&c(this).is(":hidden"),x=this;for(l in a){var r=c.camelCase(l);if(l!==r){a[r]=a[l];delete a[l];l=r}if(a[l]==="hide"&&o||a[l]==="show"&&!o)return h.complete.call(this);if(k&&(l==="height"||l==="width")){h.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(c.css(this,"display")==="inline"&&c.css(this,"float")==="none")if(c.support.inlineBlockNeedsLayout)if(qa(this.nodeName)===
-"inline")this.style.display="inline-block";else{this.style.display="inline";this.style.zoom=1}else this.style.display="inline-block"}if(c.isArray(a[l])){(h.specialEasing=h.specialEasing||{})[l]=a[l][1];a[l]=a[l][0]}}if(h.overflow!=null)this.style.overflow="hidden";h.curAnim=c.extend({},a);c.each(a,function(A,C){var J=new c.fx(x,h,A);if(vb.test(C))J[C==="toggle"?o?"show":"hide":C](a);else{var w=wb.exec(C),I=J.cur()||0;if(w){var L=parseFloat(w[2]),g=w[3]||"px";if(g!=="px"){c.style(x,A,(L||1)+g);I=(L||
-1)/J.cur()*I;c.style(x,A,I+g)}if(w[1])L=(w[1]==="-="?-1:1)*L+I;J.custom(I,L,g)}else J.custom(I,C,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var e=d.length-1;e>=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b,
-d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a*
-Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)}
-var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;
-this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide||
-this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=
-c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},interval:13,stop:function(){clearInterval(ba);ba=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===
-b.elem}).length};var xb=/^t(?:able|d|h)$/i,Ia=/^(?:body|html)$/i;c.fn.offset="getBoundingClientRect"in t.documentElement?function(a){var b=this[0],d;if(a)return this.each(function(l){c.offset.setOffset(this,a,l)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);try{d=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,h=f.documentElement;if(!d||!c.contains(h,b))return d||{top:0,left:0};b=f.body;f=fa(f);return{top:d.top+(f.pageYOffset||c.support.boxModel&&
-h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pageXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(x){c.offset.setOffset(this,a,x)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d,e=b.offsetParent,f=b.ownerDocument,h=f.documentElement,l=f.body;d=(f=f.defaultView)?f.getComputedStyle(b,null):b.currentStyle;
-for(var k=b.offsetTop,o=b.offsetLeft;(b=b.parentNode)&&b!==l&&b!==h;){if(c.offset.supportsFixedPosition&&d.position==="fixed")break;d=f?f.getComputedStyle(b,null):b.currentStyle;k-=b.scrollTop;o-=b.scrollLeft;if(b===e){k+=b.offsetTop;o+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&xb.test(b.nodeName))){k+=parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}e=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"){k+=
-parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}d=d}if(d.position==="relative"||d.position==="static"){k+=l.offsetTop;o+=l.offsetLeft}if(c.offset.supportsFixedPosition&&d.position==="fixed"){k+=Math.max(h.scrollTop,l.scrollTop);o+=Math.max(h.scrollLeft,l.scrollLeft)}return{top:k,left:o}};c.offset={initialize:function(){var a=t.body,b=t.createElement("div"),d,e,f,h=parseFloat(c.css(a,"marginTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",
-height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);d=b.firstChild;e=d.firstChild;f=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=e.offsetTop!==5;this.doesAddBorderForTableAndCells=
-f.offsetTop===5;e.style.position="fixed";e.style.top="20px";this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15;e.style.position=e.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==h;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.css(a,
-"marginTop"))||0;d+=parseFloat(c.css(a,"marginLeft"))||0}return{top:b,left:d}},setOffset:function(a,b,d){var e=c.css(a,"position");if(e==="static")a.style.position="relative";var f=c(a),h=f.offset(),l=c.css(a,"top"),k=c.css(a,"left"),o=e==="absolute"&&c.inArray("auto",[l,k])>-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a,
-e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&&
-c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();
-c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+
-b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window);


[19/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/backbone-1.1.0.js
----------------------------------------------------------------------
diff --git a/public/javascripts/backbone-1.1.0.js b/public/javascripts/backbone-1.1.0.js
deleted file mode 100644
index 5963d76..0000000
--- a/public/javascripts/backbone-1.1.0.js
+++ /dev/null
@@ -1,1581 +0,0 @@
-//     Backbone.js 1.1.0
-
-//     (c) 2010-2011 Jeremy Ashkenas, DocumentCloud Inc.
-//     (c) 2011-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
-//     Backbone may be freely distributed under the MIT license.
-//     For all details and documentation:
-//     http://backbonejs.org
-
-(function(){
-
-  // Initial Setup
-  // -------------
-
-  // Save a reference to the global object (`window` in the browser, `exports`
-  // on the server).
-  var root = this;
-
-  // Save the previous value of the `Backbone` variable, so that it can be
-  // restored later on, if `noConflict` is used.
-  var previousBackbone = root.Backbone;
-
-  // Create local references to array methods we'll want to use later.
-  var array = [];
-  var push = array.push;
-  var slice = array.slice;
-  var splice = array.splice;
-
-  // The top-level namespace. All public Backbone classes and modules will
-  // be attached to this. Exported for both the browser and the server.
-  var Backbone;
-  if (typeof exports !== 'undefined') {
-    Backbone = exports;
-  } else {
-    Backbone = root.Backbone = {};
-  }
-
-  // Current version of the library. Keep in sync with `package.json`.
-  Backbone.VERSION = '1.1.0';
-
-  // Require Underscore, if we're on the server, and it's not already present.
-  var _ = root._;
-  if (!_ && (typeof require !== 'undefined')) _ = require('underscore');
-
-  // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns
-  // the `$` variable.
-  Backbone.$ = root.jQuery || root.Zepto || root.ender || root.$;
-
-  // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable
-  // to its previous owner. Returns a reference to this Backbone object.
-  Backbone.noConflict = function() {
-    root.Backbone = previousBackbone;
-    return this;
-  };
-
-  // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option
-  // will fake `"PATCH"`, `"PUT"` and `"DELETE"` requests via the `_method` parameter and
-  // set a `X-Http-Method-Override` header.
-  Backbone.emulateHTTP = false;
-
-  // Turn on `emulateJSON` to support legacy servers that can't deal with direct
-  // `application/json` requests ... will encode the body as
-  // `application/x-www-form-urlencoded` instead and will send the model in a
-  // form param named `model`.
-  Backbone.emulateJSON = false;
-
-  // Backbone.Events
-  // ---------------
-
-  // A module that can be mixed in to *any object* in order to provide it with
-  // custom events. You may bind with `on` or remove with `off` callback
-  // functions to an event; `trigger`-ing an event fires all callbacks in
-  // succession.
-  //
-  //     var object = {};
-  //     _.extend(object, Backbone.Events);
-  //     object.on('expand', function(){ alert('expanded'); });
-  //     object.trigger('expand');
-  //
-  var Events = Backbone.Events = {
-
-    // Bind an event to a `callback` function. Passing `"all"` will bind
-    // the callback to all events fired.
-    on: function(name, callback, context) {
-      if (!eventsApi(this, 'on', name, [callback, context]) || !callback) return this;
-      this._events || (this._events = {});
-      var events = this._events[name] || (this._events[name] = []);
-      events.push({callback: callback, context: context, ctx: context || this});
-      return this;
-    },
-
-    // Bind an event to only be triggered a single time. After the first time
-    // the callback is invoked, it will be removed.
-    once: function(name, callback, context) {
-      if (!eventsApi(this, 'once', name, [callback, context]) || !callback) return this;
-      var self = this;
-      var once = _.once(function() {
-        self.off(name, once);
-        callback.apply(this, arguments);
-      });
-      once._callback = callback;
-      return this.on(name, once, context);
-    },
-
-    // Remove one or many callbacks. If `context` is null, removes all
-    // callbacks with that function. If `callback` is null, removes all
-    // callbacks for the event. If `name` is null, removes all bound
-    // callbacks for all events.
-    off: function(name, callback, context) {
-      var retain, ev, events, names, i, l, j, k;
-      if (!this._events || !eventsApi(this, 'off', name, [callback, context])) return this;
-      if (!name && !callback && !context) {
-        this._events = {};
-        return this;
-      }
-      names = name ? [name] : _.keys(this._events);
-      for (i = 0, l = names.length; i < l; i++) {
-        name = names[i];
-        if (events = this._events[name]) {
-          this._events[name] = retain = [];
-          if (callback || context) {
-            for (j = 0, k = events.length; j < k; j++) {
-              ev = events[j];
-              if ((callback && callback !== ev.callback && callback !== ev.callback._callback) ||
-                  (context && context !== ev.context)) {
-                retain.push(ev);
-              }
-            }
-          }
-          if (!retain.length) delete this._events[name];
-        }
-      }
-
-      return this;
-    },
-
-    // Trigger one or many events, firing all bound callbacks. Callbacks are
-    // passed the same arguments as `trigger` is, apart from the event name
-    // (unless you're listening on `"all"`, which will cause your callback to
-    // receive the true name of the event as the first argument).
-    trigger: function(name) {
-      if (!this._events) return this;
-      var args = slice.call(arguments, 1);
-      if (!eventsApi(this, 'trigger', name, args)) return this;
-      var events = this._events[name];
-      var allEvents = this._events.all;
-      if (events) triggerEvents(events, args);
-      if (allEvents) triggerEvents(allEvents, arguments);
-      return this;
-    },
-
-    // Tell this object to stop listening to either specific events ... or
-    // to every object it's currently listening to.
-    stopListening: function(obj, name, callback) {
-      var listeningTo = this._listeningTo;
-      if (!listeningTo) return this;
-      var remove = !name && !callback;
-      if (!callback && typeof name === 'object') callback = this;
-      if (obj) (listeningTo = {})[obj._listenId] = obj;
-      for (var id in listeningTo) {
-        obj = listeningTo[id];
-        obj.off(name, callback, this);
-        if (remove || _.isEmpty(obj._events)) delete this._listeningTo[id];
-      }
-      return this;
-    }
-
-  };
-
-  // Regular expression used to split event strings.
-  var eventSplitter = /\s+/;
-
-  // Implement fancy features of the Events API such as multiple event
-  // names `"change blur"` and jQuery-style event maps `{change: action}`
-  // in terms of the existing API.
-  var eventsApi = function(obj, action, name, rest) {
-    if (!name) return true;
-
-    // Handle event maps.
-    if (typeof name === 'object') {
-      for (var key in name) {
-        obj[action].apply(obj, [key, name[key]].concat(rest));
-      }
-      return false;
-    }
-
-    // Handle space separated event names.
-    if (eventSplitter.test(name)) {
-      var names = name.split(eventSplitter);
-      for (var i = 0, l = names.length; i < l; i++) {
-        obj[action].apply(obj, [names[i]].concat(rest));
-      }
-      return false;
-    }
-
-    return true;
-  };
-
-  // A difficult-to-believe, but optimized internal dispatch function for
-  // triggering events. Tries to keep the usual cases speedy (most internal
-  // Backbone events have 3 arguments).
-  var triggerEvents = function(events, args) {
-    var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2];
-    switch (args.length) {
-      case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx); return;
-      case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1); return;
-      case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2); return;
-      case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); return;
-      default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args);
-    }
-  };
-
-  var listenMethods = {listenTo: 'on', listenToOnce: 'once'};
-
-  // Inversion-of-control versions of `on` and `once`. Tell *this* object to
-  // listen to an event in another object ... keeping track of what it's
-  // listening to.
-  _.each(listenMethods, function(implementation, method) {
-    Events[method] = function(obj, name, callback) {
-      var listeningTo = this._listeningTo || (this._listeningTo = {});
-      var id = obj._listenId || (obj._listenId = _.uniqueId('l'));
-      listeningTo[id] = obj;
-      if (!callback && typeof name === 'object') callback = this;
-      obj[implementation](name, callback, this);
-      return this;
-    };
-  });
-
-  // Aliases for backwards compatibility.
-  Events.bind   = Events.on;
-  Events.unbind = Events.off;
-
-  // Allow the `Backbone` object to serve as a global event bus, for folks who
-  // want global "pubsub" in a convenient place.
-  _.extend(Backbone, Events);
-
-  // Backbone.Model
-  // --------------
-
-  // Backbone **Models** are the basic data object in the framework --
-  // frequently representing a row in a table in a database on your server.
-  // A discrete chunk of data and a bunch of useful, related methods for
-  // performing computations and transformations on that data.
-
-  // Create a new model with the specified attributes. A client id (`cid`)
-  // is automatically generated and assigned for you.
-  var Model = Backbone.Model = function(attributes, options) {
-    var attrs = attributes || {};
-    options || (options = {});
-    this.cid = _.uniqueId('c');
-    this.attributes = {};
-    if (options.collection) this.collection = options.collection;
-    if (options.parse) attrs = this.parse(attrs, options) || {};
-    attrs = _.defaults({}, attrs, _.result(this, 'defaults'));
-    this.set(attrs, options);
-    this.changed = {};
-    this.initialize.apply(this, arguments);
-  };
-
-  // Attach all inheritable methods to the Model prototype.
-  _.extend(Model.prototype, Events, {
-
-    // A hash of attributes whose current and previous value differ.
-    changed: null,
-
-    // The value returned during the last failed validation.
-    validationError: null,
-
-    // The default name for the JSON `id` attribute is `"id"`. MongoDB and
-    // CouchDB users may want to set this to `"_id"`.
-    idAttribute: 'id',
-
-    // Initialize is an empty function by default. Override it with your own
-    // initialization logic.
-    initialize: function(){},
-
-    // Return a copy of the model's `attributes` object.
-    toJSON: function(options) {
-      return _.clone(this.attributes);
-    },
-
-    // Proxy `Backbone.sync` by default -- but override this if you need
-    // custom syncing semantics for *this* particular model.
-    sync: function() {
-      return Backbone.sync.apply(this, arguments);
-    },
-
-    // Get the value of an attribute.
-    get: function(attr) {
-      return this.attributes[attr];
-    },
-
-    // Get the HTML-escaped value of an attribute.
-    escape: function(attr) {
-      return _.escape(this.get(attr));
-    },
-
-    // Returns `true` if the attribute contains a value that is not null
-    // or undefined.
-    has: function(attr) {
-      return this.get(attr) != null;
-    },
-
-    // Set a hash of model attributes on the object, firing `"change"`. This is
-    // the core primitive operation of a model, updating the data and notifying
-    // anyone who needs to know about the change in state. The heart of the beast.
-    set: function(key, val, options) {
-      var attr, attrs, unset, changes, silent, changing, prev, current;
-      if (key == null) return this;
-
-      // Handle both `"key", value` and `{key: value}` -style arguments.
-      if (typeof key === 'object') {
-        attrs = key;
-        options = val;
-      } else {
-        (attrs = {})[key] = val;
-      }
-
-      options || (options = {});
-
-      // Run validation.
-      if (!this._validate(attrs, options)) return false;
-
-      // Extract attributes and options.
-      unset           = options.unset;
-      silent          = options.silent;
-      changes         = [];
-      changing        = this._changing;
-      this._changing  = true;
-
-      if (!changing) {
-        this._previousAttributes = _.clone(this.attributes);
-        this.changed = {};
-      }
-      current = this.attributes, prev = this._previousAttributes;
-
-      // Check for changes of `id`.
-      if (this.idAttribute in attrs) this.id = attrs[this.idAttribute];
-
-      // For each `set` attribute, update or delete the current value.
-      for (attr in attrs) {
-        val = attrs[attr];
-        if (!_.isEqual(current[attr], val)) changes.push(attr);
-        if (!_.isEqual(prev[attr], val)) {
-          this.changed[attr] = val;
-        } else {
-          delete this.changed[attr];
-        }
-        unset ? delete current[attr] : current[attr] = val;
-      }
-
-      // Trigger all relevant attribute changes.
-      if (!silent) {
-        if (changes.length) this._pending = true;
-        for (var i = 0, l = changes.length; i < l; i++) {
-          this.trigger('change:' + changes[i], this, current[changes[i]], options);
-        }
-      }
-
-      // You might be wondering why there's a `while` loop here. Changes can
-      // be recursively nested within `"change"` events.
-      if (changing) return this;
-      if (!silent) {
-        while (this._pending) {
-          this._pending = false;
-          this.trigger('change', this, options);
-        }
-      }
-      this._pending = false;
-      this._changing = false;
-      return this;
-    },
-
-    // Remove an attribute from the model, firing `"change"`. `unset` is a noop
-    // if the attribute doesn't exist.
-    unset: function(attr, options) {
-      return this.set(attr, void 0, _.extend({}, options, {unset: true}));
-    },
-
-    // Clear all attributes on the model, firing `"change"`.
-    clear: function(options) {
-      var attrs = {};
-      for (var key in this.attributes) attrs[key] = void 0;
-      return this.set(attrs, _.extend({}, options, {unset: true}));
-    },
-
-    // Determine if the model has changed since the last `"change"` event.
-    // If you specify an attribute name, determine if that attribute has changed.
-    hasChanged: function(attr) {
-      if (attr == null) return !_.isEmpty(this.changed);
-      return _.has(this.changed, attr);
-    },
-
-    // Return an object containing all the attributes that have changed, or
-    // false if there are no changed attributes. Useful for determining what
-    // parts of a view need to be updated and/or what attributes need to be
-    // persisted to the server. Unset attributes will be set to undefined.
-    // You can also pass an attributes object to diff against the model,
-    // determining if there *would be* a change.
-    changedAttributes: function(diff) {
-      if (!diff) return this.hasChanged() ? _.clone(this.changed) : false;
-      var val, changed = false;
-      var old = this._changing ? this._previousAttributes : this.attributes;
-      for (var attr in diff) {
-        if (_.isEqual(old[attr], (val = diff[attr]))) continue;
-        (changed || (changed = {}))[attr] = val;
-      }
-      return changed;
-    },
-
-    // Get the previous value of an attribute, recorded at the time the last
-    // `"change"` event was fired.
-    previous: function(attr) {
-      if (attr == null || !this._previousAttributes) return null;
-      return this._previousAttributes[attr];
-    },
-
-    // Get all of the attributes of the model at the time of the previous
-    // `"change"` event.
-    previousAttributes: function() {
-      return _.clone(this._previousAttributes);
-    },
-
-    // Fetch the model from the server. If the server's representation of the
-    // model differs from its current attributes, they will be overridden,
-    // triggering a `"change"` event.
-    fetch: function(options) {
-      options = options ? _.clone(options) : {};
-      if (options.parse === void 0) options.parse = true;
-      var model = this;
-      var success = options.success;
-      options.success = function(resp) {
-        if (!model.set(model.parse(resp, options), options)) return false;
-        if (success) success(model, resp, options);
-        model.trigger('sync', model, resp, options);
-      };
-      wrapError(this, options);
-      return this.sync('read', this, options);
-    },
-
-    // Set a hash of model attributes, and sync the model to the server.
-    // If the server returns an attributes hash that differs, the model's
-    // state will be `set` again.
-    save: function(key, val, options) {
-      var attrs, method, xhr, attributes = this.attributes;
-
-      // Handle both `"key", value` and `{key: value}` -style arguments.
-      if (key == null || typeof key === 'object') {
-        attrs = key;
-        options = val;
-      } else {
-        (attrs = {})[key] = val;
-      }
-
-      options = _.extend({validate: true}, options);
-
-      // If we're not waiting and attributes exist, save acts as
-      // `set(attr).save(null, opts)` with validation. Otherwise, check if
-      // the model will be valid when the attributes, if any, are set.
-      if (attrs && !options.wait) {
-        if (!this.set(attrs, options)) return false;
-      } else {
-        if (!this._validate(attrs, options)) return false;
-      }
-
-      // Set temporary attributes if `{wait: true}`.
-      if (attrs && options.wait) {
-        this.attributes = _.extend({}, attributes, attrs);
-      }
-
-      // After a successful server-side save, the client is (optionally)
-      // updated with the server-side state.
-      if (options.parse === void 0) options.parse = true;
-      var model = this;
-      var success = options.success;
-      options.success = function(resp) {
-        // Ensure attributes are restored during synchronous saves.
-        model.attributes = attributes;
-        var serverAttrs = model.parse(resp, options);
-        if (options.wait) serverAttrs = _.extend(attrs || {}, serverAttrs);
-        if (_.isObject(serverAttrs) && !model.set(serverAttrs, options)) {
-          return false;
-        }
-        if (success) success(model, resp, options);
-        model.trigger('sync', model, resp, options);
-      };
-      wrapError(this, options);
-
-      method = this.isNew() ? 'create' : (options.patch ? 'patch' : 'update');
-      if (method === 'patch') options.attrs = attrs;
-      xhr = this.sync(method, this, options);
-
-      // Restore attributes.
-      if (attrs && options.wait) this.attributes = attributes;
-
-      return xhr;
-    },
-
-    // Destroy this model on the server if it was already persisted.
-    // Optimistically removes the model from its collection, if it has one.
-    // If `wait: true` is passed, waits for the server to respond before removal.
-    destroy: function(options) {
-      options = options ? _.clone(options) : {};
-      var model = this;
-      var success = options.success;
-
-      var destroy = function() {
-        model.trigger('destroy', model, model.collection, options);
-      };
-
-      options.success = function(resp) {
-        if (options.wait || model.isNew()) destroy();
-        if (success) success(model, resp, options);
-        if (!model.isNew()) model.trigger('sync', model, resp, options);
-      };
-
-      if (this.isNew()) {
-        options.success();
-        return false;
-      }
-      wrapError(this, options);
-
-      var xhr = this.sync('delete', this, options);
-      if (!options.wait) destroy();
-      return xhr;
-    },
-
-    // Default URL for the model's representation on the server -- if you're
-    // using Backbone's restful methods, override this to change the endpoint
-    // that will be called.
-    url: function() {
-      var base = _.result(this, 'urlRoot') || _.result(this.collection, 'url') || urlError();
-      if (this.isNew()) return base;
-      return base + (base.charAt(base.length - 1) === '/' ? '' : '/') + encodeURIComponent(this.id);
-    },
-
-    // **parse** converts a response into the hash of attributes to be `set` on
-    // the model. The default implementation is just to pass the response along.
-    parse: function(resp, options) {
-      return resp;
-    },
-
-    // Create a new model with identical attributes to this one.
-    clone: function() {
-      return new this.constructor(this.attributes);
-    },
-
-    // A model is new if it has never been saved to the server, and lacks an id.
-    isNew: function() {
-      return this.id == null;
-    },
-
-    // Check if the model is currently in a valid state.
-    isValid: function(options) {
-      return this._validate({}, _.extend(options || {}, { validate: true }));
-    },
-
-    // Run validation against the next complete set of model attributes,
-    // returning `true` if all is well. Otherwise, fire an `"invalid"` event.
-    _validate: function(attrs, options) {
-      if (!options.validate || !this.validate) return true;
-      attrs = _.extend({}, this.attributes, attrs);
-      var error = this.validationError = this.validate(attrs, options) || null;
-      if (!error) return true;
-      this.trigger('invalid', this, error, _.extend(options, {validationError: error}));
-      return false;
-    }
-
-  });
-
-  // Underscore methods that we want to implement on the Model.
-  var modelMethods = ['keys', 'values', 'pairs', 'invert', 'pick', 'omit'];
-
-  // Mix in each Underscore method as a proxy to `Model#attributes`.
-  _.each(modelMethods, function(method) {
-    Model.prototype[method] = function() {
-      var args = slice.call(arguments);
-      args.unshift(this.attributes);
-      return _[method].apply(_, args);
-    };
-  });
-
-  // Backbone.Collection
-  // -------------------
-
-  // If models tend to represent a single row of data, a Backbone Collection is
-  // more analagous to a table full of data ... or a small slice or page of that
-  // table, or a collection of rows that belong together for a particular reason
-  // -- all of the messages in this particular folder, all of the documents
-  // belonging to this particular author, and so on. Collections maintain
-  // indexes of their models, both in order, and for lookup by `id`.
-
-  // Create a new **Collection**, perhaps to contain a specific type of `model`.
-  // If a `comparator` is specified, the Collection will maintain
-  // its models in sort order, as they're added and removed.
-  var Collection = Backbone.Collection = function(models, options) {
-    options || (options = {});
-    if (options.model) this.model = options.model;
-    if (options.comparator !== void 0) this.comparator = options.comparator;
-    this._reset();
-    this.initialize.apply(this, arguments);
-    if (models) this.reset(models, _.extend({silent: true}, options));
-  };
-
-  // Default options for `Collection#set`.
-  var setOptions = {add: true, remove: true, merge: true};
-  var addOptions = {add: true, remove: false};
-
-  // Define the Collection's inheritable methods.
-  _.extend(Collection.prototype, Events, {
-
-    // The default model for a collection is just a **Backbone.Model**.
-    // This should be overridden in most cases.
-    model: Model,
-
-    // Initialize is an empty function by default. Override it with your own
-    // initialization logic.
-    initialize: function(){},
-
-    // The JSON representation of a Collection is an array of the
-    // models' attributes.
-    toJSON: function(options) {
-      return this.map(function(model){ return model.toJSON(options); });
-    },
-
-    // Proxy `Backbone.sync` by default.
-    sync: function() {
-      return Backbone.sync.apply(this, arguments);
-    },
-
-    // Add a model, or list of models to the set.
-    add: function(models, options) {
-      return this.set(models, _.extend({merge: false}, options, addOptions));
-    },
-
-    // Remove a model, or a list of models from the set.
-    remove: function(models, options) {
-      var singular = !_.isArray(models);
-      models = singular ? [models] : _.clone(models);
-      options || (options = {});
-      var i, l, index, model;
-      for (i = 0, l = models.length; i < l; i++) {
-        model = models[i] = this.get(models[i]);
-        if (!model) continue;
-        delete this._byId[model.id];
-        delete this._byId[model.cid];
-        index = this.indexOf(model);
-        this.models.splice(index, 1);
-        this.length--;
-        if (!options.silent) {
-          options.index = index;
-          model.trigger('remove', model, this, options);
-        }
-        this._removeReference(model);
-      }
-      return singular ? models[0] : models;
-    },
-
-    // Update a collection by `set`-ing a new list of models, adding new ones,
-    // removing models that are no longer present, and merging models that
-    // already exist in the collection, as necessary. Similar to **Model#set**,
-    // the core operation for updating the data contained by the collection.
-    set: function(models, options) {
-      options = _.defaults({}, options, setOptions);
-      if (options.parse) models = this.parse(models, options);
-      var singular = !_.isArray(models);
-      models = singular ? (models ? [models] : []) : _.clone(models);
-      var i, l, id, model, attrs, existing, sort;
-      var at = options.at;
-      var targetModel = this.model;
-      var sortable = this.comparator && (at == null) && options.sort !== false;
-      var sortAttr = _.isString(this.comparator) ? this.comparator : null;
-      var toAdd = [], toRemove = [], modelMap = {};
-      var add = options.add, merge = options.merge, remove = options.remove;
-      var order = !sortable && add && remove ? [] : false;
-
-      // Turn bare objects into model references, and prevent invalid models
-      // from being added.
-      for (i = 0, l = models.length; i < l; i++) {
-        attrs = models[i];
-        if (attrs instanceof Model) {
-          id = model = attrs;
-        } else {
-          id = attrs[targetModel.prototype.idAttribute];
-        }
-
-        // If a duplicate is found, prevent it from being added and
-        // optionally merge it into the existing model.
-        if (existing = this.get(id)) {
-          if (remove) modelMap[existing.cid] = true;
-          if (merge) {
-            attrs = attrs === model ? model.attributes : attrs;
-            if (options.parse) attrs = existing.parse(attrs, options);
-            existing.set(attrs, options);
-            if (sortable && !sort && existing.hasChanged(sortAttr)) sort = true;
-          }
-          models[i] = existing;
-
-        // If this is a new, valid model, push it to the `toAdd` list.
-        } else if (add) {
-          model = models[i] = this._prepareModel(attrs, options);
-          if (!model) continue;
-          toAdd.push(model);
-
-          // Listen to added models' events, and index models for lookup by
-          // `id` and by `cid`.
-          model.on('all', this._onModelEvent, this);
-          this._byId[model.cid] = model;
-          if (model.id != null) this._byId[model.id] = model;
-        }
-        if (order) order.push(existing || model);
-      }
-
-      // Remove nonexistent models if appropriate.
-      if (remove) {
-        for (i = 0, l = this.length; i < l; ++i) {
-          if (!modelMap[(model = this.models[i]).cid]) toRemove.push(model);
-        }
-        if (toRemove.length) this.remove(toRemove, options);
-      }
-
-      // See if sorting is needed, update `length` and splice in new models.
-      if (toAdd.length || (order && order.length)) {
-        if (sortable) sort = true;
-        this.length += toAdd.length;
-        if (at != null) {
-          for (i = 0, l = toAdd.length; i < l; i++) {
-            this.models.splice(at + i, 0, toAdd[i]);
-          }
-        } else {
-          if (order) this.models.length = 0;
-          var orderedModels = order || toAdd;
-          for (i = 0, l = orderedModels.length; i < l; i++) {
-            this.models.push(orderedModels[i]);
-          }
-        }
-      }
-
-      // Silently sort the collection if appropriate.
-      if (sort) this.sort({silent: true});
-
-      // Unless silenced, it's time to fire all appropriate add/sort events.
-      if (!options.silent) {
-        for (i = 0, l = toAdd.length; i < l; i++) {
-          (model = toAdd[i]).trigger('add', model, this, options);
-        }
-        if (sort || (order && order.length)) this.trigger('sort', this, options);
-      }
-      
-      // Return the added (or merged) model (or models).
-      return singular ? models[0] : models;
-    },
-
-    // When you have more items than you want to add or remove individually,
-    // you can reset the entire set with a new list of models, without firing
-    // any granular `add` or `remove` events. Fires `reset` when finished.
-    // Useful for bulk operations and optimizations.
-    reset: function(models, options) {
-      options || (options = {});
-      for (var i = 0, l = this.models.length; i < l; i++) {
-        this._removeReference(this.models[i]);
-      }
-      options.previousModels = this.models;
-      this._reset();
-      models = this.add(models, _.extend({silent: true}, options));
-      if (!options.silent) this.trigger('reset', this, options);
-      return models;
-    },
-
-    // Add a model to the end of the collection.
-    push: function(model, options) {
-      return this.add(model, _.extend({at: this.length}, options));
-    },
-
-    // Remove a model from the end of the collection.
-    pop: function(options) {
-      var model = this.at(this.length - 1);
-      this.remove(model, options);
-      return model;
-    },
-
-    // Add a model to the beginning of the collection.
-    unshift: function(model, options) {
-      return this.add(model, _.extend({at: 0}, options));
-    },
-
-    // Remove a model from the beginning of the collection.
-    shift: function(options) {
-      var model = this.at(0);
-      this.remove(model, options);
-      return model;
-    },
-
-    // Slice out a sub-array of models from the collection.
-    slice: function() {
-      return slice.apply(this.models, arguments);
-    },
-
-    // Get a model from the set by id.
-    get: function(obj) {
-      if (obj == null) return void 0;
-      return this._byId[obj.id] || this._byId[obj.cid] || this._byId[obj];
-    },
-
-    // Get the model at the given index.
-    at: function(index) {
-      return this.models[index];
-    },
-
-    // Return models with matching attributes. Useful for simple cases of
-    // `filter`.
-    where: function(attrs, first) {
-      if (_.isEmpty(attrs)) return first ? void 0 : [];
-      return this[first ? 'find' : 'filter'](function(model) {
-        for (var key in attrs) {
-          if (attrs[key] !== model.get(key)) return false;
-        }
-        return true;
-      });
-    },
-
-    // Return the first model with matching attributes. Useful for simple cases
-    // of `find`.
-    findWhere: function(attrs) {
-      return this.where(attrs, true);
-    },
-
-    // Force the collection to re-sort itself. You don't need to call this under
-    // normal circumstances, as the set will maintain sort order as each item
-    // is added.
-    sort: function(options) {
-      if (!this.comparator) throw new Error('Cannot sort a set without a comparator');
-      options || (options = {});
-
-      // Run sort based on type of `comparator`.
-      if (_.isString(this.comparator) || this.comparator.length === 1) {
-        this.models = this.sortBy(this.comparator, this);
-      } else {
-        this.models.sort(_.bind(this.comparator, this));
-      }
-
-      if (!options.silent) this.trigger('sort', this, options);
-      return this;
-    },
-
-    // Pluck an attribute from each model in the collection.
-    pluck: function(attr) {
-      return _.invoke(this.models, 'get', attr);
-    },
-
-    // Fetch the default set of models for this collection, resetting the
-    // collection when they arrive. If `reset: true` is passed, the response
-    // data will be passed through the `reset` method instead of `set`.
-    fetch: function(options) {
-      options = options ? _.clone(options) : {};
-      if (options.parse === void 0) options.parse = true;
-      var success = options.success;
-      var collection = this;
-      options.success = function(resp) {
-        var method = options.reset ? 'reset' : 'set';
-        collection[method](resp, options);
-        if (success) success(collection, resp, options);
-        collection.trigger('sync', collection, resp, options);
-      };
-      wrapError(this, options);
-      return this.sync('read', this, options);
-    },
-
-    // Create a new instance of a model in this collection. Add the model to the
-    // collection immediately, unless `wait: true` is passed, in which case we
-    // wait for the server to agree.
-    create: function(model, options) {
-      options = options ? _.clone(options) : {};
-      if (!(model = this._prepareModel(model, options))) return false;
-      if (!options.wait) this.add(model, options);
-      var collection = this;
-      var success = options.success;
-      options.success = function(model, resp, options) {
-        if (options.wait) collection.add(model, options);
-        if (success) success(model, resp, options);
-      };
-      model.save(null, options);
-      return model;
-    },
-
-    // **parse** converts a response into a list of models to be added to the
-    // collection. The default implementation is just to pass it through.
-    parse: function(resp, options) {
-      return resp;
-    },
-
-    // Create a new collection with an identical list of models as this one.
-    clone: function() {
-      return new this.constructor(this.models);
-    },
-
-    // Private method to reset all internal state. Called when the collection
-    // is first initialized or reset.
-    _reset: function() {
-      this.length = 0;
-      this.models = [];
-      this._byId  = {};
-    },
-
-    // Prepare a hash of attributes (or other model) to be added to this
-    // collection.
-    _prepareModel: function(attrs, options) {
-      if (attrs instanceof Model) {
-        if (!attrs.collection) attrs.collection = this;
-        return attrs;
-      }
-      options = options ? _.clone(options) : {};
-      options.collection = this;
-      var model = new this.model(attrs, options);
-      if (!model.validationError) return model;
-      this.trigger('invalid', this, model.validationError, options);
-      return false;
-    },
-
-    // Internal method to sever a model's ties to a collection.
-    _removeReference: function(model) {
-      if (this === model.collection) delete model.collection;
-      model.off('all', this._onModelEvent, this);
-    },
-
-    // Internal method called every time a model in the set fires an event.
-    // Sets need to update their indexes when models change ids. All other
-    // events simply proxy through. "add" and "remove" events that originate
-    // in other collections are ignored.
-    _onModelEvent: function(event, model, collection, options) {
-      if ((event === 'add' || event === 'remove') && collection !== this) return;
-      if (event === 'destroy') this.remove(model, options);
-      if (model && event === 'change:' + model.idAttribute) {
-        delete this._byId[model.previous(model.idAttribute)];
-        if (model.id != null) this._byId[model.id] = model;
-      }
-      this.trigger.apply(this, arguments);
-    }
-
-  });
-
-  // Underscore methods that we want to implement on the Collection.
-  // 90% of the core usefulness of Backbone Collections is actually implemented
-  // right here:
-  var methods = ['forEach', 'each', 'map', 'collect', 'reduce', 'foldl',
-    'inject', 'reduceRight', 'foldr', 'find', 'detect', 'filter', 'select',
-    'reject', 'every', 'all', 'some', 'any', 'include', 'contains', 'invoke',
-    'max', 'min', 'toArray', 'size', 'first', 'head', 'take', 'initial', 'rest',
-    'tail', 'drop', 'last', 'without', 'difference', 'indexOf', 'shuffle',
-    'lastIndexOf', 'isEmpty', 'chain'];
-
-  // Mix in each Underscore method as a proxy to `Collection#models`.
-  _.each(methods, function(method) {
-    Collection.prototype[method] = function() {
-      var args = slice.call(arguments);
-      args.unshift(this.models);
-      return _[method].apply(_, args);
-    };
-  });
-
-  // Underscore methods that take a property name as an argument.
-  var attributeMethods = ['groupBy', 'countBy', 'sortBy'];
-
-  // Use attributes instead of properties.
-  _.each(attributeMethods, function(method) {
-    Collection.prototype[method] = function(value, context) {
-      var iterator = _.isFunction(value) ? value : function(model) {
-        return model.get(value);
-      };
-      return _[method](this.models, iterator, context);
-    };
-  });
-
-  // Backbone.View
-  // -------------
-
-  // Backbone Views are almost more convention than they are actual code. A View
-  // is simply a JavaScript object that represents a logical chunk of UI in the
-  // DOM. This might be a single item, an entire list, a sidebar or panel, or
-  // even the surrounding frame which wraps your whole app. Defining a chunk of
-  // UI as a **View** allows you to define your DOM events declaratively, without
-  // having to worry about render order ... and makes it easy for the view to
-  // react to specific changes in the state of your models.
-
-  // Creating a Backbone.View creates its initial element outside of the DOM,
-  // if an existing element is not provided...
-  var View = Backbone.View = function(options) {
-    this.cid = _.uniqueId('view');
-    options || (options = {});
-    _.extend(this, _.pick(options, viewOptions));
-    this._ensureElement();
-    this.initialize.apply(this, arguments);
-    this.delegateEvents();
-  };
-
-  // Cached regex to split keys for `delegate`.
-  var delegateEventSplitter = /^(\S+)\s*(.*)$/;
-
-  // List of view options to be merged as properties.
-  var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events'];
-
-  // Set up all inheritable **Backbone.View** properties and methods.
-  _.extend(View.prototype, Events, {
-
-    // The default `tagName` of a View's element is `"div"`.
-    tagName: 'div',
-
-    // jQuery delegate for element lookup, scoped to DOM elements within the
-    // current view. This should be preferred to global lookups where possible.
-    $: function(selector) {
-      return this.$el.find(selector);
-    },
-
-    // Initialize is an empty function by default. Override it with your own
-    // initialization logic.
-    initialize: function(){},
-
-    // **render** is the core function that your view should override, in order
-    // to populate its element (`this.el`), with the appropriate HTML. The
-    // convention is for **render** to always return `this`.
-    render: function() {
-      return this;
-    },
-
-    // Remove this view by taking the element out of the DOM, and removing any
-    // applicable Backbone.Events listeners.
-    remove: function() {
-      this.$el.remove();
-      this.stopListening();
-      return this;
-    },
-
-    // Change the view's element (`this.el` property), including event
-    // re-delegation.
-    setElement: function(element, delegate) {
-      if (this.$el) this.undelegateEvents();
-      this.$el = element instanceof Backbone.$ ? element : Backbone.$(element);
-      this.el = this.$el[0];
-      if (delegate !== false) this.delegateEvents();
-      return this;
-    },
-
-    // Set callbacks, where `this.events` is a hash of
-    //
-    // *{"event selector": "callback"}*
-    //
-    //     {
-    //       'mousedown .title':  'edit',
-    //       'click .button':     'save',
-    //       'click .open':       function(e) { ... }
-    //     }
-    //
-    // pairs. Callbacks will be bound to the view, with `this` set properly.
-    // Uses event delegation for efficiency.
-    // Omitting the selector binds the event to `this.el`.
-    // This only works for delegate-able events: not `focus`, `blur`, and
-    // not `change`, `submit`, and `reset` in Internet Explorer.
-    delegateEvents: function(events) {
-      if (!(events || (events = _.result(this, 'events')))) return this;
-      this.undelegateEvents();
-      for (var key in events) {
-        var method = events[key];
-        if (!_.isFunction(method)) method = this[events[key]];
-        if (!method) continue;
-
-        var match = key.match(delegateEventSplitter);
-        var eventName = match[1], selector = match[2];
-        method = _.bind(method, this);
-        eventName += '.delegateEvents' + this.cid;
-        if (selector === '') {
-          this.$el.on(eventName, method);
-        } else {
-          this.$el.on(eventName, selector, method);
-        }
-      }
-      return this;
-    },
-
-    // Clears all callbacks previously bound to the view with `delegateEvents`.
-    // You usually don't need to use this, but may wish to if you have multiple
-    // Backbone views attached to the same DOM element.
-    undelegateEvents: function() {
-      this.$el.off('.delegateEvents' + this.cid);
-      return this;
-    },
-
-    // Ensure that the View has a DOM element to render into.
-    // If `this.el` is a string, pass it through `$()`, take the first
-    // matching element, and re-assign it to `el`. Otherwise, create
-    // an element from the `id`, `className` and `tagName` properties.
-    _ensureElement: function() {
-      if (!this.el) {
-        var attrs = _.extend({}, _.result(this, 'attributes'));
-        if (this.id) attrs.id = _.result(this, 'id');
-        if (this.className) attrs['class'] = _.result(this, 'className');
-        var $el = Backbone.$('<' + _.result(this, 'tagName') + '>').attr(attrs);
-        this.setElement($el, false);
-      } else {
-        this.setElement(_.result(this, 'el'), false);
-      }
-    }
-
-  });
-
-  // Backbone.sync
-  // -------------
-
-  // Override this function to change the manner in which Backbone persists
-  // models to the server. You will be passed the type of request, and the
-  // model in question. By default, makes a RESTful Ajax request
-  // to the model's `url()`. Some possible customizations could be:
-  //
-  // * Use `setTimeout` to batch rapid-fire updates into a single request.
-  // * Send up the models as XML instead of JSON.
-  // * Persist models via WebSockets instead of Ajax.
-  //
-  // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests
-  // as `POST`, with a `_method` parameter containing the true HTTP method,
-  // as well as all requests with the body as `application/x-www-form-urlencoded`
-  // instead of `application/json` with the model in a param named `model`.
-  // Useful when interfacing with server-side languages like **PHP** that make
-  // it difficult to read the body of `PUT` requests.
-  Backbone.sync = function(method, model, options) {
-    var type = methodMap[method];
-
-    // Default options, unless specified.
-    _.defaults(options || (options = {}), {
-      emulateHTTP: Backbone.emulateHTTP,
-      emulateJSON: Backbone.emulateJSON
-    });
-
-    // Default JSON-request options.
-    var params = {type: type, dataType: 'json'};
-
-    // Ensure that we have a URL.
-    if (!options.url) {
-      params.url = _.result(model, 'url') || urlError();
-    }
-
-    // Ensure that we have the appropriate request data.
-    if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {
-      params.contentType = 'application/json';
-      params.data = JSON.stringify(options.attrs || model.toJSON(options));
-    }
-
-    // For older servers, emulate JSON by encoding the request into an HTML-form.
-    if (options.emulateJSON) {
-      params.contentType = 'application/x-www-form-urlencoded';
-      params.data = params.data ? {model: params.data} : {};
-    }
-
-    // For older servers, emulate HTTP by mimicking the HTTP method with `_method`
-    // And an `X-HTTP-Method-Override` header.
-    if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) {
-      params.type = 'POST';
-      if (options.emulateJSON) params.data._method = type;
-      var beforeSend = options.beforeSend;
-      options.beforeSend = function(xhr) {
-        xhr.setRequestHeader('X-HTTP-Method-Override', type);
-        if (beforeSend) return beforeSend.apply(this, arguments);
-      };
-    }
-
-    // Don't process data on a non-GET request.
-    if (params.type !== 'GET' && !options.emulateJSON) {
-      params.processData = false;
-    }
-
-    // If we're sending a `PATCH` request, and we're in an old Internet Explorer
-    // that still has ActiveX enabled by default, override jQuery to use that
-    // for XHR instead. Remove this line when jQuery supports `PATCH` on IE8.
-    if (params.type === 'PATCH' && noXhrPatch) {
-      params.xhr = function() {
-        return new ActiveXObject("Microsoft.XMLHTTP");
-      };
-    }
-
-    // Make the request, allowing the user to override any Ajax options.
-    var xhr = options.xhr = Backbone.ajax(_.extend(params, options));
-    model.trigger('request', model, xhr, options);
-    return xhr;
-  };
-
-  var noXhrPatch = typeof window !== 'undefined' && !!window.ActiveXObject && !(window.XMLHttpRequest && (new XMLHttpRequest).dispatchEvent);
-
-  // Map from CRUD to HTTP for our default `Backbone.sync` implementation.
-  var methodMap = {
-    'create': 'POST',
-    'update': 'PUT',
-    'patch':  'PATCH',
-    'delete': 'DELETE',
-    'read':   'GET'
-  };
-
-  // Set the default implementation of `Backbone.ajax` to proxy through to `$`.
-  // Override this if you'd like to use a different library.
-  Backbone.ajax = function() {
-    return Backbone.$.ajax.apply(Backbone.$, arguments);
-  };
-
-  // Backbone.Router
-  // ---------------
-
-  // Routers map faux-URLs to actions, and fire events when routes are
-  // matched. Creating a new one sets its `routes` hash, if not set statically.
-  var Router = Backbone.Router = function(options) {
-    options || (options = {});
-    if (options.routes) this.routes = options.routes;
-    this._bindRoutes();
-    this.initialize.apply(this, arguments);
-  };
-
-  // Cached regular expressions for matching named param parts and splatted
-  // parts of route strings.
-  var optionalParam = /\((.*?)\)/g;
-  var namedParam    = /(\(\?)?:\w+/g;
-  var splatParam    = /\*\w+/g;
-  var escapeRegExp  = /[\-{}\[\]+?.,\\\^$|#\s]/g;
-
-  // Set up all inheritable **Backbone.Router** properties and methods.
-  _.extend(Router.prototype, Events, {
-
-    // Initialize is an empty function by default. Override it with your own
-    // initialization logic.
-    initialize: function(){},
-
-    // Manually bind a single named route to a callback. For example:
-    //
-    //     this.route('search/:query/p:num', 'search', function(query, num) {
-    //       ...
-    //     });
-    //
-    route: function(route, name, callback) {
-      if (!_.isRegExp(route)) route = this._routeToRegExp(route);
-      if (_.isFunction(name)) {
-        callback = name;
-        name = '';
-      }
-      if (!callback) callback = this[name];
-      var router = this;
-      Backbone.history.route(route, function(fragment) {
-        var args = router._extractParameters(route, fragment);
-        callback && callback.apply(router, args);
-        router.trigger.apply(router, ['route:' + name].concat(args));
-        router.trigger('route', name, args);
-        Backbone.history.trigger('route', router, name, args);
-      });
-      return this;
-    },
-
-    // Simple proxy to `Backbone.history` to save a fragment into the history.
-    navigate: function(fragment, options) {
-      Backbone.history.navigate(fragment, options);
-      return this;
-    },
-
-    // Bind all defined routes to `Backbone.history`. We have to reverse the
-    // order of the routes here to support behavior where the most general
-    // routes can be defined at the bottom of the route map.
-    _bindRoutes: function() {
-      if (!this.routes) return;
-      this.routes = _.result(this, 'routes');
-      var route, routes = _.keys(this.routes);
-      while ((route = routes.pop()) != null) {
-        this.route(route, this.routes[route]);
-      }
-    },
-
-    // Convert a route string into a regular expression, suitable for matching
-    // against the current location hash.
-    _routeToRegExp: function(route) {
-      route = route.replace(escapeRegExp, '\\$&')
-                   .replace(optionalParam, '(?:$1)?')
-                   .replace(namedParam, function(match, optional) {
-                     return optional ? match : '([^\/]+)';
-                   })
-                   .replace(splatParam, '(.*?)');
-      return new RegExp('^' + route + '$');
-    },
-
-    // Given a route, and a URL fragment that it matches, return the array of
-    // extracted decoded parameters. Empty or unmatched parameters will be
-    // treated as `null` to normalize cross-browser behavior.
-    _extractParameters: function(route, fragment) {
-      var params = route.exec(fragment).slice(1);
-      return _.map(params, function(param) {
-        return param ? decodeURIComponent(param) : null;
-      });
-    }
-
-  });
-
-  // Backbone.History
-  // ----------------
-
-  // Handles cross-browser history management, based on either
-  // [pushState](http://diveintohtml5.info/history.html) and real URLs, or
-  // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange)
-  // and URL fragments. If the browser supports neither (old IE, natch),
-  // falls back to polling.
-  var History = Backbone.History = function() {
-    this.handlers = [];
-    _.bindAll(this, 'checkUrl');
-
-    // Ensure that `History` can be used outside of the browser.
-    if (typeof window !== 'undefined') {
-      this.location = window.location;
-      this.history = window.history;
-    }
-  };
-
-  // Cached regex for stripping a leading hash/slash and trailing space.
-  var routeStripper = /^[#\/]|\s+$/g;
-
-  // Cached regex for stripping leading and trailing slashes.
-  var rootStripper = /^\/+|\/+$/g;
-
-  // Cached regex for detecting MSIE.
-  var isExplorer = /msie [\w.]+/;
-
-  // Cached regex for removing a trailing slash.
-  var trailingSlash = /\/$/;
-
-  // Cached regex for stripping urls of hash and query.
-  var pathStripper = /[?#].*$/;
-
-  // Has the history handling already been started?
-  History.started = false;
-
-  // Set up all inheritable **Backbone.History** properties and methods.
-  _.extend(History.prototype, Events, {
-
-    // The default interval to poll for hash changes, if necessary, is
-    // twenty times a second.
-    interval: 50,
-
-    // Gets the true hash value. Cannot use location.hash directly due to bug
-    // in Firefox where location.hash will always be decoded.
-    getHash: function(window) {
-      var match = (window || this).location.href.match(/#(.*)$/);
-      return match ? match[1] : '';
-    },
-
-    // Get the cross-browser normalized URL fragment, either from the URL,
-    // the hash, or the override.
-    getFragment: function(fragment, forcePushState) {
-      if (fragment == null) {
-        if (this._hasPushState || !this._wantsHashChange || forcePushState) {
-          fragment = this.location.pathname;
-          var root = this.root.replace(trailingSlash, '');
-          if (!fragment.indexOf(root)) fragment = fragment.slice(root.length);
-        } else {
-          fragment = this.getHash();
-        }
-      }
-      return fragment.replace(routeStripper, '');
-    },
-
-    // Start the hash change handling, returning `true` if the current URL matches
-    // an existing route, and `false` otherwise.
-    start: function(options) {
-      if (History.started) throw new Error("Backbone.history has already been started");
-      History.started = true;
-
-      // Figure out the initial configuration. Do we need an iframe?
-      // Is pushState desired ... is it available?
-      this.options          = _.extend({root: '/'}, this.options, options);
-      this.root             = this.options.root;
-      this._wantsHashChange = this.options.hashChange !== false;
-      this._wantsPushState  = !!this.options.pushState;
-      this._hasPushState    = !!(this.options.pushState && this.history && this.history.pushState);
-      var fragment          = this.getFragment();
-      var docMode           = document.documentMode;
-      var oldIE             = (isExplorer.exec(navigator.userAgent.toLowerCase()) && (!docMode || docMode <= 7));
-
-      // Normalize root to always include a leading and trailing slash.
-      this.root = ('/' + this.root + '/').replace(rootStripper, '/');
-
-      if (oldIE && this._wantsHashChange) {
-        this.iframe = Backbone.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo('body')[0].contentWindow;
-        this.navigate(fragment);
-      }
-
-      // Depending on whether we're using pushState or hashes, and whether
-      // 'onhashchange' is supported, determine how we check the URL state.
-      if (this._hasPushState) {
-        Backbone.$(window).on('popstate', this.checkUrl);
-      } else if (this._wantsHashChange && ('onhashchange' in window) && !oldIE) {
-        Backbone.$(window).on('hashchange', this.checkUrl);
-      } else if (this._wantsHashChange) {
-        this._checkUrlInterval = setInterval(this.checkUrl, this.interval);
-      }
-
-      // Determine if we need to change the base url, for a pushState link
-      // opened by a non-pushState browser.
-      this.fragment = fragment;
-      var loc = this.location;
-      var atRoot = loc.pathname.replace(/[^\/]$/, '$&/') === this.root;
-
-      // Transition from hashChange to pushState or vice versa if both are
-      // requested.
-      if (this._wantsHashChange && this._wantsPushState) {
-
-        // If we've started off with a route from a `pushState`-enabled
-        // browser, but we're currently in a browser that doesn't support it...
-        if (!this._hasPushState && !atRoot) {
-          this.fragment = this.getFragment(null, true);
-          this.location.replace(this.root + this.location.search + '#' + this.fragment);
-          // Return immediately as browser will do redirect to new url
-          return true;
-
-        // Or if we've started out with a hash-based route, but we're currently
-        // in a browser where it could be `pushState`-based instead...
-        } else if (this._hasPushState && atRoot && loc.hash) {
-          this.fragment = this.getHash().replace(routeStripper, '');
-          this.history.replaceState({}, document.title, this.root + this.fragment + loc.search);
-        }
-
-      }
-
-      if (!this.options.silent) return this.loadUrl();
-    },
-
-    // Disable Backbone.history, perhaps temporarily. Not useful in a real app,
-    // but possibly useful for unit testing Routers.
-    stop: function() {
-      Backbone.$(window).off('popstate', this.checkUrl).off('hashchange', this.checkUrl);
-      clearInterval(this._checkUrlInterval);
-      History.started = false;
-    },
-
-    // Add a route to be tested when the fragment changes. Routes added later
-    // may override previous routes.
-    route: function(route, callback) {
-      this.handlers.unshift({route: route, callback: callback});
-    },
-
-    // Checks the current URL to see if it has changed, and if it has,
-    // calls `loadUrl`, normalizing across the hidden iframe.
-    checkUrl: function(e) {
-      var current = this.getFragment();
-      if (current === this.fragment && this.iframe) {
-        current = this.getFragment(this.getHash(this.iframe));
-      }
-      if (current === this.fragment) return false;
-      if (this.iframe) this.navigate(current);
-      this.loadUrl();
-    },
-
-    // Attempt to load the current URL fragment. If a route succeeds with a
-    // match, returns `true`. If no defined routes matches the fragment,
-    // returns `false`.
-    loadUrl: function(fragment) {
-      fragment = this.fragment = this.getFragment(fragment);
-      return _.any(this.handlers, function(handler) {
-        if (handler.route.test(fragment)) {
-          handler.callback(fragment);
-          return true;
-        }
-      });
-    },
-
-    // Save a fragment into the hash history, or replace the URL state if the
-    // 'replace' option is passed. You are responsible for properly URL-encoding
-    // the fragment in advance.
-    //
-    // The options object can contain `trigger: true` if you wish to have the
-    // route callback be fired (not usually desirable), or `replace: true`, if
-    // you wish to modify the current URL without adding an entry to the history.
-    navigate: function(fragment, options) {
-      if (!History.started) return false;
-      if (!options || options === true) options = {trigger: !!options};
-
-      var url = this.root + (fragment = this.getFragment(fragment || ''));
-
-      // Strip the fragment of the query and hash for matching.
-      fragment = fragment.replace(pathStripper, '');
-
-      if (this.fragment === fragment) return;
-      this.fragment = fragment;
-
-      // Don't include a trailing slash on the root.
-      if (fragment === '' && url !== '/') url = url.slice(0, -1);
-
-      // If pushState is available, we use it to set the fragment as a real URL.
-      if (this._hasPushState) {
-        this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url);
-
-      // If hash changes haven't been explicitly disabled, update the hash
-      // fragment to store history.
-      } else if (this._wantsHashChange) {
-        this._updateHash(this.location, fragment, options.replace);
-        if (this.iframe && (fragment !== this.getFragment(this.getHash(this.iframe)))) {
-          // Opening and closing the iframe tricks IE7 and earlier to push a
-          // history entry on hash-tag change.  When replace is true, we don't
-          // want this.
-          if(!options.replace) this.iframe.document.open().close();
-          this._updateHash(this.iframe.location, fragment, options.replace);
-        }
-
-      // If you've told us that you explicitly don't want fallback hashchange-
-      // based history, then `navigate` becomes a page refresh.
-      } else {
-        return this.location.assign(url);
-      }
-      if (options.trigger) return this.loadUrl(fragment);
-    },
-
-    // Update the hash location, either replacing the current entry, or adding
-    // a new one to the browser history.
-    _updateHash: function(location, fragment, replace) {
-      if (replace) {
-        var href = location.href.replace(/(javascript:|#).*$/, '');
-        location.replace(href + '#' + fragment);
-      } else {
-        // Some browsers require that `hash` contains a leading #.
-        location.hash = '#' + fragment;
-      }
-    }
-
-  });
-
-  // Create the default Backbone.history.
-  Backbone.history = new History;
-
-  // Helpers
-  // -------
-
-  // Helper function to correctly set up the prototype chain, for subclasses.
-  // Similar to `goog.inherits`, but uses a hash of prototype properties and
-  // class properties to be extended.
-  var extend = function(protoProps, staticProps) {
-    var parent = this;
-    var child;
-
-    // The constructor function for the new subclass is either defined by you
-    // (the "constructor" property in your `extend` definition), or defaulted
-    // by us to simply call the parent's constructor.
-    if (protoProps && _.has(protoProps, 'constructor')) {
-      child = protoProps.constructor;
-    } else {
-      child = function(){ return parent.apply(this, arguments); };
-    }
-
-    // Add static properties to the constructor function, if supplied.
-    _.extend(child, parent, staticProps);
-
-    // Set the prototype chain to inherit from `parent`, without calling
-    // `parent`'s constructor function.
-    var Surrogate = function(){ this.constructor = child; };
-    Surrogate.prototype = parent.prototype;
-    child.prototype = new Surrogate;
-
-    // Add prototype properties (instance properties) to the subclass,
-    // if supplied.
-    if (protoProps) _.extend(child.prototype, protoProps);
-
-    // Set a convenience property in case the parent's prototype is needed
-    // later.
-    child.__super__ = parent.prototype;
-
-    return child;
-  };
-
-  // Set up inheritance for the model, collection, router, view and history.
-  Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend;
-
-  // Throw an error when a URL is needed, and none is supplied.
-  var urlError = function() {
-    throw new Error('A "url" property or function must be specified');
-  };
-
-  // Wrap an optional error callback with a fallback error event.
-  var wrapError = function(model, options) {
-    var error = options.error;
-    options.error = function(resp) {
-      if (error) error(model, resp, options);
-      model.trigger('error', model, resp, options);
-    };
-  };
-
-}).call(this);
\ No newline at end of file


[09/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/keyword_tree.js
----------------------------------------------------------------------
diff --git a/public/javascripts/keyword_tree.js b/public/javascripts/keyword_tree.js
deleted file mode 100644
index 572dfd5..0000000
--- a/public/javascripts/keyword_tree.js
+++ /dev/null
@@ -1,58 +0,0 @@
-$(function () {
-    var checked_ids;
-    $('#jstree_div')
-        .jstree({
-            'core': {
-                'data': {
-                    'url': '/climate/keywordTree/', // the URL to fetch the data. Use relative url if required}
-                    'data': function (node) {
-                        return { 'id': node.id };
-                    }
-                }
-            },
-            "checkbox": {
-                "keep_selected_style": false
-            },
-            "state": {
-                "key": "keyword_tree"
-            },
-            "plugins": [ "checkbox", "state"]
-        })
-        .on('changed.jstree', function (e, data) {
-            var checked_texts = [];
-//            var selected = $('#jstree_div').jstree(true).get_selected(true)
-//                .each (function () {
-//                checked_texts.push(this.text);
-//            });
-            console.log(checked_texts);
-        });
-
-
-//built in filter of tree (search plugin)
-    var to = false;
-    $('#jstree_div_q').keyup(function () {
-        if (to) {
-            clearTimeout(to);
-        }
-        to = setTimeout(function () {
-            var v = $('#jstree_div_q').val();
-            $('#jstree_div').jstree(true).search(v);
-        }, 250);
-    });
-
-    $('#submit').click(function () {
-        var data = $("#jstree_div").jstree(true).get_checked(true);
-        var json = JSON.stringify(data);
-        console.log(json);
-        $.ajax({
-            type: "POST",
-            url: "/climate/recommendation/selectedKeywordSearch",
-            contentType: "application/json",
-            data: JSON.stringify(data),
-            success: function(){
-                location.reload();
-            }
-        });
-    });
-});
-

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/lastLoader.js
----------------------------------------------------------------------
diff --git a/public/javascripts/lastLoader.js b/public/javascripts/lastLoader.js
deleted file mode 100644
index bc85375..0000000
--- a/public/javascripts/lastLoader.js
+++ /dev/null
@@ -1,8 +0,0 @@
-$(document).ready(function() 
-    { 
-        $("#myTable").tablesorter(); 
-        $("#myTable2").tablesorter(); 
-        $("#myTable3").tablesorter();
-        $("#csTable").tablesorter(); 
-    } 
-); 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/livefitler.js
----------------------------------------------------------------------
diff --git a/public/javascripts/livefitler.js b/public/javascripts/livefitler.js
deleted file mode 100644
index 2bcf50a..0000000
--- a/public/javascripts/livefitler.js
+++ /dev/null
@@ -1,38 +0,0 @@
-$(document).ready(function () {
-    var oTable = $('.liveFilterList').dataTable( {
-        "oLanguage": {
-            "sSearch": "Search all columns:"
-        }
-    });
-    
-      $("tfoot input").keyup( function () {
-        /* Filter on the column (the index) of this element */
-        oTable.fnFilter( this.value, $("tfoot input").index(this) );
-    } );
-    
-     /*
-     * Support functions to provide a little bit of 'user friendlyness' to the textboxes in 
-     * the footer
-     */
-    $("tfoot input").each( function (i) {
-        asInitVals[i] = this.value;
-    } );
-     
-    $("tfoot input").focus( function () {
-        if ( this.className == "search_init" )
-        {
-            this.className = "";
-            this.value = "";
-        }
-    } );
-     
-    $("tfoot input").blur( function (i) {
-        if ( this.value == "" )
-        {
-            this.className = "search_init";
-            this.value = asInitVals[$("tfoot input").index(this)];
-        }
-    } );
-
-
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/underscore-1.5.2.js
----------------------------------------------------------------------
diff --git a/public/javascripts/underscore-1.5.2.js b/public/javascripts/underscore-1.5.2.js
deleted file mode 100644
index a3cf397..0000000
--- a/public/javascripts/underscore-1.5.2.js
+++ /dev/null
@@ -1,1276 +0,0 @@
-//     Underscore.js 1.5.2
-//     http://underscorejs.org
-//     (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
-//     Underscore may be freely distributed under the MIT license.
-
-(function() {
-
-  // Baseline setup
-  // --------------
-
-  // Establish the root object, `window` in the browser, or `exports` on the server.
-  var root = this;
-
-  // Save the previous value of the `_` variable.
-  var previousUnderscore = root._;
-
-  // Establish the object that gets returned to break out of a loop iteration.
-  var breaker = {};
-
-  // Save bytes in the minified (but not gzipped) version:
-  var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
-
-  // Create quick reference variables for speed access to core prototypes.
-  var
-    push             = ArrayProto.push,
-    slice            = ArrayProto.slice,
-    concat           = ArrayProto.concat,
-    toString         = ObjProto.toString,
-    hasOwnProperty   = ObjProto.hasOwnProperty;
-
-  // All **ECMAScript 5** native function implementations that we hope to use
-  // are declared here.
-  var
-    nativeForEach      = ArrayProto.forEach,
-    nativeMap          = ArrayProto.map,
-    nativeReduce       = ArrayProto.reduce,
-    nativeReduceRight  = ArrayProto.reduceRight,
-    nativeFilter       = ArrayProto.filter,
-    nativeEvery        = ArrayProto.every,
-    nativeSome         = ArrayProto.some,
-    nativeIndexOf      = ArrayProto.indexOf,
-    nativeLastIndexOf  = ArrayProto.lastIndexOf,
-    nativeIsArray      = Array.isArray,
-    nativeKeys         = Object.keys,
-    nativeBind         = FuncProto.bind;
-
-  // Create a safe reference to the Underscore object for use below.
-  var _ = function(obj) {
-    if (obj instanceof _) return obj;
-    if (!(this instanceof _)) return new _(obj);
-    this._wrapped = obj;
-  };
-
-  // Export the Underscore object for **Node.js**, with
-  // backwards-compatibility for the old `require()` API. If we're in
-  // the browser, add `_` as a global object via a string identifier,
-  // for Closure Compiler "advanced" mode.
-  if (typeof exports !== 'undefined') {
-    if (typeof module !== 'undefined' && module.exports) {
-      exports = module.exports = _;
-    }
-    exports._ = _;
-  } else {
-    root._ = _;
-  }
-
-  // Current version.
-  _.VERSION = '1.5.2';
-
-  // Collection Functions
-  // --------------------
-
-  // The cornerstone, an `each` implementation, aka `forEach`.
-  // Handles objects with the built-in `forEach`, arrays, and raw objects.
-  // Delegates to **ECMAScript 5**'s native `forEach` if available.
-  var each = _.each = _.forEach = function(obj, iterator, context) {
-    if (obj == null) return;
-    if (nativeForEach && obj.forEach === nativeForEach) {
-      obj.forEach(iterator, context);
-    } else if (obj.length === +obj.length) {
-      for (var i = 0, length = obj.length; i < length; i++) {
-        if (iterator.call(context, obj[i], i, obj) === breaker) return;
-      }
-    } else {
-      var keys = _.keys(obj);
-      for (var i = 0, length = keys.length; i < length; i++) {
-        if (iterator.call(context, obj[keys[i]], keys[i], obj) === breaker) return;
-      }
-    }
-  };
-
-  // Return the results of applying the iterator to each element.
-  // Delegates to **ECMAScript 5**'s native `map` if available.
-  _.map = _.collect = function(obj, iterator, context) {
-    var results = [];
-    if (obj == null) return results;
-    if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);
-    each(obj, function(value, index, list) {
-      results.push(iterator.call(context, value, index, list));
-    });
-    return results;
-  };
-
-  var reduceError = 'Reduce of empty array with no initial value';
-
-  // **Reduce** builds up a single result from a list of values, aka `inject`,
-  // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available.
-  _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) {
-    var initial = arguments.length > 2;
-    if (obj == null) obj = [];
-    if (nativeReduce && obj.reduce === nativeReduce) {
-      if (context) iterator = _.bind(iterator, context);
-      return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator);
-    }
-    each(obj, function(value, index, list) {
-      if (!initial) {
-        memo = value;
-        initial = true;
-      } else {
-        memo = iterator.call(context, memo, value, index, list);
-      }
-    });
-    if (!initial) throw new TypeError(reduceError);
-    return memo;
-  };
-
-  // The right-associative version of reduce, also known as `foldr`.
-  // Delegates to **ECMAScript 5**'s native `reduceRight` if available.
-  _.reduceRight = _.foldr = function(obj, iterator, memo, context) {
-    var initial = arguments.length > 2;
-    if (obj == null) obj = [];
-    if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {
-      if (context) iterator = _.bind(iterator, context);
-      return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);
-    }
-    var length = obj.length;
-    if (length !== +length) {
-      var keys = _.keys(obj);
-      length = keys.length;
-    }
-    each(obj, function(value, index, list) {
-      index = keys ? keys[--length] : --length;
-      if (!initial) {
-        memo = obj[index];
-        initial = true;
-      } else {
-        memo = iterator.call(context, memo, obj[index], index, list);
-      }
-    });
-    if (!initial) throw new TypeError(reduceError);
-    return memo;
-  };
-
-  // Return the first value which passes a truth test. Aliased as `detect`.
-  _.find = _.detect = function(obj, iterator, context) {
-    var result;
-    any(obj, function(value, index, list) {
-      if (iterator.call(context, value, index, list)) {
-        result = value;
-        return true;
-      }
-    });
-    return result;
-  };
-
-  // Return all the elements that pass a truth test.
-  // Delegates to **ECMAScript 5**'s native `filter` if available.
-  // Aliased as `select`.
-  _.filter = _.select = function(obj, iterator, context) {
-    var results = [];
-    if (obj == null) return results;
-    if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context);
-    each(obj, function(value, index, list) {
-      if (iterator.call(context, value, index, list)) results.push(value);
-    });
-    return results;
-  };
-
-  // Return all the elements for which a truth test fails.
-  _.reject = function(obj, iterator, context) {
-    return _.filter(obj, function(value, index, list) {
-      return !iterator.call(context, value, index, list);
-    }, context);
-  };
-
-  // Determine whether all of the elements match a truth test.
-  // Delegates to **ECMAScript 5**'s native `every` if available.
-  // Aliased as `all`.
-  _.every = _.all = function(obj, iterator, context) {
-    iterator || (iterator = _.identity);
-    var result = true;
-    if (obj == null) return result;
-    if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context);
-    each(obj, function(value, index, list) {
-      if (!(result = result && iterator.call(context, value, index, list))) return breaker;
-    });
-    return !!result;
-  };
-
-  // Determine if at least one element in the object matches a truth test.
-  // Delegates to **ECMAScript 5**'s native `some` if available.
-  // Aliased as `any`.
-  var any = _.some = _.any = function(obj, iterator, context) {
-    iterator || (iterator = _.identity);
-    var result = false;
-    if (obj == null) return result;
-    if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context);
-    each(obj, function(value, index, list) {
-      if (result || (result = iterator.call(context, value, index, list))) return breaker;
-    });
-    return !!result;
-  };
-
-  // Determine if the array or object contains a given value (using `===`).
-  // Aliased as `include`.
-  _.contains = _.include = function(obj, target) {
-    if (obj == null) return false;
-    if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1;
-    return any(obj, function(value) {
-      return value === target;
-    });
-  };
-
-  // Invoke a method (with arguments) on every item in a collection.
-  _.invoke = function(obj, method) {
-    var args = slice.call(arguments, 2);
-    var isFunc = _.isFunction(method);
-    return _.map(obj, function(value) {
-      return (isFunc ? method : value[method]).apply(value, args);
-    });
-  };
-
-  // Convenience version of a common use case of `map`: fetching a property.
-  _.pluck = function(obj, key) {
-    return _.map(obj, function(value){ return value[key]; });
-  };
-
-  // Convenience version of a common use case of `filter`: selecting only objects
-  // containing specific `key:value` pairs.
-  _.where = function(obj, attrs, first) {
-    if (_.isEmpty(attrs)) return first ? void 0 : [];
-    return _[first ? 'find' : 'filter'](obj, function(value) {
-      for (var key in attrs) {
-        if (attrs[key] !== value[key]) return false;
-      }
-      return true;
-    });
-  };
-
-  // Convenience version of a common use case of `find`: getting the first object
-  // containing specific `key:value` pairs.
-  _.findWhere = function(obj, attrs) {
-    return _.where(obj, attrs, true);
-  };
-
-  // Return the maximum element or (element-based computation).
-  // Can't optimize arrays of integers longer than 65,535 elements.
-  // See [WebKit Bug 80797](https://bugs.webkit.org/show_bug.cgi?id=80797)
-  _.max = function(obj, iterator, context) {
-    if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) {
-      return Math.max.apply(Math, obj);
-    }
-    if (!iterator && _.isEmpty(obj)) return -Infinity;
-    var result = {computed : -Infinity, value: -Infinity};
-    each(obj, function(value, index, list) {
-      var computed = iterator ? iterator.call(context, value, index, list) : value;
-      computed > result.computed && (result = {value : value, computed : computed});
-    });
-    return result.value;
-  };
-
-  // Return the minimum element (or element-based computation).
-  _.min = function(obj, iterator, context) {
-    if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) {
-      return Math.min.apply(Math, obj);
-    }
-    if (!iterator && _.isEmpty(obj)) return Infinity;
-    var result = {computed : Infinity, value: Infinity};
-    each(obj, function(value, index, list) {
-      var computed = iterator ? iterator.call(context, value, index, list) : value;
-      computed < result.computed && (result = {value : value, computed : computed});
-    });
-    return result.value;
-  };
-
-  // Shuffle an array, using the modern version of the 
-  // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).
-  _.shuffle = function(obj) {
-    var rand;
-    var index = 0;
-    var shuffled = [];
-    each(obj, function(value) {
-      rand = _.random(index++);
-      shuffled[index - 1] = shuffled[rand];
-      shuffled[rand] = value;
-    });
-    return shuffled;
-  };
-
-  // Sample **n** random values from an array.
-  // If **n** is not specified, returns a single random element from the array.
-  // The internal `guard` argument allows it to work with `map`.
-  _.sample = function(obj, n, guard) {
-    if (arguments.length < 2 || guard) {
-      return obj[_.random(obj.length - 1)];
-    }
-    return _.shuffle(obj).slice(0, Math.max(0, n));
-  };
-
-  // An internal function to generate lookup iterators.
-  var lookupIterator = function(value) {
-    return _.isFunction(value) ? value : function(obj){ return obj[value]; };
-  };
-
-  // Sort the object's values by a criterion produced by an iterator.
-  _.sortBy = function(obj, value, context) {
-    var iterator = lookupIterator(value);
-    return _.pluck(_.map(obj, function(value, index, list) {
-      return {
-        value: value,
-        index: index,
-        criteria: iterator.call(context, value, index, list)
-      };
-    }).sort(function(left, right) {
-      var a = left.criteria;
-      var b = right.criteria;
-      if (a !== b) {
-        if (a > b || a === void 0) return 1;
-        if (a < b || b === void 0) return -1;
-      }
-      return left.index - right.index;
-    }), 'value');
-  };
-
-  // An internal function used for aggregate "group by" operations.
-  var group = function(behavior) {
-    return function(obj, value, context) {
-      var result = {};
-      var iterator = value == null ? _.identity : lookupIterator(value);
-      each(obj, function(value, index) {
-        var key = iterator.call(context, value, index, obj);
-        behavior(result, key, value);
-      });
-      return result;
-    };
-  };
-
-  // Groups the object's values by a criterion. Pass either a string attribute
-  // to group by, or a function that returns the criterion.
-  _.groupBy = group(function(result, key, value) {
-    (_.has(result, key) ? result[key] : (result[key] = [])).push(value);
-  });
-
-  // Indexes the object's values by a criterion, similar to `groupBy`, but for
-  // when you know that your index values will be unique.
-  _.indexBy = group(function(result, key, value) {
-    result[key] = value;
-  });
-
-  // Counts instances of an object that group by a certain criterion. Pass
-  // either a string attribute to count by, or a function that returns the
-  // criterion.
-  _.countBy = group(function(result, key) {
-    _.has(result, key) ? result[key]++ : result[key] = 1;
-  });
-
-  // Use a comparator function to figure out the smallest index at which
-  // an object should be inserted so as to maintain order. Uses binary search.
-  _.sortedIndex = function(array, obj, iterator, context) {
-    iterator = iterator == null ? _.identity : lookupIterator(iterator);
-    var value = iterator.call(context, obj);
-    var low = 0, high = array.length;
-    while (low < high) {
-      var mid = (low + high) >>> 1;
-      iterator.call(context, array[mid]) < value ? low = mid + 1 : high = mid;
-    }
-    return low;
-  };
-
-  // Safely create a real, live array from anything iterable.
-  _.toArray = function(obj) {
-    if (!obj) return [];
-    if (_.isArray(obj)) return slice.call(obj);
-    if (obj.length === +obj.length) return _.map(obj, _.identity);
-    return _.values(obj);
-  };
-
-  // Return the number of elements in an object.
-  _.size = function(obj) {
-    if (obj == null) return 0;
-    return (obj.length === +obj.length) ? obj.length : _.keys(obj).length;
-  };
-
-  // Array Functions
-  // ---------------
-
-  // Get the first element of an array. Passing **n** will return the first N
-  // values in the array. Aliased as `head` and `take`. The **guard** check
-  // allows it to work with `_.map`.
-  _.first = _.head = _.take = function(array, n, guard) {
-    if (array == null) return void 0;
-    return (n == null) || guard ? array[0] : slice.call(array, 0, n);
-  };
-
-  // Returns everything but the last entry of the array. Especially useful on
-  // the arguments object. Passing **n** will return all the values in
-  // the array, excluding the last N. The **guard** check allows it to work with
-  // `_.map`.
-  _.initial = function(array, n, guard) {
-    return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n));
-  };
-
-  // Get the last element of an array. Passing **n** will return the last N
-  // values in the array. The **guard** check allows it to work with `_.map`.
-  _.last = function(array, n, guard) {
-    if (array == null) return void 0;
-    if ((n == null) || guard) {
-      return array[array.length - 1];
-    } else {
-      return slice.call(array, Math.max(array.length - n, 0));
-    }
-  };
-
-  // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.
-  // Especially useful on the arguments object. Passing an **n** will return
-  // the rest N values in the array. The **guard**
-  // check allows it to work with `_.map`.
-  _.rest = _.tail = _.drop = function(array, n, guard) {
-    return slice.call(array, (n == null) || guard ? 1 : n);
-  };
-
-  // Trim out all falsy values from an array.
-  _.compact = function(array) {
-    return _.filter(array, _.identity);
-  };
-
-  // Internal implementation of a recursive `flatten` function.
-  var flatten = function(input, shallow, output) {
-    if (shallow && _.every(input, _.isArray)) {
-      return concat.apply(output, input);
-    }
-    each(input, function(value) {
-      if (_.isArray(value) || _.isArguments(value)) {
-        shallow ? push.apply(output, value) : flatten(value, shallow, output);
-      } else {
-        output.push(value);
-      }
-    });
-    return output;
-  };
-
-  // Flatten out an array, either recursively (by default), or just one level.
-  _.flatten = function(array, shallow) {
-    return flatten(array, shallow, []);
-  };
-
-  // Return a version of the array that does not contain the specified value(s).
-  _.without = function(array) {
-    return _.difference(array, slice.call(arguments, 1));
-  };
-
-  // Produce a duplicate-free version of the array. If the array has already
-  // been sorted, you have the option of using a faster algorithm.
-  // Aliased as `unique`.
-  _.uniq = _.unique = function(array, isSorted, iterator, context) {
-    if (_.isFunction(isSorted)) {
-      context = iterator;
-      iterator = isSorted;
-      isSorted = false;
-    }
-    var initial = iterator ? _.map(array, iterator, context) : array;
-    var results = [];
-    var seen = [];
-    each(initial, function(value, index) {
-      if (isSorted ? (!index || seen[seen.length - 1] !== value) : !_.contains(seen, value)) {
-        seen.push(value);
-        results.push(array[index]);
-      }
-    });
-    return results;
-  };
-
-  // Produce an array that contains the union: each distinct element from all of
-  // the passed-in arrays.
-  _.union = function() {
-    return _.uniq(_.flatten(arguments, true));
-  };
-
-  // Produce an array that contains every item shared between all the
-  // passed-in arrays.
-  _.intersection = function(array) {
-    var rest = slice.call(arguments, 1);
-    return _.filter(_.uniq(array), function(item) {
-      return _.every(rest, function(other) {
-        return _.indexOf(other, item) >= 0;
-      });
-    });
-  };
-
-  // Take the difference between one array and a number of other arrays.
-  // Only the elements present in just the first array will remain.
-  _.difference = function(array) {
-    var rest = concat.apply(ArrayProto, slice.call(arguments, 1));
-    return _.filter(array, function(value){ return !_.contains(rest, value); });
-  };
-
-  // Zip together multiple lists into a single array -- elements that share
-  // an index go together.
-  _.zip = function() {
-    var length = _.max(_.pluck(arguments, "length").concat(0));
-    var results = new Array(length);
-    for (var i = 0; i < length; i++) {
-      results[i] = _.pluck(arguments, '' + i);
-    }
-    return results;
-  };
-
-  // Converts lists into objects. Pass either a single array of `[key, value]`
-  // pairs, or two parallel arrays of the same length -- one of keys, and one of
-  // the corresponding values.
-  _.object = function(list, values) {
-    if (list == null) return {};
-    var result = {};
-    for (var i = 0, length = list.length; i < length; i++) {
-      if (values) {
-        result[list[i]] = values[i];
-      } else {
-        result[list[i][0]] = list[i][1];
-      }
-    }
-    return result;
-  };
-
-  // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**),
-  // we need this function. Return the position of the first occurrence of an
-  // item in an array, or -1 if the item is not included in the array.
-  // Delegates to **ECMAScript 5**'s native `indexOf` if available.
-  // If the array is large and already in sort order, pass `true`
-  // for **isSorted** to use binary search.
-  _.indexOf = function(array, item, isSorted) {
-    if (array == null) return -1;
-    var i = 0, length = array.length;
-    if (isSorted) {
-      if (typeof isSorted == 'number') {
-        i = (isSorted < 0 ? Math.max(0, length + isSorted) : isSorted);
-      } else {
-        i = _.sortedIndex(array, item);
-        return array[i] === item ? i : -1;
-      }
-    }
-    if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item, isSorted);
-    for (; i < length; i++) if (array[i] === item) return i;
-    return -1;
-  };
-
-  // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available.
-  _.lastIndexOf = function(array, item, from) {
-    if (array == null) return -1;
-    var hasIndex = from != null;
-    if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) {
-      return hasIndex ? array.lastIndexOf(item, from) : array.lastIndexOf(item);
-    }
-    var i = (hasIndex ? from : array.length);
-    while (i--) if (array[i] === item) return i;
-    return -1;
-  };
-
-  // Generate an integer Array containing an arithmetic progression. A port of
-  // the native Python `range()` function. See
-  // [the Python documentation](http://docs.python.org/library/functions.html#range).
-  _.range = function(start, stop, step) {
-    if (arguments.length <= 1) {
-      stop = start || 0;
-      start = 0;
-    }
-    step = arguments[2] || 1;
-
-    var length = Math.max(Math.ceil((stop - start) / step), 0);
-    var idx = 0;
-    var range = new Array(length);
-
-    while(idx < length) {
-      range[idx++] = start;
-      start += step;
-    }
-
-    return range;
-  };
-
-  // Function (ahem) Functions
-  // ------------------
-
-  // Reusable constructor function for prototype setting.
-  var ctor = function(){};
-
-  // Create a function bound to a given object (assigning `this`, and arguments,
-  // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if
-  // available.
-  _.bind = function(func, context) {
-    var args, bound;
-    if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));
-    if (!_.isFunction(func)) throw new TypeError;
-    args = slice.call(arguments, 2);
-    return bound = function() {
-      if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments)));
-      ctor.prototype = func.prototype;
-      var self = new ctor;
-      ctor.prototype = null;
-      var result = func.apply(self, args.concat(slice.call(arguments)));
-      if (Object(result) === result) return result;
-      return self;
-    };
-  };
-
-  // Partially apply a function by creating a version that has had some of its
-  // arguments pre-filled, without changing its dynamic `this` context.
-  _.partial = function(func) {
-    var args = slice.call(arguments, 1);
-    return function() {
-      return func.apply(this, args.concat(slice.call(arguments)));
-    };
-  };
-
-  // Bind all of an object's methods to that object. Useful for ensuring that
-  // all callbacks defined on an object belong to it.
-  _.bindAll = function(obj) {
-    var funcs = slice.call(arguments, 1);
-    if (funcs.length === 0) throw new Error("bindAll must be passed function names");
-    each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); });
-    return obj;
-  };
-
-  // Memoize an expensive function by storing its results.
-  _.memoize = function(func, hasher) {
-    var memo = {};
-    hasher || (hasher = _.identity);
-    return function() {
-      var key = hasher.apply(this, arguments);
-      return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments));
-    };
-  };
-
-  // Delays a function for the given number of milliseconds, and then calls
-  // it with the arguments supplied.
-  _.delay = function(func, wait) {
-    var args = slice.call(arguments, 2);
-    return setTimeout(function(){ return func.apply(null, args); }, wait);
-  };
-
-  // Defers a function, scheduling it to run after the current call stack has
-  // cleared.
-  _.defer = function(func) {
-    return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));
-  };
-
-  // Returns a function, that, when invoked, will only be triggered at most once
-  // during a given window of time. Normally, the throttled function will run
-  // as much as it can, without ever going more than once per `wait` duration;
-  // but if you'd like to disable the execution on the leading edge, pass
-  // `{leading: false}`. To disable execution on the trailing edge, ditto.
-  _.throttle = function(func, wait, options) {
-    var context, args, result;
-    var timeout = null;
-    var previous = 0;
-    options || (options = {});
-    var later = function() {
-      previous = options.leading === false ? 0 : new Date;
-      timeout = null;
-      result = func.apply(context, args);
-    };
-    return function() {
-      var now = new Date;
-      if (!previous && options.leading === false) previous = now;
-      var remaining = wait - (now - previous);
-      context = this;
-      args = arguments;
-      if (remaining <= 0) {
-        clearTimeout(timeout);
-        timeout = null;
-        previous = now;
-        result = func.apply(context, args);
-      } else if (!timeout && options.trailing !== false) {
-        timeout = setTimeout(later, remaining);
-      }
-      return result;
-    };
-  };
-
-  // Returns a function, that, as long as it continues to be invoked, will not
-  // be triggered. The function will be called after it stops being called for
-  // N milliseconds. If `immediate` is passed, trigger the function on the
-  // leading edge, instead of the trailing.
-  _.debounce = function(func, wait, immediate) {
-    var timeout, args, context, timestamp, result;
-    return function() {
-      context = this;
-      args = arguments;
-      timestamp = new Date();
-      var later = function() {
-        var last = (new Date()) - timestamp;
-        if (last < wait) {
-          timeout = setTimeout(later, wait - last);
-        } else {
-          timeout = null;
-          if (!immediate) result = func.apply(context, args);
-        }
-      };
-      var callNow = immediate && !timeout;
-      if (!timeout) {
-        timeout = setTimeout(later, wait);
-      }
-      if (callNow) result = func.apply(context, args);
-      return result;
-    };
-  };
-
-  // Returns a function that will be executed at most one time, no matter how
-  // often you call it. Useful for lazy initialization.
-  _.once = function(func) {
-    var ran = false, memo;
-    return function() {
-      if (ran) return memo;
-      ran = true;
-      memo = func.apply(this, arguments);
-      func = null;
-      return memo;
-    };
-  };
-
-  // Returns the first function passed as an argument to the second,
-  // allowing you to adjust arguments, run code before and after, and
-  // conditionally execute the original function.
-  _.wrap = function(func, wrapper) {
-    return function() {
-      var args = [func];
-      push.apply(args, arguments);
-      return wrapper.apply(this, args);
-    };
-  };
-
-  // Returns a function that is the composition of a list of functions, each
-  // consuming the return value of the function that follows.
-  _.compose = function() {
-    var funcs = arguments;
-    return function() {
-      var args = arguments;
-      for (var i = funcs.length - 1; i >= 0; i--) {
-        args = [funcs[i].apply(this, args)];
-      }
-      return args[0];
-    };
-  };
-
-  // Returns a function that will only be executed after being called N times.
-  _.after = function(times, func) {
-    return function() {
-      if (--times < 1) {
-        return func.apply(this, arguments);
-      }
-    };
-  };
-
-  // Object Functions
-  // ----------------
-
-  // Retrieve the names of an object's properties.
-  // Delegates to **ECMAScript 5**'s native `Object.keys`
-  _.keys = nativeKeys || function(obj) {
-    if (obj !== Object(obj)) throw new TypeError('Invalid object');
-    var keys = [];
-    for (var key in obj) if (_.has(obj, key)) keys.push(key);
-    return keys;
-  };
-
-  // Retrieve the values of an object's properties.
-  _.values = function(obj) {
-    var keys = _.keys(obj);
-    var length = keys.length;
-    var values = new Array(length);
-    for (var i = 0; i < length; i++) {
-      values[i] = obj[keys[i]];
-    }
-    return values;
-  };
-
-  // Convert an object into a list of `[key, value]` pairs.
-  _.pairs = function(obj) {
-    var keys = _.keys(obj);
-    var length = keys.length;
-    var pairs = new Array(length);
-    for (var i = 0; i < length; i++) {
-      pairs[i] = [keys[i], obj[keys[i]]];
-    }
-    return pairs;
-  };
-
-  // Invert the keys and values of an object. The values must be serializable.
-  _.invert = function(obj) {
-    var result = {};
-    var keys = _.keys(obj);
-    for (var i = 0, length = keys.length; i < length; i++) {
-      result[obj[keys[i]]] = keys[i];
-    }
-    return result;
-  };
-
-  // Return a sorted list of the function names available on the object.
-  // Aliased as `methods`
-  _.functions = _.methods = function(obj) {
-    var names = [];
-    for (var key in obj) {
-      if (_.isFunction(obj[key])) names.push(key);
-    }
-    return names.sort();
-  };
-
-  // Extend a given object with all the properties in passed-in object(s).
-  _.extend = function(obj) {
-    each(slice.call(arguments, 1), function(source) {
-      if (source) {
-        for (var prop in source) {
-          obj[prop] = source[prop];
-        }
-      }
-    });
-    return obj;
-  };
-
-  // Return a copy of the object only containing the whitelisted properties.
-  _.pick = function(obj) {
-    var copy = {};
-    var keys = concat.apply(ArrayProto, slice.call(arguments, 1));
-    each(keys, function(key) {
-      if (key in obj) copy[key] = obj[key];
-    });
-    return copy;
-  };
-
-   // Return a copy of the object without the blacklisted properties.
-  _.omit = function(obj) {
-    var copy = {};
-    var keys = concat.apply(ArrayProto, slice.call(arguments, 1));
-    for (var key in obj) {
-      if (!_.contains(keys, key)) copy[key] = obj[key];
-    }
-    return copy;
-  };
-
-  // Fill in a given object with default properties.
-  _.defaults = function(obj) {
-    each(slice.call(arguments, 1), function(source) {
-      if (source) {
-        for (var prop in source) {
-          if (obj[prop] === void 0) obj[prop] = source[prop];
-        }
-      }
-    });
-    return obj;
-  };
-
-  // Create a (shallow-cloned) duplicate of an object.
-  _.clone = function(obj) {
-    if (!_.isObject(obj)) return obj;
-    return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
-  };
-
-  // Invokes interceptor with the obj, and then returns obj.
-  // The primary purpose of this method is to "tap into" a method chain, in
-  // order to perform operations on intermediate results within the chain.
-  _.tap = function(obj, interceptor) {
-    interceptor(obj);
-    return obj;
-  };
-
-  // Internal recursive comparison function for `isEqual`.
-  var eq = function(a, b, aStack, bStack) {
-    // Identical objects are equal. `0 === -0`, but they aren't identical.
-    // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).
-    if (a === b) return a !== 0 || 1 / a == 1 / b;
-    // A strict comparison is necessary because `null == undefined`.
-    if (a == null || b == null) return a === b;
-    // Unwrap any wrapped objects.
-    if (a instanceof _) a = a._wrapped;
-    if (b instanceof _) b = b._wrapped;
-    // Compare `[[Class]]` names.
-    var className = toString.call(a);
-    if (className != toString.call(b)) return false;
-    switch (className) {
-      // Strings, numbers, dates, and booleans are compared by value.
-      case '[object String]':
-        // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is
-        // equivalent to `new String("5")`.
-        return a == String(b);
-      case '[object Number]':
-        // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for
-        // other numeric values.
-        return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b);
-      case '[object Date]':
-      case '[object Boolean]':
-        // Coerce dates and booleans to numeric primitive values. Dates are compared by their
-        // millisecond representations. Note that invalid dates with millisecond representations
-        // of `NaN` are not equivalent.
-        return +a == +b;
-      // RegExps are compared by their source patterns and flags.
-      case '[object RegExp]':
-        return a.source == b.source &&
-               a.global == b.global &&
-               a.multiline == b.multiline &&
-               a.ignoreCase == b.ignoreCase;
-    }
-    if (typeof a != 'object' || typeof b != 'object') return false;
-    // Assume equality for cyclic structures. The algorithm for detecting cyclic
-    // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
-    var length = aStack.length;
-    while (length--) {
-      // Linear search. Performance is inversely proportional to the number of
-      // unique nested structures.
-      if (aStack[length] == a) return bStack[length] == b;
-    }
-    // Objects with different constructors are not equivalent, but `Object`s
-    // from different frames are.
-    var aCtor = a.constructor, bCtor = b.constructor;
-    if (aCtor !== bCtor && !(_.isFunction(aCtor) && (aCtor instanceof aCtor) &&
-                             _.isFunction(bCtor) && (bCtor instanceof bCtor))) {
-      return false;
-    }
-    // Add the first object to the stack of traversed objects.
-    aStack.push(a);
-    bStack.push(b);
-    var size = 0, result = true;
-    // Recursively compare objects and arrays.
-    if (className == '[object Array]') {
-      // Compare array lengths to determine if a deep comparison is necessary.
-      size = a.length;
-      result = size == b.length;
-      if (result) {
-        // Deep compare the contents, ignoring non-numeric properties.
-        while (size--) {
-          if (!(result = eq(a[size], b[size], aStack, bStack))) break;
-        }
-      }
-    } else {
-      // Deep compare objects.
-      for (var key in a) {
-        if (_.has(a, key)) {
-          // Count the expected number of properties.
-          size++;
-          // Deep compare each member.
-          if (!(result = _.has(b, key) && eq(a[key], b[key], aStack, bStack))) break;
-        }
-      }
-      // Ensure that both objects contain the same number of properties.
-      if (result) {
-        for (key in b) {
-          if (_.has(b, key) && !(size--)) break;
-        }
-        result = !size;
-      }
-    }
-    // Remove the first object from the stack of traversed objects.
-    aStack.pop();
-    bStack.pop();
-    return result;
-  };
-
-  // Perform a deep comparison to check if two objects are equal.
-  _.isEqual = function(a, b) {
-    return eq(a, b, [], []);
-  };
-
-  // Is a given array, string, or object empty?
-  // An "empty" object has no enumerable own-properties.
-  _.isEmpty = function(obj) {
-    if (obj == null) return true;
-    if (_.isArray(obj) || _.isString(obj)) return obj.length === 0;
-    for (var key in obj) if (_.has(obj, key)) return false;
-    return true;
-  };
-
-  // Is a given value a DOM element?
-  _.isElement = function(obj) {
-    return !!(obj && obj.nodeType === 1);
-  };
-
-  // Is a given value an array?
-  // Delegates to ECMA5's native Array.isArray
-  _.isArray = nativeIsArray || function(obj) {
-    return toString.call(obj) == '[object Array]';
-  };
-
-  // Is a given variable an object?
-  _.isObject = function(obj) {
-    return obj === Object(obj);
-  };
-
-  // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp.
-  each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) {
-    _['is' + name] = function(obj) {
-      return toString.call(obj) == '[object ' + name + ']';
-    };
-  });
-
-  // Define a fallback version of the method in browsers (ahem, IE), where
-  // there isn't any inspectable "Arguments" type.
-  if (!_.isArguments(arguments)) {
-    _.isArguments = function(obj) {
-      return !!(obj && _.has(obj, 'callee'));
-    };
-  }
-
-  // Optimize `isFunction` if appropriate.
-  if (typeof (/./) !== 'function') {
-    _.isFunction = function(obj) {
-      return typeof obj === 'function';
-    };
-  }
-
-  // Is a given object a finite number?
-  _.isFinite = function(obj) {
-    return isFinite(obj) && !isNaN(parseFloat(obj));
-  };
-
-  // Is the given value `NaN`? (NaN is the only number which does not equal itself).
-  _.isNaN = function(obj) {
-    return _.isNumber(obj) && obj != +obj;
-  };
-
-  // Is a given value a boolean?
-  _.isBoolean = function(obj) {
-    return obj === true || obj === false || toString.call(obj) == '[object Boolean]';
-  };
-
-  // Is a given value equal to null?
-  _.isNull = function(obj) {
-    return obj === null;
-  };
-
-  // Is a given variable undefined?
-  _.isUndefined = function(obj) {
-    return obj === void 0;
-  };
-
-  // Shortcut function for checking if an object has a given property directly
-  // on itself (in other words, not on a prototype).
-  _.has = function(obj, key) {
-    return hasOwnProperty.call(obj, key);
-  };
-
-  // Utility Functions
-  // -----------------
-
-  // Run Underscore.js in *noConflict* mode, returning the `_` variable to its
-  // previous owner. Returns a reference to the Underscore object.
-  _.noConflict = function() {
-    root._ = previousUnderscore;
-    return this;
-  };
-
-  // Keep the identity function around for default iterators.
-  _.identity = function(value) {
-    return value;
-  };
-
-  // Run a function **n** times.
-  _.times = function(n, iterator, context) {
-    var accum = Array(Math.max(0, n));
-    for (var i = 0; i < n; i++) accum[i] = iterator.call(context, i);
-    return accum;
-  };
-
-  // Return a random integer between min and max (inclusive).
-  _.random = function(min, max) {
-    if (max == null) {
-      max = min;
-      min = 0;
-    }
-    return min + Math.floor(Math.random() * (max - min + 1));
-  };
-
-  // List of HTML entities for escaping.
-  var entityMap = {
-    escape: {
-      '&': '&amp;',
-      '<': '&lt;',
-      '>': '&gt;',
-      '"': '&quot;',
-      "'": '&#x27;'
-    }
-  };
-  entityMap.unescape = _.invert(entityMap.escape);
-
-  // Regexes containing the keys and values listed immediately above.
-  var entityRegexes = {
-    escape:   new RegExp('[' + _.keys(entityMap.escape).join('') + ']', 'g'),
-    unescape: new RegExp('(' + _.keys(entityMap.unescape).join('|') + ')', 'g')
-  };
-
-  // Functions for escaping and unescaping strings to/from HTML interpolation.
-  _.each(['escape', 'unescape'], function(method) {
-    _[method] = function(string) {
-      if (string == null) return '';
-      return ('' + string).replace(entityRegexes[method], function(match) {
-        return entityMap[method][match];
-      });
-    };
-  });
-
-  // If the value of the named `property` is a function then invoke it with the
-  // `object` as context; otherwise, return it.
-  _.result = function(object, property) {
-    if (object == null) return void 0;
-    var value = object[property];
-    return _.isFunction(value) ? value.call(object) : value;
-  };
-
-  // Add your own custom functions to the Underscore object.
-  _.mixin = function(obj) {
-    each(_.functions(obj), function(name) {
-      var func = _[name] = obj[name];
-      _.prototype[name] = function() {
-        var args = [this._wrapped];
-        push.apply(args, arguments);
-        return result.call(this, func.apply(_, args));
-      };
-    });
-  };
-
-  // Generate a unique integer id (unique within the entire client session).
-  // Useful for temporary DOM ids.
-  var idCounter = 0;
-  _.uniqueId = function(prefix) {
-    var id = ++idCounter + '';
-    return prefix ? prefix + id : id;
-  };
-
-  // By default, Underscore uses ERB-style template delimiters, change the
-  // following template settings to use alternative delimiters.
-  _.templateSettings = {
-    evaluate    : /<%([\s\S]+?)%>/g,
-    interpolate : /<%=([\s\S]+?)%>/g,
-    escape      : /<%-([\s\S]+?)%>/g
-  };
-
-  // When customizing `templateSettings`, if you don't want to define an
-  // interpolation, evaluation or escaping regex, we need one that is
-  // guaranteed not to match.
-  var noMatch = /(.)^/;
-
-  // Certain characters need to be escaped so that they can be put into a
-  // string literal.
-  var escapes = {
-    "'":      "'",
-    '\\':     '\\',
-    '\r':     'r',
-    '\n':     'n',
-    '\t':     't',
-    '\u2028': 'u2028',
-    '\u2029': 'u2029'
-  };
-
-  var escaper = /\\|'|\r|\n|\t|\u2028|\u2029/g;
-
-  // JavaScript micro-templating, similar to John Resig's implementation.
-  // Underscore templating handles arbitrary delimiters, preserves whitespace,
-  // and correctly escapes quotes within interpolated code.
-  _.template = function(text, data, settings) {
-    var render;
-    settings = _.defaults({}, settings, _.templateSettings);
-
-    // Combine delimiters into one regular expression via alternation.
-    var matcher = new RegExp([
-      (settings.escape || noMatch).source,
-      (settings.interpolate || noMatch).source,
-      (settings.evaluate || noMatch).source
-    ].join('|') + '|$', 'g');
-
-    // Compile the template source, escaping string literals appropriately.
-    var index = 0;
-    var source = "__p+='";
-    text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
-      source += text.slice(index, offset)
-        .replace(escaper, function(match) { return '\\' + escapes[match]; });
-
-      if (escape) {
-        source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
-      }
-      if (interpolate) {
-        source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
-      }
-      if (evaluate) {
-        source += "';\n" + evaluate + "\n__p+='";
-      }
-      index = offset + match.length;
-      return match;
-    });
-    source += "';\n";
-
-    // If a variable is not specified, place data values in local scope.
-    if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n';
-
-    source = "var __t,__p='',__j=Array.prototype.join," +
-      "print=function(){__p+=__j.call(arguments,'');};\n" +
-      source + "return __p;\n";
-
-    try {
-      render = new Function(settings.variable || 'obj', '_', source);
-    } catch (e) {
-      e.source = source;
-      throw e;
-    }
-
-    if (data) return render(data, _);
-    var template = function(data) {
-      return render.call(this, data, _);
-    };
-
-    // Provide the compiled function source as a convenience for precompilation.
-    template.source = 'function(' + (settings.variable || 'obj') + '){\n' + source + '}';
-
-    return template;
-  };
-
-  // Add a "chain" function, which will delegate to the wrapper.
-  _.chain = function(obj) {
-    return _(obj).chain();
-  };
-
-  // OOP
-  // ---------------
-  // If Underscore is called as a function, it returns a wrapped object that
-  // can be used OO-style. This wrapper holds altered versions of all the
-  // underscore functions. Wrapped objects may be chained.
-
-  // Helper function to continue chaining intermediate results.
-  var result = function(obj) {
-    return this._chain ? _(obj).chain() : obj;
-  };
-
-  // Add all of the Underscore functions to the wrapper object.
-  _.mixin(_);
-
-  // Add all mutator Array functions to the wrapper.
-  each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
-    var method = ArrayProto[name];
-    _.prototype[name] = function() {
-      var obj = this._wrapped;
-      method.apply(obj, arguments);
-      if ((name == 'shift' || name == 'splice') && obj.length === 0) delete obj[0];
-      return result.call(this, obj);
-    };
-  });
-
-  // Add all accessor Array functions to the wrapper.
-  each(['concat', 'join', 'slice'], function(name) {
-    var method = ArrayProto[name];
-    _.prototype[name] = function() {
-      return result.call(this, method.apply(this._wrapped, arguments));
-    };
-  });
-
-  _.extend(_.prototype, {
-
-    // Start chaining a wrapped Underscore object.
-    chain: function() {
-      this._chain = true;
-      return this;
-    },
-
-    // Extracts the result from a wrapped and chained object.
-    value: function() {
-      return this._wrapped;
-    }
-
-  });
-
-}).call(this);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/varList.js
----------------------------------------------------------------------
diff --git a/public/javascripts/varList.js b/public/javascripts/varList.js
deleted file mode 100644
index efa8b4a..0000000
--- a/public/javascripts/varList.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// shortName: [longName, groupName, dimension, timeRange],
-var varList = {
-"pr":       ["Precipitation Flux",                                "", 2, ""],    
-"clt":      ["Total Cloud Fraction",                              "", 2, ""],      
-"ts":       ["Surface Temperature",                               "", 2, ""],     
-"tos":      ["Sea Surface Temperature",                           "", 2, ""],         
-"uas":      ["Eastward Near-Surface Wind",                        "", 2, ""],            
-"vas":      ["Northward Near-Surface Wind",                       "", 2, ""],             
-"sfcWind":  ["Near-Surface Wind Speed",                           "", 2, ""],         
-"zos":      ["Sea Surface Height",                                "", 2, ""],    
-"lai":      ["Leaf Area Index",                                   "", 2, ""], 
-"zl":       ["Equivalent Water Height Over Land",                 "", 2, ""],                   
-"zo":       ["Equivalent Water Height Over Ocean",                "", 2, ""],                    
-"ohc700":   ["Ocean Heat Content Anomaly within 700 m Depth",     "", 2, ""],                
-"ohc2000":  ["Ocean Heat Content Anomaly within 2000 m Depth",    "", 2, ""],                
-"rlds":     ["Surface Downwelling Longwave Radiation",            "", 2, ""],                        
-"rsds":     ["Surface Downwelling Shortwave Radiation",           "", 2, ""],                         
-"rlus":     ["Surface Upwelling Longwave Radiation",              "", 2, ""],                      
-"rsus":     ["Surface Upwelling Shortwave Radiation",             "", 2, ""],                       
-"rldscs":   ["Surface Downwelling Clear-Sky Longwave Radiation",  "", 2, ""],             
-"rsdscs":   ["Surface Downwelling Clear-Sky Shortwave Radiation", "", 2, ""],                   
-"rsuscs":   ["Surface Upwelling Clear-Sky Shortwave Radiation",   "", 2, ""],                
-"rsdt":     ["TOA Incident Shortwave Radiation",                  "", 2, ""],                  
-"rlut":     ["TOA Outgoing Longwave Radiation",                   "", 2, ""],                 
-"rsut":     ["TOA Outgoing Shortwave Radiation",                  "", 2, ""],                  
-"rlutcs":   ["TOA Outgoing Clear-Sky Longwave Radiation",         "", 2, ""],       
-"rsutcs":   ["TOA Outgoing Clear-Sky Shortwave Radiation",        "", 2, ""],              
-"ta":       ["Air Temperature",                                   "", 3, ""], 
-"hus":      ["Specific Humidity",                                 "", 3, ""],   
-"cli":      ["Cloud Ice Water Content",                           "", 3, ""],         
-"clw":      ["Cloud Liquid Water Content",                        "", 3, ""],            
-"ot":       ["Ocean Temperature",                                 "", 3, ""],   
-"os":       ["Ocean Salinity",                                    "", 3, ""],
-"wap":      ["Vertical Wind Velocity",                            "", 3, ""],        
-"hur":      ["Relative Humidity",                                 "", 3, ""],   
-};

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/visualsearch.js
----------------------------------------------------------------------
diff --git a/public/javascripts/visualsearch.js b/public/javascripts/visualsearch.js
deleted file mode 100644
index 33bd88c..0000000
--- a/public/javascripts/visualsearch.js
+++ /dev/null
@@ -1,36 +0,0 @@
-
-(function(){var $=jQuery;if(!window.VS)window.VS={};if(!VS.app)VS.app={};if(!VS.ui)VS.ui={};if(!VS.model)VS.model={};if(!VS.utils)VS.utils={};VS.VERSION='0.5.0';VS.VisualSearch=function(options){var defaults={container:'',query:'',autosearch:true,unquotable:[],remainder:'text',showFacets:true,readOnly:false,callbacks:{search:$.noop,focus:$.noop,blur:$.noop,facetMatches:$.noop,valueMatches:$.noop,clearSearch:$.noop,removedFacet:$.noop}};this.options=_.extend({},defaults,options);this.options.callbacks=_.extend({},defaults.callbacks,options.callbacks);VS.app.hotkeys.initialize();this.searchQuery=new VS.model.SearchQuery();this.searchBox=new VS.ui.SearchBox({app:this,showFacets:this.options.showFacets});if(options.container){var searchBox=this.searchBox.render().el;$(this.options.container).html(searchBox);}
-this.searchBox.value(this.options.query||'');$(window).bind('unload',function(e){});return this;};VS.init=function(options){return new VS.VisualSearch(options);};})();(function(){var $=jQuery;VS.ui.SearchBox=Backbone.View.extend({id:'search',events:{'click .VS-cancel-search-box':'clearSearch','mousedown .VS-search-box':'maybeFocusSearch','dblclick .VS-search-box':'highlightSearch','click .VS-search-box':'maybeTripleClick'},initialize:function(options){this.options=_.extend({},this.options,options);this.app=this.options.app;this.flags={allSelected:false};this.facetViews=[];this.inputViews=[];_.bindAll(this,'renderFacets','_maybeDisableFacets','disableFacets','deselectAllFacets','addedFacet','removedFacet','changedFacet');this.app.searchQuery.bind('reset',this.renderFacets).bind('add',this.addedFacet).bind('remove',this.removedFacet).bind('change',this.changedFacet);$(document).bind('keydown',this._maybeDisableFacets);},render:function(){$(this.el).append(JST['search_box']({readOnly:t
 his.app.options.readOnly}));$(document.body).setMode('no','search');return this;},value:function(query){if(query==null)return this.serialize();return this.setQuery(query);},serialize:function(){var query=[];var inputViewsCount=this.inputViews.length;this.app.searchQuery.each(_.bind(function(facet,i){query.push(this.inputViews[i].value());query.push(facet.serialize());},this));if(inputViewsCount){query.push(this.inputViews[inputViewsCount-1].value());}
-return _.compact(query).join(' ');},selected:function(){return _.select(this.facetViews,function(view){return view.modes.editing=='is'||view.modes.selected=='is';});},selectedModels:function(){return _.pluck(this.selected(),'model');},setQuery:function(query){this.currentQuery=query;VS.app.SearchParser.parse(this.app,query);},viewPosition:function(view){var views=view.type=='facet'?this.facetViews:this.inputViews;var position=_.indexOf(views,view);if(position==-1)position=0;return position;},searchEvent:function(e){var query=this.value();this.focusSearch(e);this.value(query);this.app.options.callbacks.search(query,this.app.searchQuery);},addFacet:function(category,initialQuery,position){category=VS.utils.inflector.trim(category);initialQuery=VS.utils.inflector.trim(initialQuery||'');if(!category)return;var model=new VS.model.SearchFacet({category:category,value:initialQuery||'',app:this.app});this.app.searchQuery.add(model,{at:position});},addedFacet:function(model){this.renderFacet
 s();var facetView=_.detect(this.facetViews,function(view){if(view.model==model)return true;});_.defer(function(){facetView.enableEdit();});},changedFacet:function(){this.renderFacets();},removedFacet:function(facet,query,options){this.app.options.callbacks.removedFacet(facet,query,options);},renderFacets:function(){this.facetViews=[];this.inputViews=[];this.$('.VS-search-inner').empty();this.app.searchQuery.each(_.bind(this.renderFacet,this));this.renderSearchInput();this.renderPlaceholder();},renderFacet:function(facet,position){var view=new VS.ui.SearchFacet({app:this.app,model:facet,order:position});this.renderSearchInput();this.facetViews.push(view);this.$('.VS-search-inner').children().eq(position*2).after(view.render().el);view.calculateSize();_.defer(_.bind(view.calculateSize,view));return view;},renderSearchInput:function(){var input=new VS.ui.SearchInput({position:this.inputViews.length,app:this.app,showFacets:this.options.showFacets});this.$('.VS-search-inner').append(inpu
 t.render().el);this.inputViews.push(input);},renderPlaceholder:function(){var $placeholder=this.$('.VS-placeholder');if(this.app.searchQuery.length){$placeholder.addClass("VS-hidden");}else{$placeholder.removeClass("VS-hidden").text(this.app.options.placeholder);}},clearSearch:function(e){if(this.app.options.readOnly)return;var actualClearSearch=_.bind(function(){this.disableFacets();this.value('');this.flags.allSelected=false;this.searchEvent(e);this.focusSearch(e);},this);if(this.app.options.callbacks.clearSearch!=$.noop){this.app.options.callbacks.clearSearch(actualClearSearch);}else{actualClearSearch();}},selectAllFacets:function(){this.flags.allSelected=true;$(document).one('click.selectAllFacets',this.deselectAllFacets);_.each(this.facetViews,function(facetView,i){facetView.selectFacet();});_.each(this.inputViews,function(inputView,i){inputView.selectText();});},allSelected:function(deselect){if(deselect)this.flags.allSelected=false;return this.flags.allSelected;},deselectAllF
 acets:function(e){this.disableFacets();if(this.$(e.target).is('.category,input')){var el=$(e.target).closest('.search_facet,.search_input');var view=_.detect(this.facetViews.concat(this.inputViews),function(v){return v.el==el[0];});if(view.type=='facet'){view.selectFacet();}else if(view.type=='input'){_.defer(function(){view.enableEdit(true);});}}},disableFacets:function(keepView){_.each(this.inputViews,function(view){if(view&&view!=keepView&&(view.modes.editing=='is'||view.modes.selected=='is')){view.disableEdit();}});_.each(this.facetViews,function(view){if(view&&view!=keepView&&(view.modes.editing=='is'||view.modes.selected=='is')){view.disableEdit();view.deselectFacet();}});this.flags.allSelected=false;this.removeFocus();$(document).unbind('click.selectAllFacets');},resizeFacets:function(view){_.each(this.facetViews,function(facetView,i){if(!view||facetView==view){facetView.resize();}});},_maybeDisableFacets:function(e){if(this.flags.allSelected&&VS.app.hotkeys.key(e)=='backspac
 e'){e.preventDefault();this.clearSearch(e);return false;}else if(this.flags.allSelected&&VS.app.hotkeys.printable(e)){this.clearSearch(e);}},focusNextFacet:function(currentView,direction,options){options=options||{};var viewCount=this.facetViews.length;var viewPosition=options.viewPosition||this.viewPosition(currentView);if(!options.skipToFacet){if(currentView.type=='text'&&direction>0)direction-=1;if(currentView.type=='facet'&&direction<0)direction+=1;}else if(options.skipToFacet&&currentView.type=='text'&&viewCount==viewPosition&&direction>=0){return false;}
-var view,next=Math.min(viewCount,viewPosition+direction);if(currentView.type=='text'){if(next>=0&&next<viewCount){view=this.facetViews[next];}else if(next==viewCount){view=this.inputViews[this.inputViews.length-1];}
-if(view&&options.selectFacet&&view.type=='facet'){view.selectFacet();}else if(view){view.enableEdit();view.setCursorAtEnd(direction||options.startAtEnd);}}else if(currentView.type=='facet'){if(options.skipToFacet){if(next>=viewCount||next<0){view=_.last(this.inputViews);view.enableEdit();}else{view=this.facetViews[next];view.enableEdit();view.setCursorAtEnd(direction||options.startAtEnd);}}else{view=this.inputViews[next];view.enableEdit();}}
-if(options.selectText)view.selectText();this.resizeFacets();return true;},maybeFocusSearch:function(e){if(this.app.options.readOnly)return;if($(e.target).is('.VS-search-box')||$(e.target).is('.VS-search-inner')||e.type=='keydown'){this.focusSearch(e);}},focusSearch:function(e,selectText){if(this.app.options.readOnly)return;var view=this.inputViews[this.inputViews.length-1];view.enableEdit(selectText);if(!selectText)view.setCursorAtEnd(-1);if(e.type=='keydown'){view.keydown(e);view.box.trigger('keydown');}
-_.defer(_.bind(function(){if(!this.$('input:focus').length){view.enableEdit(selectText);}},this));},highlightSearch:function(e){if(this.app.options.readOnly)return;if($(e.target).is('.VS-search-box')||$(e.target).is('.VS-search-inner')||e.type=='keydown'){var lastinput=this.inputViews[this.inputViews.length-1];lastinput.startTripleClickTimer();this.focusSearch(e,true);}},maybeTripleClick:function(e){var lastinput=this.inputViews[this.inputViews.length-1];return lastinput.maybeTripleClick(e);},addFocus:function(){if(this.app.options.readOnly)return;this.app.options.callbacks.focus();this.$('.VS-search-box').addClass('VS-focus');},removeFocus:function(){this.app.options.callbacks.blur();var focus=_.any(this.facetViews.concat(this.inputViews),function(view){return view.isFocused();});if(!focus)this.$('.VS-search-box').removeClass('VS-focus');},showFacetCategoryMenu:function(e){e.preventDefault();e.stopPropagation();if(this.facetCategoryMenu&&this.facetCategoryMenu.modes.open=='is'){ret
 urn this.facetCategoryMenu.close();}
-var items=[{title:'Account',onClick:_.bind(this.addFacet,this,'account','')},{title:'Project',onClick:_.bind(this.addFacet,this,'project','')},{title:'Filter',onClick:_.bind(this.addFacet,this,'filter','')},{title:'Access',onClick:_.bind(this.addFacet,this,'access','')}];var menu=this.facetCategoryMenu||(this.facetCategoryMenu=new dc.ui.Menu({items:items,standalone:true}));this.$('.VS-icon-search').after(menu.render().open().content);return false;}});})();(function(){var $=jQuery;VS.ui.SearchFacet=Backbone.View.extend({type:'facet',className:'search_facet',events:{'click .category':'selectFacet','keydown input':'keydown','mousedown input':'enableEdit','mouseover .VS-icon-cancel':'showDelete','mouseout .VS-icon-cancel':'hideDelete','click .VS-icon-cancel':'remove'},initialize:function(options){this.options=_.extend({},this.options,options);this.flags={canClose:false};_.bindAll(this,'set','keydown','deselectFacet','deferDisableEdit');this.app=this.options.app;},render:function(){$(thi
 s.el).html(JST['search_facet']({model:this.model,readOnly:this.app.options.readOnly}));this.setMode('not','editing');this.setMode('not','selected');this.box=this.$('input');this.box.val(this.model.label());this.box.bind('blur',this.deferDisableEdit);this.box.bind('input propertychange',this.keydown);this.setupAutocomplete();return this;},calculateSize:function(){this.box.autoGrowInput();this.box.unbind('updated.autogrow');this.box.bind('updated.autogrow',_.bind(this.moveAutocomplete,this));},resize:function(e){this.box.trigger('resize.autogrow',e);},setupAutocomplete:function(){this.box.autocomplete({source:_.bind(this.autocompleteValues,this),minLength:0,delay:0,autoFocus:true,position:{offset:"0 5"},create:_.bind(function(e,ui){$(this.el).find('.ui-autocomplete-input').css('z-index','auto');},this),select:_.bind(function(e,ui){e.preventDefault();var originalValue=this.model.get('value');this.set(ui.item.value);if(originalValue!=ui.item.value||this.box.val()!=ui.item.value){if(this
 .app.options.autosearch){this.search(e);}else{this.app.searchBox.renderFacets();this.app.searchBox.focusNextFacet(this,1,{viewPosition:this.options.order});}}
-return false;},this),open:_.bind(function(e,ui){var box=this.box;this.box.autocomplete('widget').find('.ui-menu-item').each(function(){var $value=$(this),autoCompleteData=$value.data('item.autocomplete')||$value.data('ui-autocomplete-item');if(autoCompleteData['value']==box.val()&&box.data('ui-autocomplete').menu.activate){box.data('ui-autocomplete').menu.activate(new $.Event("mouseover"),$value);}});},this)});this.box.autocomplete('widget').addClass('VS-interface');},moveAutocomplete:function(){var autocomplete=this.box.data('ui-autocomplete');if(autocomplete){autocomplete.menu.element.position({my:"left top",at:"left bottom",of:this.box.data('ui-autocomplete').element,collision:"flip",offset:"0 5"});}},searchAutocomplete:function(e){var autocomplete=this.box.data('ui-autocomplete');if(autocomplete){var menu=autocomplete.menu.element;autocomplete.search();menu.outerWidth(Math.max(menu.width('').outerWidth(),autocomplete.element.outerWidth()));}},closeAutocomplete:function(){var aut
 ocomplete=this.box.data('ui-autocomplete');if(autocomplete)autocomplete.close();},autocompleteValues:function(req,resp){var category=this.model.get('category');var value=this.model.get('value');var searchTerm=req.term;this.app.options.callbacks.valueMatches(category,searchTerm,function(matches,options){options=options||{};matches=matches||[];if(searchTerm&&value!=searchTerm){if(options.preserveMatches){resp(matches);}else{var re=VS.utils.inflector.escapeRegExp(searchTerm||'');var matcher=new RegExp('\\b'+re,'i');matches=$.grep(matches,function(item){return matcher.test(item)||matcher.test(item.value)||matcher.test(item.label);});}}
-if(options.preserveOrder){resp(matches);}else{resp(_.sortBy(matches,function(match){if(match==value||match.value==value)return'';else return match;}));}});},set:function(value){if(!value)return;this.model.set({'value':value});},search:function(e,direction){if(!direction)direction=1;this.closeAutocomplete();this.app.searchBox.searchEvent(e);_.defer(_.bind(function(){this.app.searchBox.focusNextFacet(this,direction,{viewPosition:this.options.order});},this));},enableEdit:function(){if(this.app.options.readOnly)return;if(this.modes.editing!='is'){this.setMode('is','editing');this.deselectFacet();if(this.box.val()==''){this.box.val(this.model.get('value'));}}
-this.flags.canClose=false;this.app.searchBox.disableFacets(this);this.app.searchBox.addFocus();_.defer(_.bind(function(){this.app.searchBox.addFocus();},this));this.resize();this.searchAutocomplete();this.box.focus();},deferDisableEdit:function(){this.flags.canClose=true;_.delay(_.bind(function(){if(this.flags.canClose&&!this.box.is(':focus')&&this.modes.editing=='is'&&this.modes.selected!='is'){this.disableEdit();}},this),250);},disableEdit:function(){var newFacetQuery=VS.utils.inflector.trim(this.box.val());if(newFacetQuery!=this.model.get('value')){this.set(newFacetQuery);}
-this.flags.canClose=false;this.box.selectRange(0,0);this.box.blur();this.setMode('not','editing');this.closeAutocomplete();this.app.searchBox.removeFocus();},selectFacet:function(e){if(e)e.preventDefault();if(this.app.options.readOnly)return;var allSelected=this.app.searchBox.allSelected();if(this.modes.selected=='is')return;if(this.box.is(':focus')){this.box.setCursorPosition(0);this.box.blur();}
-this.flags.canClose=false;this.closeAutocomplete();this.setMode('is','selected');this.setMode('not','editing');if(!allSelected||e){$(document).unbind('keydown.facet',this.keydown);$(document).unbind('click.facet',this.deselectFacet);_.defer(_.bind(function(){$(document).unbind('keydown.facet').bind('keydown.facet',this.keydown);$(document).unbind('click.facet').one('click.facet',this.deselectFacet);},this));this.app.searchBox.disableFacets(this);this.app.searchBox.addFocus();}
-return false;},deselectFacet:function(e){if(e)e.preventDefault();if(this.modes.selected=='is'){this.setMode('not','selected');this.closeAutocomplete();this.app.searchBox.removeFocus();}
-$(document).unbind('keydown.facet',this.keydown);$(document).unbind('click.facet',this.deselectFacet);return false;},isFocused:function(){return this.box.is(':focus');},showDelete:function(){$(this.el).addClass('search_facet_maybe_delete');},hideDelete:function(){$(this.el).removeClass('search_facet_maybe_delete');},setCursorAtEnd:function(direction){if(direction==-1){this.box.setCursorPosition(this.box.val().length);}else{this.box.setCursorPosition(0);}},remove:function(e){var committed=this.model.get('value');this.deselectFacet();this.disableEdit();this.app.searchQuery.remove(this.model);if(committed&&this.app.options.autosearch){this.search(e,-1);}else{this.app.searchBox.renderFacets();this.app.searchBox.focusNextFacet(this,-1,{viewPosition:this.options.order});}},selectText:function(){this.box.selectRange(0,this.box.val().length);},keydown:function(e){var key=VS.app.hotkeys.key(e);if(key=='enter'&&this.box.val()){this.disableEdit();this.search(e);}else if(key=='left'){if(this.mo
 des.selected=='is'){this.deselectFacet();this.app.searchBox.focusNextFacet(this,-1,{startAtEnd:-1});}else if(this.box.getCursorPosition()==0&&!this.box.getSelection().length){this.selectFacet();}}else if(key=='right'){if(this.modes.selected=='is'){e.preventDefault();this.deselectFacet();this.setCursorAtEnd(0);this.enableEdit();}else if(this.box.getCursorPosition()==this.box.val().length){e.preventDefault();this.disableEdit();this.app.searchBox.focusNextFacet(this,1);}}else if(VS.app.hotkeys.shift&&key=='tab'){e.preventDefault();this.app.searchBox.focusNextFacet(this,-1,{startAtEnd:-1,skipToFacet:true,selectText:true});}else if(key=='tab'){e.preventDefault();this.app.searchBox.focusNextFacet(this,1,{skipToFacet:true,selectText:true});}else if(VS.app.hotkeys.command&&(e.which==97||e.which==65)){e.preventDefault();this.app.searchBox.selectAllFacets();return false;}else if(VS.app.hotkeys.printable(e)&&this.modes.selected=='is'){this.app.searchBox.focusNextFacet(this,-1,{startAtEnd:-1});
 this.remove(e);}else if(key=='backspace'){$(document).on('keydown.backspace',function(e){if(VS.app.hotkeys.key(e)==='backspace'){e.preventDefault();}});$(document).on('keyup.backspace',function(e){$(document).off('.backspace');});if(this.modes.selected=='is'){e.preventDefault();this.remove(e);}else if(this.box.getCursorPosition()==0&&!this.box.getSelection().length){e.preventDefault();this.selectFacet();}
-e.stopPropagation();}
-if(e.which==null){_.defer(_.bind(this.resize,this,e));}else{this.resize(e);}}});})();(function(){var $=jQuery;VS.ui.SearchInput=Backbone.View.extend({type:'text',className:'search_input ui-menu',events:{'keypress input':'keypress','keydown input':'keydown','keyup input':'keyup','click input':'maybeTripleClick','dblclick input':'startTripleClickTimer'},initialize:function(options){this.options=_.extend({},this.options,options);this.app=this.options.app;this.flags={canClose:false};_.bindAll(this,'removeFocus','addFocus','moveAutocomplete','deferDisableEdit');},render:function(){$(this.el).html(JST['search_input']({readOnly:this.app.options.readOnly}));this.setMode('not','editing');this.setMode('not','selected');this.box=this.$('input');this.box.autoGrowInput();this.box.bind('updated.autogrow',this.moveAutocomplete);this.box.bind('blur',this.deferDisableEdit);this.box.bind('focus',this.addFocus);this.setupAutocomplete();return this;},setupAutocomplete:function(){this.box.autocomplete({
 minLength:this.options.showFacets?0:1,delay:50,autoFocus:true,position:{offset:"0 -1"},source:_.bind(this.autocompleteValues,this),focus:function(){return false;},create:_.bind(function(e,ui){$(this.el).find('.ui-autocomplete-input').css('z-index','auto');},this),select:_.bind(function(e,ui){e.preventDefault();var remainder=this.addTextFacetRemainder(ui.item.label||ui.item.value);var position=this.options.position+(remainder?1:0);this.app.searchBox.addFacet(ui.item instanceof String?ui.item:ui.item.value,'',position);return false;},this)});this.box.data('ui-autocomplete')._renderMenu=function(ul,items){var category='';_.each(items,_.bind(function(item,i){if(item.category&&item.category!=category){ul.append('<li class="ui-autocomplete-category">'+item.category+'</li>');category=item.category;}
-if(this._renderItemData){this._renderItemData(ul,item);}else{this._renderItem(ul,item);}},this));};this.box.autocomplete('widget').addClass('VS-interface');},autocompleteValues:function(req,resp){var searchTerm=req.term;var lastWord=searchTerm.match(/\w+\*?$/);var re=VS.utils.inflector.escapeRegExp(lastWord&&lastWord[0]||'');this.app.options.callbacks.facetMatches(function(prefixes,options){options=options||{};prefixes=prefixes||[];var matcher=new RegExp('^'+re,'i');var matches=$.grep(prefixes,function(item){return item&&matcher.test(item.label||item);});if(options.preserveOrder){resp(matches);}else{resp(_.sortBy(matches,function(match){if(match.label)return match.category+'-'+match.label;else return match;}));}});},closeAutocomplete:function(){var autocomplete=this.box.data('ui-autocomplete');if(autocomplete)autocomplete.close();},moveAutocomplete:function(){var autocomplete=this.box.data('ui-autocomplete');if(autocomplete){autocomplete.menu.element.position({my:"left top",at:"left
  bottom",of:this.box.data('ui-autocomplete').element,collision:"none",offset:'0 -1'});}},searchAutocomplete:function(e){var autocomplete=this.box.data('ui-autocomplete');if(autocomplete){var menu=autocomplete.menu.element;autocomplete.search();menu.outerWidth(Math.max(menu.width('').outerWidth(),autocomplete.element.outerWidth()));}},addTextFacetRemainder:function(facetValue){var boxValue=this.box.val();var lastWord=boxValue.match(/\b(\w+)$/);if(!lastWord){return'';}
-var matcher=new RegExp(lastWord[0],"i");if(facetValue.search(matcher)==0){boxValue=boxValue.replace(/\b(\w+)$/,'');}
-boxValue=boxValue.replace('^\s+|\s+$','');if(boxValue){this.app.searchBox.addFacet(this.app.options.remainder,boxValue,this.options.position);}
-return boxValue;},enableEdit:function(selectText){this.addFocus();if(selectText){this.selectText();}
-this.box.focus();},addFocus:function(){this.flags.canClose=false;if(!this.app.searchBox.allSelected()){this.app.searchBox.disableFacets(this);}
-this.app.searchBox.addFocus();this.setMode('is','editing');this.setMode('not','selected');if(!this.app.searchBox.allSelected()){this.searchAutocomplete();}},disableEdit:function(){this.box.blur();this.removeFocus();},removeFocus:function(){this.flags.canClose=false;this.app.searchBox.removeFocus();this.setMode('not','editing');this.setMode('not','selected');this.closeAutocomplete();},deferDisableEdit:function(){this.flags.canClose=true;_.delay(_.bind(function(){if(this.flags.canClose&&!this.box.is(':focus')&&this.modes.editing=='is'){this.disableEdit();}},this),250);},startTripleClickTimer:function(){this.tripleClickTimer=setTimeout(_.bind(function(){this.tripleClickTimer=null;},this),500);},maybeTripleClick:function(e){if(this.app.options.readOnly)return;if(!!this.tripleClickTimer){e.preventDefault();this.app.searchBox.selectAllFacets();return false;}},isFocused:function(){return this.box.is(':focus');},value:function(){return this.box.val();},setCursorAtEnd:function(direction){if(
 direction==-1){this.box.setCursorPosition(this.box.val().length);}else{this.box.setCursorPosition(0);}},selectText:function(){this.box.selectRange(0,this.box.val().length);if(!this.app.searchBox.allSelected()){this.box.focus();}else{this.setMode('is','selected');}},search:function(e,direction){if(!direction)direction=0;this.closeAutocomplete();this.app.searchBox.searchEvent(e);_.defer(_.bind(function(){this.app.searchBox.focusNextFacet(this,direction);},this));},keypress:function(e){var key=VS.app.hotkeys.key(e);if(key=='enter'){return this.search(e,100);}else if(VS.app.hotkeys.colon(e)){this.box.trigger('resize.autogrow',e);var query=this.box.val();var prefixes=[];this.app.options.callbacks.facetMatches(function(p){prefixes=p;});var labels=_.map(prefixes,function(prefix){if(prefix.label)return prefix.label;else return prefix;});if(_.contains(labels,query)){e.preventDefault();var remainder=this.addTextFacetRemainder(query);var position=this.options.position+(remainder?1:0);this.app.
 searchBox.addFacet(query,'',position);return false;}}else if(key=='backspace'){if(this.box.getCursorPosition()==0&&!this.box.getSelection().length){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();this.app.searchBox.resizeFacets();return false;}}},keydown:function(e){var key=VS.app.hotkeys.key(e);if(key=='left'){if(this.box.getCursorPosition()==0){e.preventDefault();this.app.searchBox.focusNextFacet(this,-1,{startAtEnd:-1});}}else if(key=='right'){if(this.box.getCursorPosition()==this.box.val().length){e.preventDefault();this.app.searchBox.focusNextFacet(this,1,{selectFacet:true});}}else if(VS.app.hotkeys.shift&&key=='tab'){e.preventDefault();this.app.searchBox.focusNextFacet(this,-1,{selectText:true});}else if(key=='tab'){var value=this.box.val();if(value.length){e.preventDefault();var remainder=this.addTextFacetRemainder(value);var position=this.options.position+(remainder?1:0);if(value!=remainder){this.app.searchBox.addFacet(value,'',position);}}else{var foundF
 acet=this.app.searchBox.focusNextFacet(this,0,{skipToFacet:true,selectText:true});if(foundFacet){e.preventDefault();}}}else if(VS.app.hotkeys.command&&String.fromCharCode(e.which).toLowerCase()=='a'){e.preventDefault();this.app.searchBox.selectAllFacets();return false;}else if(key=='backspace'&&!this.app.searchBox.allSelected()){if(this.box.getCursorPosition()==0&&!this.box.getSelection().length){e.preventDefault();this.app.searchBox.focusNextFacet(this,-1,{backspace:true});return false;}}else if(key=='end'){var view=this.app.searchBox.inputViews[this.app.searchBox.inputViews.length-1];view.setCursorAtEnd(-1);}else if(key=='home'){var view=this.app.searchBox.inputViews[0];view.setCursorAtEnd(-1);}},keyup:function(e){this.box.trigger('resize.autogrow',e);}});})();(function(){var $=jQuery;Backbone.View.prototype.setMode=function(mode,group){this.modes||(this.modes={});if(this.modes[group]===mode)return;$(this.el).setMode(mode,group);this.modes[group]=mode;};})();(function(){var $=jQue
 ry;VS.app.hotkeys={KEYS:{'16':'shift','17':'command','91':'command','93':'command','224':'command','13':'enter','37':'left','38':'upArrow','39':'right','40':'downArrow','46':'delete','8':'backspace','35':'end','36':'home','9':'tab','188':'comma'},initialize:function(){_.bindAll(this,'down','up','blur');$(document).bind('keydown',this.down);$(document).bind('keyup',this.up);$(window).bind('blur',this.blur);},down:function(e){var key=this.KEYS[e.which];if(key)this[key]=true;},up:function(e){var key=this.KEYS[e.which];if(key)this[key]=false;},blur:function(e){for(var key in this.KEYS)this[this.KEYS[key]]=false;},key:function(e){return this.KEYS[e.which];},colon:function(e){var charCode=e.which;return charCode&&String.fromCharCode(charCode)==":";},printable:function(e){var code=e.which;if(e.type=='keydown'){if(code==32||(code>=48&&code<=90)||(code>=96&&code<=111)||(code>=186&&code<=192)||(code>=219&&code<=222)){return true;}}else{if((code>=32&&code<=126)||(code>=160&&code<=500)||(String
 .fromCharCode(code)==":")){return true;}}
-return false;}};})();(function(){var $=jQuery;VS.utils.inflector={trim:function(s){return s.trim?s.trim():s.replace(/^\s+|\s+$/g,'');},escapeRegExp:function(s){return s.replace(/([.*+?^${}()|[\]\/\\])/g,'\\$1');}};})();(function(){var $=jQuery;$.fn.extend({setMode:function(state,group){group=group||'mode';var re=new RegExp("\\w+_"+group+"(\\s|$)",'g');var mode=(state===null)?"":state+"_"+group;this.each(function(){this.className=(this.className.replace(re,'')+' '+mode).replace(/\s\s/g,' ');});return mode;},autoGrowInput:function(){return this.each(function(){var $input=$(this);var $tester=$('<div />').css({opacity:0,top:-9999,left:-9999,position:'absolute',whiteSpace:'nowrap'}).addClass('VS-input-width-tester').addClass('VS-interface');var events='keydown.autogrow keypress.autogrow '+'resize.autogrow change.autogrow';$input.next('.VS-input-width-tester').remove();$input.after($tester);$input.unbind(events).bind(events,function(e,realEvent){if(realEvent)e=realEvent;var value=$input.v
 al();if(VS.app.hotkeys.key(e)=='backspace'){var position=$input.getCursorPosition();if(position>0)value=value.slice(0,position-1)+
-value.slice(position,value.length);}else if(VS.app.hotkeys.printable(e)&&!VS.app.hotkeys.command){value+=String.fromCharCode(e.which);}
-value=value.replace(/&/g,'&amp;').replace(/\s/g,'&nbsp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');$tester.html(value);$input.width($tester.width()+3+parseInt($input.css('min-width')));$input.trigger('updated.autogrow');});$input.trigger('resize.autogrow');});},getCursorPosition:function(){var position=0;var input=this.get(0);if(document.selection){input.focus();var sel=document.selection.createRange();var selLen=document.selection.createRange().text.length;sel.moveStart('character',-input.value.length);position=sel.text.length-selLen;}else if(input&&$(input).is(':visible')&&input.selectionStart!=null){position=input.selectionStart;}
-return position;},setCursorPosition:function(position){return this.each(function(){return $(this).selectRange(position,position);});},selectRange:function(start,end){return this.filter(':visible').each(function(){if(this.setSelectionRange){this.focus();this.setSelectionRange(start,end);}else if(this.createTextRange){var range=this.createTextRange();range.collapse(true);range.moveEnd('character',end);range.moveStart('character',start);if(end-start>=0)range.select();}});},getSelection:function(){var input=this[0];if(input.selectionStart!=null){var start=input.selectionStart;var end=input.selectionEnd;return{start:start,end:end,length:end-start,text:input.value.substr(start,end-start)};}else if(document.selection){var range=document.selection.createRange();if(range){var textRange=input.createTextRange();var copyRange=textRange.duplicate();textRange.moveToBookmark(range.getBookmark());copyRange.setEndPoint('EndToStart',textRange);var start=copyRange.text.length;var end=start+range.text.
 length;return{start:start,end:end,length:end-start,text:range.text};}}
-return{start:0,end:0,length:0};}});if(false){window.console={};var _$ied;window.console.log=function(msg){if(_.isArray(msg)){var message=msg[0];var vars=_.map(msg.slice(1),function(arg){return JSON.stringify(arg);}).join(' - ');}
-if(!_$ied){_$ied=$('<div><ol></ol></div>').css({'position':'fixed','bottom':10,'left':10,'zIndex':20000,'width':$('body').width()-80,'border':'1px solid #000','padding':'10px','backgroundColor':'#fff','fontFamily':'arial,helvetica,sans-serif','fontSize':'11px'});$('body').append(_$ied);}
-var $message=$('<li>'+message+' - '+vars+'</li>').css({'borderBottom':'1px solid #999999'});_$ied.find('ol').append($message);_.delay(function(){$message.fadeOut(500);},5000);};}})();(function(){var $=jQuery;var QUOTES_RE="('[^']+'|\"[^\"]+\")";var FREETEXT_RE="('[^']+'|\"[^\"]+\"|[^'\"\\s]\\S*)";var CATEGORY_RE=FREETEXT_RE+':\\s*';VS.app.SearchParser={ALL_FIELDS:new RegExp(CATEGORY_RE+FREETEXT_RE,'g'),CATEGORY:new RegExp(CATEGORY_RE),parse:function(instance,query){var searchFacets=this._extractAllFacets(instance,query);instance.searchQuery.reset(searchFacets);return searchFacets;},_extractAllFacets:function(instance,query){var facets=[];var originalQuery=query;while(query){var category,value;originalQuery=query;var field=this._extractNextField(query);if(!field){category=instance.options.remainder;value=this._extractSearchText(query);query=VS.utils.inflector.trim(query.replace(value,''));}else if(field.indexOf(':')!=-1){category=field.match(this.CATEGORY)[1].replace(/(^['"]|['"]$)/g
 ,'');value=field.replace(this.CATEGORY,'').replace(/(^['"]|['"]$)/g,'');query=VS.utils.inflector.trim(query.replace(field,''));}else if(field.indexOf(':')==-1){category=instance.options.remainder;value=field;query=VS.utils.inflector.trim(query.replace(value,''));}
-if(category&&value){var searchFacet=new VS.model.SearchFacet({category:category,value:VS.utils.inflector.trim(value),app:instance});facets.push(searchFacet);}
-if(originalQuery==query)break;}
-return facets;},_extractNextField:function(query){var textRe=new RegExp('^\\s*(\\S+)\\s+(?='+QUOTES_RE+FREETEXT_RE+')');var textMatch=query.match(textRe);if(textMatch&&textMatch.length>=1){return textMatch[1];}else{return this._extractFirstField(query);}},_extractFirstField:function(query){var fields=query.match(this.ALL_FIELDS);return fields&&fields.length&&fields[0];},_extractSearchText:function(query){query=query||'';var text=VS.utils.inflector.trim(query.replace(this.ALL_FIELDS,''));return text;}};})();(function(){var $=jQuery;VS.model.SearchFacet=Backbone.Model.extend({serialize:function(){var category=this.quoteCategory(this.get('category'));var value=VS.utils.inflector.trim(this.get('value'));var remainder=this.get("app").options.remainder;if(!value)return'';if(!_.contains(this.get("app").options.unquotable||[],category)&&category!=remainder){value=this.quoteValue(value);}
-if(category!=remainder){category=category+': ';}else{category="";}
-return category+value;},quoteCategory:function(category){var hasDoubleQuote=(/"/).test(category);var hasSingleQuote=(/'/).test(category);var hasSpace=(/\s/).test(category);if(hasDoubleQuote&&!hasSingleQuote){return"'"+category+"'";}else if(hasSpace||(hasSingleQuote&&!hasDoubleQuote)){return'"'+category+'"';}else{return category;}},quoteValue:function(value){var hasDoubleQuote=(/"/).test(value);var hasSingleQuote=(/'/).test(value);if(hasDoubleQuote&&!hasSingleQuote){return"'"+value+"'";}else{return'"'+value+'"';}},label:function(){return this.get('label')||this.get('value');}});})();(function(){var $=jQuery;VS.model.SearchQuery=Backbone.Collection.extend({model:VS.model.SearchFacet,serialize:function(){return this.map(function(facet){return facet.serialize();}).join(' ');},facets:function(){return this.map(function(facet){var value={};value[facet.get('category')]=facet.get('value');return value;});},find:function(category){var facet=this.detect(function(facet){return facet.get('categ
 ory').toLowerCase()==category.toLowerCase();});return facet&&facet.get('value');},count:function(category){return this.select(function(facet){return facet.get('category').toLowerCase()==category.toLowerCase();}).length;},values:function(category){var facets=this.select(function(facet){return facet.get('category').toLowerCase()==category.toLowerCase();});return _.map(facets,function(facet){return facet.get('value');});},has:function(category,value){return this.any(function(facet){var categoryMatched=facet.get('category').toLowerCase()==category.toLowerCase();if(!value)return categoryMatched;return categoryMatched&&facet.get('value')==value;});},withoutCategory:function(){var categories=_.map(_.toArray(arguments),function(cat){return cat.toLowerCase();});return this.map(function(facet){if(!_.include(categories,facet.get('category').toLowerCase())){return facet.serialize();};}).join(' ');}});})();(function(){window.JST=window.JST||{};window.JST['search_box']=_.template('<div class="VS-
 search <% if (readOnly) { %>VS-readonly<% } %>">\n  <div class="VS-search-box-wrapper VS-search-box">\n    <div class="VS-icon VS-icon-search"></div>\n    <div class="VS-placeholder"></div>\n    <div class="VS-search-inner"></div>\n    <div class="VS-icon VS-icon-cancel VS-cancel-search-box" title="clear search"></div>\n  </div>\n</div>');window.JST['search_facet']=_.template('<% if (model.has(\'category\')) { %>\n  <div class="category"><%= model.get(\'category\') %>:</div>\n<% } %>\n\n<div class="search_facet_input_container">\n  <input type="text" class="search_facet_input ui-menu VS-interface" value="" <% if (readOnly) { %>disabled="disabled"<% } %> />\n</div>\n\n<div class="search_facet_remove VS-icon VS-icon-cancel"></div>');window.JST['search_input']=_.template('<input type="text" class="ui-menu" <% if (readOnly) { %>disabled="disabled"<% } %> />');})();
\ No newline at end of file


[44/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index d645695..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/NOTICE
----------------------------------------------------------------------
diff --git a/NOTICE b/NOTICE
deleted file mode 100644
index c0c89f8..0000000
--- a/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-Apache Climate Model Diagnostic Analyzer 
-Copyright 2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
deleted file mode 100644
index f1ba5d7..0000000
--- a/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-Apache Climate Model Diagnostic Analyzer
-================
-
-The Climate Model Diagnostic Analyzer (CMDA) provides web services for multi-aspect physics-based and phenomenon-oriented climate model performance evaluation and diagnosis through the comprehensive and synergistic use of multiple observational data, reanalysis data, and model outputs.
-
-Requirements
-============
-Java 1.6+ (http://www.oracle.com/technetwork/java/javase/downloads)
-
-Play 2.2.x (http://www.playframework.com/download)
-

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/activator
----------------------------------------------------------------------
diff --git a/activator b/activator
deleted file mode 100755
index 59c131b..0000000
--- a/activator
+++ /dev/null
@@ -1,334 +0,0 @@
-#!/bin/bash
-
-###  ------------------------------- ###
-###  Helper methods for BASH scripts ###
-###  ------------------------------- ###
-
-realpath () {
-(
-  TARGET_FILE="$1"
-
-  cd $(dirname "$TARGET_FILE")
-  TARGET_FILE=$(basename "$TARGET_FILE")
-
-  COUNT=0
-  while [ -L "$TARGET_FILE" -a $COUNT -lt 100 ]
-  do
-      TARGET_FILE=$(readlink "$TARGET_FILE")
-      cd $(dirname "$TARGET_FILE")
-      TARGET_FILE=$(basename "$TARGET_FILE")
-      COUNT=$(($COUNT + 1))
-  done
-
-  if [ "$TARGET_FILE" == "." -o "$TARGET_FILE" == ".." ]; then
-    cd "$TARGET_FILE"
-    TARGET_FILEPATH=
-  else
-    TARGET_FILEPATH=/$TARGET_FILE
-  fi
-
-  # make sure we grab the actual windows path, instead of cygwin's path.
-  if ! is_cygwin; then
-    echo "$(pwd -P)/$TARGET_FILE"
-  else
-    echo $(cygwinpath "$(pwd -P)/$TARGET_FILE")
-  fi
-)
-}
-
-# TODO - Do we need to detect msys?
-
-# Uses uname to detect if we're in the odd cygwin environment.
-is_cygwin() {
-  local os=$(uname -s)
-  case "$os" in
-    CYGWIN*) return 0 ;;
-    *)  return 1 ;;
-  esac
-}
-
-# This can fix cygwin style /cygdrive paths so we get the
-# windows style paths.
-cygwinpath() {
-  local file="$1"
-  if is_cygwin; then
-    echo $(cygpath -w $file)
-  else
-    echo $file
-  fi
-}
-
-# Make something URI friendly
-make_url() {
-  url="$1"
-  local nospaces=${url// /%20}
-  if is_cygwin; then
-    echo "/${nospaces//\\//}"
-  else
-    echo "$nospaces"
-  fi
-}
-
-# Detect if we should use JAVA_HOME or just try PATH.
-get_java_cmd() {
-  if [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]];  then
-    echo "$JAVA_HOME/bin/java"
-  else
-    echo "java"
-  fi
-}
-
-echoerr () {
-  echo 1>&2 "$@"
-}
-vlog () {
-  [[ $verbose || $debug ]] && echoerr "$@"
-}
-dlog () {
-  [[ $debug ]] && echoerr "$@"
-}
-execRunner () {
-  # print the arguments one to a line, quoting any containing spaces
-  [[ $verbose || $debug ]] && echo "# Executing command line:" && {
-    for arg; do
-      if printf "%s\n" "$arg" | grep -q ' '; then
-        printf "\"%s\"\n" "$arg"
-      else
-        printf "%s\n" "$arg"
-      fi
-    done
-    echo ""
-  }
-
-  exec "$@"
-}
-addJava () {
-  dlog "[addJava] arg = '$1'"
-  java_args=( "${java_args[@]}" "$1" )
-}
-addApp () {
-  dlog "[addApp] arg = '$1'"
-  sbt_commands=( "${app_commands[@]}" "$1" )
-}
-addResidual () {
-  dlog "[residual] arg = '$1'"
-  residual_args=( "${residual_args[@]}" "$1" )
-}
-addDebugger () {
-  addJava "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=$1"
-}
-addConfigOpts () {
-  dlog "[addConfigOpts] arg = '$*'"
-  for item in $*
-  do
-    addJava "$item"
-  done
-}
-# a ham-fisted attempt to move some memory settings in concert
-# so they need not be messed around with individually.
-get_mem_opts () {
-  local mem=${1:-1024}
-  local meta=$(( $mem / 4 ))
-  (( $meta > 256 )) || meta=256
-  (( $meta < 1024 )) || meta=1024
-
-  # default is to set memory options but this can be overridden by code section below
-  memopts="-Xms${mem}m -Xmx${mem}m"
-  if [[ "${java_version}" > "1.8" ]]; then
-    extmemopts="-XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=${meta}m"
-  else
-    extmemopts="-XX:PermSize=64m -XX:MaxPermSize=${meta}m"
-  fi
-
-  if [[ "${java_opts}" == *-Xmx* ]] || [[ "${java_opts}" == *-Xms* ]] || [[ "${java_opts}" == *-XX:MaxPermSize* ]] || [[ "${java_opts}" == *-XX:ReservedCodeCacheSize* ]] || [[ "${java_opts}" == *-XX:MaxMetaspaceSize* ]]; then
-    # if we detect any of these settings in ${java_opts} we need to NOT output our settings.
-    # The reason is the Xms/Xmx, if they don't line up, cause errors.
-    memopts=""
-    extmemopts=""
-  fi
-
-  echo "${memopts} ${extmemopts}"
-}
-require_arg () {
-  local type="$1"
-  local opt="$2"
-  local arg="$3"
-  if [[ -z "$arg" ]] || [[ "${arg:0:1}" == "-" ]]; then
-    die "$opt requires <$type> argument"
-  fi
-}
-is_function_defined() {
-  declare -f "$1" > /dev/null
-}
-
-# If we're *not* running in a terminal, and we don't have any arguments, then we need to add the 'ui' parameter
-detect_terminal_for_ui() {
-  [[ ! -t 0 ]] && [[ "${#residual_args}" == "0" ]] && {
-    addResidual "ui"
-  }
-  # SPECIAL TEST FOR MAC
-  [[ "$(uname)" == "Darwin" ]] && [[ "$HOME" == "$PWD" ]] && [[ "${#residual_args}" == "0" ]] && {
-    echo "Detected MAC OSX launched script...."
-    echo "Swapping to UI"
-    addResidual "ui"
-  }
-}
-
-# Processes incoming arguments and places them in appropriate global variables.  called by the run method.
-process_args () {
-  while [[ $# -gt 0 ]]; do
-    case "$1" in
-       -h|-help) usage; exit 1 ;;
-    -v|-verbose) verbose=1 && shift ;;
-      -d|-debug) debug=1 && shift ;;
-           -mem) require_arg integer "$1" "$2" && app_mem="$2" && shift 2 ;;
-     -jvm-debug) 
-        if echo "$2" | grep -E ^[0-9]+$ > /dev/null; then 
-            addDebugger "$2" && shift 
-        else
-            addDebugger 9999
-        fi 
-        shift ;;
-     -java-home) require_arg path "$1" "$2" && java_cmd="$2/bin/java" && shift 2 ;;
-            -D*) addJava "$1" && shift ;;
-            -J*) addJava "${1:2}" && shift ;;
-              *) addResidual "$1" && shift ;;
-    esac
-  done
-
-  is_function_defined process_my_args && {
-    myargs=("${residual_args[@]}")
-    residual_args=()
-    process_my_args "${myargs[@]}"
-  }
-}
-
-# Actually runs the script.
-run() {
-  # TODO - check for sane environment
-
-  # process the combined args, then reset "$@" to the residuals
-  process_args "$@"
-  detect_terminal_for_ui
-  set -- "${residual_args[@]}"
-  argumentCount=$#
-
-  #check for jline terminal fixes on cygwin
-  if is_cygwin; then
-    stty -icanon min 1 -echo > /dev/null 2>&1
-    addJava "-Djline.terminal=jline.UnixTerminal"
-    addJava "-Dsbt.cygwin=true"
-  fi
-
-  # run sbt
-  execRunner "$java_cmd" \
-    "-Dactivator.home=$(make_url "$activator_home")" \
-    $(get_mem_opts $app_mem) \
-    ${java_opts[@]} \
-    ${java_args[@]} \
-    -jar "$app_launcher" \
-    "${app_commands[@]}" \
-    "${residual_args[@]}"
-    
-  local exit_code=$?
-  if is_cygwin; then
-    stty icanon echo > /dev/null 2>&1
-  fi
-  exit $exit_code
-}
-
-# Loads a configuration file full of default command line options for this script.
-loadConfigFile() {
-  cat "$1" | sed '/^\#/d'
-}
-
-###  ------------------------------- ###
-###  Start of customized settings    ###
-###  ------------------------------- ###
-usage() {
- cat <<EOM
-Usage: $script_name <command> [options]
-
-  Command:
-  ui                 Start the Activator UI
-  new [name] [template-id]  Create a new project with [name] using template [template-id]
-  list-templates     Print all available template names
-  -h | -help         Print this message
-
-  Options:
-  -v | -verbose      Make this runner chattier
-  -d | -debug        Set sbt log level to debug
-  -mem <integer>     Set memory options (default: $sbt_mem, which is $(get_mem_opts $sbt_mem))
-  -jvm-debug <port>  Turn on JVM debugging, open at the given port.
-
-  # java version (default: java from PATH, currently $(java -version 2>&1 | grep version))
-  -java-home <path>  Alternate JAVA_HOME
-
-  # jvm options and output control
-  -Dkey=val          Pass -Dkey=val directly to the java runtime
-  -J-X               Pass option -X directly to the java runtime
-                     (-J is stripped)
-
-  # environment variables (read from context)
-  JAVA_OPTS          Environment variable, if unset uses ""
-  SBT_OPTS           Environment variable, if unset uses ""
-  ACTIVATOR_OPTS     Environment variable, if unset uses ""
-
-In the case of duplicated or conflicting options, the order above
-shows precedence: environment variables lowest, command line options highest.
-EOM
-}
-
-###  ------------------------------- ###
-###  Main script                     ###
-###  ------------------------------- ###
-
-declare -a residual_args
-declare -a java_args
-declare -a app_commands
-declare -r real_script_path="$(realpath "$0")"
-declare -r activator_home="$(realpath "$(dirname "$real_script_path")")"
-declare -r app_version="1.2.12"
-
-declare -r app_launcher="${activator_home}/activator-launch-${app_version}.jar"
-declare -r script_name=activator
-declare -r java_cmd=$(get_java_cmd)
-declare -r java_opts=( "${ACTIVATOR_OPTS[@]}" "${SBT_OPTS[@]}" "${JAVA_OPTS[@]}" "${java_opts[@]}" )
-userhome="$HOME"
-if is_cygwin; then
-  # cygwin sets home to something f-d up, set to real windows homedir
-  userhome="$USERPROFILE"
-fi
-declare -r activator_user_home_dir="${userhome}/.activator"
-declare -r java_opts_config_home="${activator_user_home_dir}/activatorconfig.txt"
-declare -r java_opts_config_version="${activator_user_home_dir}/${app_version}/activatorconfig.txt"
-
-# Now check to see if it's a good enough version
-declare -r java_version=$("$java_cmd" -version 2>&1 | awk -F '"' '/version/ {print $2}')
-if [[ "$java_version" == "" ]]; then
-  echo
-  echo No java installations was detected.
-  echo Please go to http://www.java.com/getjava/ and download
-  echo
-  exit 1
-elif [[ ! "$java_version" > "1.6" ]]; then
-  echo
-  echo The java installation you have is not up to date
-  echo Activator requires at least version 1.6+, you have
-  echo version $java_version
-  echo
-  echo Please go to http://www.java.com/getjava/ and download
-  echo a valid Java Runtime and install before running Activator.
-  echo
-  exit 1
-fi
-
-# if configuration files exist, prepend their contents to the java args so it can be processed by this runner
-# a "versioned" config trumps one on the top level
-if [[ -f "$java_opts_config_version" ]]; then
-  addConfigOpts $(loadConfigFile "$java_opts_config_version")
-elif [[ -f "$java_opts_config_home" ]]; then
-  addConfigOpts $(loadConfigFile "$java_opts_config_home")
-fi
-
-run "$@"

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/activator-launch-1.2.12.jar
----------------------------------------------------------------------
diff --git a/activator-launch-1.2.12.jar b/activator-launch-1.2.12.jar
deleted file mode 100644
index 4a8963c..0000000
Binary files a/activator-launch-1.2.12.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/activator-sbt-echo-play-shim.sbt
----------------------------------------------------------------------
diff --git a/activator-sbt-echo-play-shim.sbt b/activator-sbt-echo-play-shim.sbt
deleted file mode 100644
index 1ffdc88..0000000
--- a/activator-sbt-echo-play-shim.sbt
+++ /dev/null
@@ -1 +0,0 @@
-echoPlaySettings
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/activator.bat
----------------------------------------------------------------------
diff --git a/activator.bat b/activator.bat
deleted file mode 100644
index d078287..0000000
--- a/activator.bat
+++ /dev/null
@@ -1,227 +0,0 @@
-@REM activator launcher script
-@REM
-@REM Envioronment:
-@REM JAVA_HOME - location of a JDK home dir (optional if java on path)
-@REM CFG_OPTS  - JVM options (optional)
-@REM Configuration:
-@REM activatorconfig.txt found in the ACTIVATOR_HOME or ACTIVATOR_HOME/ACTIVATOR_VERSION
-@setlocal enabledelayedexpansion
-
-@echo off
-
-set "var1=%~1"
-if defined var1 (
-  if "%var1%"=="help" (
-    echo.
-    echo Usage activator [options] [command]
-    echo.
-    echo Commands:
-    echo ui                 Start the Activator UI
-    echo new [name] [template-id]  Create a new project with [name] using template [template-id]
-    echo list-templates     Print all available template names
-    echo help               Print this message
-    echo.
-    echo Options:
-    echo -jvm-debug [port]  Turn on JVM debugging, open at the given port.  Defaults to 9999 if no port given.
-    echo.
-    echo Environment variables ^(read from context^):
-    echo JAVA_OPTS          Environment variable, if unset uses ""
-    echo SBT_OPTS           Environment variable, if unset uses ""
-    echo ACTIVATOR_OPTS     Environment variable, if unset uses ""
-    echo.
-    goto :end
-  )
-)
-
-if "%ACTIVATOR_HOME%"=="" (
-	set "ACTIVATOR_HOME=%~dp0"
-	@REM remove trailing "\" from path
-	set ACTIVATOR_HOME=!ACTIVATOR_HOME:~0,-1!
-)
-
-set ERROR_CODE=0
-set APP_VERSION=1.2.12
-set ACTIVATOR_LAUNCH_JAR=activator-launch-%APP_VERSION%.jar
-
-rem Detect if we were double clicked, although theoretically A user could
-rem manually run cmd /c
-for %%x in (%cmdcmdline%) do if %%~x==/c set DOUBLECLICKED=1
-
-rem FIRST we load a config file of extra options (if there is one)
-set "CFG_FILE_HOME=%UserProfile%\.activator\activatorconfig.txt"
-set "CFG_FILE_VERSION=%UserProfile%\.activator\%APP_VERSION%\activatorconfig.txt"
-set CFG_OPTS=
-if exist %CFG_FILE_VERSION% (
-  FOR /F "tokens=* eol=# usebackq delims=" %%i IN ("%CFG_FILE_VERSION%") DO (
-    set DO_NOT_REUSE_ME=%%i
-    rem ZOMG (Part #2) WE use !! here to delay the expansion of
-    rem CFG_OPTS, otherwise it remains "" for this loop.
-    set CFG_OPTS=!CFG_OPTS! !DO_NOT_REUSE_ME!
-  )
-)
-if "%CFG_OPTS%"=="" (
-  if exist %CFG_FILE_HOME% (
-    FOR /F "tokens=* eol=# usebackq delims=" %%i IN ("%CFG_FILE_HOME%") DO (
-      set DO_NOT_REUSE_ME=%%i
-      rem ZOMG (Part #2) WE use !! here to delay the expansion of
-      rem CFG_OPTS, otherwise it remains "" for this loop.
-      set CFG_OPTS=!CFG_OPTS! !DO_NOT_REUSE_ME!
-    )
-  )
-)
-
-rem We use the value of the JAVACMD environment variable if defined
-set _JAVACMD=%JAVACMD%
-
-if "%_JAVACMD%"=="" (
-  if not "%JAVA_HOME%"=="" (
-    if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe"
-
-    rem if there is a java home set we make sure it is the first picked up when invoking 'java'
-    SET "PATH=%JAVA_HOME%\bin;%PATH%"
-  )
-)
-
-if "%_JAVACMD%"=="" set _JAVACMD=java
-
-rem Detect if this java is ok to use.
-for /F %%j in ('"%_JAVACMD%" -version  2^>^&1') do (
-  if %%~j==Java set JAVAINSTALLED=1
-)
-
-rem Detect the same thing about javac
-if "%_JAVACCMD%"=="" (
-  if not "%JAVA_HOME%"=="" (
-    if exist "%JAVA_HOME%\bin\javac.exe" set "_JAVACCMD=%JAVA_HOME%\bin\javac.exe"
-  )
-)
-if "%_JAVACCMD%"=="" set _JAVACCMD=javac
-for /F %%j in ('"%_JAVACCMD%" -version 2^>^&1') do (
-  if %%~j==javac set JAVACINSTALLED=1
-)
-
-rem BAT has no logical or, so we do it OLD SCHOOL! Oppan Redmond Style
-set JAVAOK=true
-if not defined JAVAINSTALLED set JAVAOK=false
-if not defined JAVACINSTALLED set JAVAOK=false
-
-if "%JAVAOK%"=="false" (
-  echo.
-  echo A Java JDK is not installed or can't be found.
-  if not "%JAVA_HOME%"=="" (
-    echo JAVA_HOME = "%JAVA_HOME%"
-  )
-  echo.
-  echo Please go to
-  echo   http://www.oracle.com/technetwork/java/javase/downloads/index.html
-  echo and download a valid Java JDK and install before running Activator.
-  echo.
-  echo If you think this message is in error, please check
-  echo your environment variables to see if "java.exe" and "javac.exe" are
-  echo available via JAVA_HOME or PATH.
-  echo.
-  if defined DOUBLECLICKED pause
-  exit /B 1
-)
-
-rem Check what Java version is being used to determine what memory options to use
-for /f "tokens=3" %%g in ('java -version 2^>^&1 ^| findstr /i "version"') do (
-    set JAVA_VERSION=%%g
-)
-
-rem Strips away the " characters
-set JAVA_VERSION=%JAVA_VERSION:"=%
-
-rem TODO Check if there are existing mem settings in JAVA_OPTS/CFG_OPTS and use those instead of the below
-for /f "delims=. tokens=1-3" %%v in ("%JAVA_VERSION%") do (
-    set MAJOR=%%v
-    set MINOR=%%w
-    set BUILD=%%x
-
-    set META_SIZE=-XX:MetaspaceSize=64M -XX:MaxMetaspaceSize=256M
-    if "!MINOR!" LSS "8" (
-      set META_SIZE=-XX:PermSize=64M -XX:MaxPermSize=256M
-    )
-
-    set MEM_OPTS=!META_SIZE!
- )
-
-rem We use the value of the JAVA_OPTS environment variable if defined, rather than the config.
-set _JAVA_OPTS=%JAVA_OPTS%
-if "%_JAVA_OPTS%"=="" set _JAVA_OPTS=%CFG_OPTS%
-
-set DEBUG_OPTS=
-
-rem Loop through the arguments, building remaining args in args variable
-set args=
-:argsloop
-if not "%~1"=="" (
-  rem Checks if the argument contains "-D" and if true, adds argument 1 with 2 and puts an equal sign between them.
-  rem This is done since batch considers "=" to be a delimiter so we need to circumvent this behavior with a small hack.
-  set arg1=%~1
-  if "!arg1:~0,2!"=="-D" (
-   	set "args=%args% "%~1"="%~2""
-    shift
-    shift
-    goto argsloop
-  )
-
-  if "%~1"=="-jvm-debug" (
-    if not "%~2"=="" (
-      rem This piece of magic somehow checks that an argument is a number
-      for /F "delims=0123456789" %%i in ("%~2") do (
-        set var="%%i"
-      )
-      if defined var (
-        rem Not a number, assume no argument given and default to 9999
-        set JPDA_PORT=9999
-      ) else (
-        rem Port was given, shift arguments
-        set JPDA_PORT=%~2
-        shift
-      )
-    ) else (
-      set JPDA_PORT=9999
-    )
-    shift
-
-    set DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=!JPDA_PORT!
-    goto argsloop
-  )
-  rem else
-  set "args=%args% "%~1""
-  shift
-  goto argsloop
-)
-
-:run
-
-if "!args!"=="" (
-  if defined DOUBLECLICKED (
-    set CMDS="ui"
-  ) else set CMDS=!args!
-) else set CMDS=!args!
-
-rem We add a / in front, so we get file:///C: instead of file://C:
-rem Java considers the later a UNC path.
-rem We also attempt a solid effort at making it URI friendly.
-rem We don't even bother with UNC paths.
-set JAVA_FRIENDLY_HOME_1=/!ACTIVATOR_HOME:\=/!
-set JAVA_FRIENDLY_HOME=/!JAVA_FRIENDLY_HOME_1: =%%20!
-
-rem Checks if the command contains spaces to know if it should be wrapped in quotes or not
-set NON_SPACED_CMD=%_JAVACMD: =%
-if "%_JAVACMD%"=="%NON_SPACED_CMD%" %_JAVACMD% %DEBUG_OPTS% %MEM_OPTS% %ACTIVATOR_OPTS% %SBT_OPTS% %_JAVA_OPTS% "-Dactivator.home=%JAVA_FRIENDLY_HOME%" -jar "%ACTIVATOR_HOME%\%ACTIVATOR_LAUNCH_JAR%" %CMDS%
-if NOT "%_JAVACMD%"=="%NON_SPACED_CMD%" "%_JAVACMD%" %DEBUG_OPTS% %MEM_OPTS% %ACTIVATOR_OPTS% %SBT_OPTS% %_JAVA_OPTS% "-Dactivator.home=%JAVA_FRIENDLY_HOME%" -jar "%ACTIVATOR_HOME%\%ACTIVATOR_LAUNCH_JAR%" %CMDS%
-
-if ERRORLEVEL 1 goto error
-goto end
-
-:error
-set ERROR_CODE=1
-
-:end
-
-@endlocal
-
-exit /B %ERROR_CODE%

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/controllers/AboutusController.java
----------------------------------------------------------------------
diff --git a/app/controllers/AboutusController.java b/app/controllers/AboutusController.java
deleted file mode 100644
index 6954462..0000000
--- a/app/controllers/AboutusController.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package controllers;
-
-import play.mvc.*;
-import views.html.climate.*;
-
-public class AboutusController extends Controller {
-		
-    public static Result aboutUs() {
-    	return ok(aboutus.render("test"));
-    }
-    
-    public static Result aboutProject(){
-    	return ok(aboutProject.render("test"));
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/controllers/AccountController.java
----------------------------------------------------------------------
diff --git a/app/controllers/AccountController.java b/app/controllers/AccountController.java
deleted file mode 100644
index 804125f..0000000
--- a/app/controllers/AccountController.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package controllers;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import models.metadata.ServiceLog;
-import play.Logger;
-import play.data.Form;
-import play.libs.Json;
-import play.mvc.*;
-import util.APICall;
-import util.APICall.ResponseType;
-import views.html.climate.*;
-
-public class AccountController extends Controller {
-
-	final static Form<ServiceLog> serviceLogForm = Form
-			.form(ServiceLog.class);
-
-	public static Result getServiceLog() {
-		return ok(serviceLog.render(ServiceLog.all(),
-				serviceLogForm));
-	}
-	
-	public static Result syncData(){
-		return ok(serviceLog.render(ServiceLog.syncDataByPurpose(),
-				serviceLogForm));
-	}
-	
-	public static Result searchServiceLog() {
-		return ok(searchServiceLog.render(serviceLogForm));
-	}
-
-	public static Result getSearchServiceLogOneDimension() {
-		Form<ServiceLog> dc = serviceLogForm.bindFromRequest();
-		ObjectNode jsonData = Json.newObject();
-		String dataSource = "";
-		String variableName = "";
-		String executionPurpose = "";
-		String userId = "";
-		String startTime = "";
-		String endTime = "";
-		String dataSetStartTime = "";
-		String dataSetEndTime = "";
-		Date executionStartTime = null, executionEndTime= null;
-		
-		try {
-			dataSource = dc.field("Data Source").value().replace("/", "_");
-			variableName = dc.field("Variable Name").value();
-			executionPurpose = dc.field("Execution Purpose").value();
-			startTime = dc.field("Execution Start Time").value();
-			endTime = dc.field("Execution End Time").value();
-			dataSetStartTime = dc.field("Dataset Start Time").value();
-			dataSetEndTime = dc.field("Dataset End Time").value();
-			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
-
-			if (!startTime.isEmpty()) {
-				try {
-					executionStartTime = simpleDateFormat.parse(startTime);
-				} catch (ParseException e) {
-					System.out.println("Wrong Date Format :" + startTime);
-					return badRequest("Wrong Date Format :" + startTime);
-				}
-			}
-			
-			if (!endTime.isEmpty()) {
-				try {
-					executionEndTime = simpleDateFormat.parse(endTime);
-				} catch (ParseException e) {
-					System.out.println("Wrong Date Format :" + endTime);
-					return badRequest("Wrong Date Format :" + endTime);
-				}
-			}
-
-			if (variableName.equals("Air Temperature")) {
-				variableName = "ta";
-			} else if (variableName.equals("Cloud Ice Water Content")) {
-				variableName = "cli";
-			} else if (variableName.equals("Cloud Liquid Water Content")) {
-				variableName = "clw";
-			} else if (variableName.equals("Eastward Near-Surface Wind")) {
-				variableName = "uas";
-			} else if (variableName.equals("Equivalent Water Height Over Land")) {
-				variableName = "zl";
-			} else if (variableName
-					.equals("Equivalent Water Height Over Ocean")) {
-				variableName = "zo";
-			} else if (variableName.equals("Leaf Area Index")) {
-				variableName = "lai";
-			} else if (variableName.equals("Near-Surface Air Temperature")) {
-				variableName = "tas";
-			} else if (variableName.equals("Near-Surface Relative Humidity")) {
-				variableName = "hurs";
-			} else if (variableName.equals("Near-Surface Wind Speed")) {
-				variableName = "sfcWind";
-			} else if (variableName.equals("Northward Near-Surface Wind")) {
-				variableName = "vas";
-			} else if (variableName
-					.equals("Ocean Heat Content Anomaly within 2000 m Depth")) {
-				variableName = "ohc2000";
-			} else if (variableName
-					.equals("Ocean Heat Content Anomaly within 700 m Depth")) {
-				variableName = "ohc700";
-			} else if (variableName.equals("Ocean Salinity")) {
-				variableName = "os";
-			} else if (variableName.equals("Ocean Temperature")) {
-				variableName = "ot";
-			} else if (variableName.equals("Precipitation Flux")) {
-				variableName = "pr";
-			} else if (variableName.equals("Relative Humidity")) {
-				variableName = "hur";
-			} else if (variableName.equals("Sea Surface Height")) {
-				variableName = "zos";
-			} else if (variableName.equals("Sea Surface Temperature")) {
-				variableName = "tos";
-			} else if (variableName.equals("Specific Humidity")) {
-				variableName = "hus";
-			} else if (variableName
-					.equals("Surface Downwelling Clear-Sky Longwave Radiation")) {
-				variableName = "rldscs";
-			} else if (variableName
-					.equals("Surface Downwelling Clear-Sky Shortwave Radiation")) {
-				variableName = "rsdscs";
-			} else if (variableName
-					.equals("Surface Downwelling Longwave Radiation")) {
-				variableName = "rlds";
-			} else if (variableName
-					.equals("Surface Downwelling Shortwave Radiation")) {
-				variableName = "rsds";
-			} else if (variableName.equals("Surface Temperature")) {
-				variableName = "ts";
-			} else if (variableName
-					.equals("Surface Upwelling Clear-Sky Shortwave Radiation")) {
-				variableName = "rsuscs";
-			} else if (variableName
-					.equals("Surface Upwelling Longwave Radiation")) {
-				variableName = "rlus";
-			} else if (variableName
-					.equals("Surface Upwelling Shortwave Radiation")) {
-				variableName = "rsus";
-			} else if (variableName.equals("TOA Incident Shortwave Radiation")) {
-				variableName = "rsdt";
-			} else if (variableName
-					.equals("TOA Outgoing Clear-Sky Longwave Radiation")) {
-				variableName = "rlutcs";
-			} else if (variableName
-					.equals("TOA Outgoing Clear-Sky Shortwave Radiation")) {
-				variableName = "rsutcs";
-			} else if (variableName.equals("TOA Outgoing Longwave Radiation")) {
-				variableName = "rlut";
-			} else if (variableName.equals("TOA Outgoing Shortwave Radiation")) {
-				variableName = "rsut";
-			} else if (variableName.equals("Total Cloud Fraction")) {
-				variableName = "clt";
-			} else if (variableName.equals("Vertical Wind Velocity")) {
-				variableName = "wap";
-			}
-
-		} catch (IllegalStateException e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall
-					.createResponse(ResponseType.CONVERSIONERROR));
-		} catch (Exception e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-		}
-
-		Map<String, String> parameters = new HashMap<String, String>();
-		parameters.put("model", dataSource);
-		parameters.put("var", variableName);
-		parameters.put("startT", dataSetStartTime);
-		parameters.put("endT", dataSetEndTime);
-		List<ServiceLog> response = ServiceLog.queryExecutionLogs(userId, executionStartTime, executionEndTime, executionPurpose, dataSetStartTime, dataSetEndTime, parameters);
-		return ok(searchLogResult.render(response));
-
-	}
-
-	public static Result getSearchServiceLog() {
-		Form<ServiceLog> dc = serviceLogForm.bindFromRequest();
-		String userId = "", startTime = "", endTime = "";
-		Date start=null, end=null;
-		
-		try {
-			startTime = dc.field("Start Time").value();
-			endTime = dc.field("End Time").value();
-			Logger.info(""+startTime);
-			Logger.info(""+endTime);
-			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
-
-			if (!startTime.isEmpty()) {
-				try {
-					start = simpleDateFormat.parse(startTime);
-				} catch (ParseException e) {
-					System.out.println("Wrong Date Format :" + startTime);
-					return badRequest("Wrong Date Format :" + startTime);
-				}
-			}
-			
-			if (!endTime.isEmpty()) {
-				try {
-					end = simpleDateFormat.parse(endTime);
-				} catch (ParseException e) {
-					System.out.println("Wrong Date Format :" + endTime);
-					return badRequest("Wrong Date Format :" + endTime);
-				}
-			}
-		} catch (IllegalStateException e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall
-					.createResponse(ResponseType.CONVERSIONERROR));
-		} catch (Exception e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-		}
-
-		List<ServiceLog> response = ServiceLog.queryExecutionLogs(userId, start, end, null, null, null, null);
-		return ok(searchLogResult.render(response));
-	}
-	
-	public static Result getSearchServiceLogForWorkflow() {
-		Form<ServiceLog> dc = serviceLogForm.bindFromRequest();
-		ObjectNode jsonData = Json.newObject();
-		String userId = "123", startTime = "", endTime = "";
-		Date start=null, end=null;
-		try {
-
-			userId = dc.field("User Id").value().replace(" ", "%20");
-			startTime = dc.field("Start Time").value();
-			endTime = dc.field("End Time").value();
-			Logger.info(""+startTime);
-			Logger.info(""+endTime);
-			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
-
-			if (!startTime.isEmpty()) {
-				try {
-					start = simpleDateFormat.parse(startTime);
-				} catch (ParseException e) {
-					System.out.println("Wrong Date Format :" + startTime);
-					return badRequest("Wrong Date Format :" + startTime);
-				}
-			}
-			
-			if (!endTime.isEmpty()) {
-				try {
-					end = simpleDateFormat.parse(endTime);
-				} catch (ParseException e) {
-					System.out.println("Wrong Date Format :" + endTime);
-					return badRequest("Wrong Date Format :" + endTime);
-				}
-			}
-			
-		} catch (IllegalStateException e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall
-					.createResponse(ResponseType.CONVERSIONERROR));
-		} catch (Exception e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-		}
-
-		List<ServiceLog> response = ServiceLog.queryExecutionLogs(userId, start, end, null, null, null, null);
-		return ok(searchLogResultWorkflow.render(response, userId, startTime, endTime, null));
-	}
-	
-	public static Result getSearchAndGenerateWorkflow() {
-		return ok(searchGenerateWorkflow.render(serviceLogForm));
-	}
-	
-	public static Result getJsonData() {
-		Form<ServiceLog> dc = serviceLogForm.bindFromRequest();
-		ObjectNode jsonData = Json.newObject();
-		String userId = "CCS student 1", startTime = "03/05/2015 12:30", endTime = "03/05/2015 12:41";
-		Date start=null, end=null;
-		try {
-
-			userId = dc.field("User Id").value().replace(" ", "%20");
-			startTime = dc.field("Start Time").value();
-			endTime = dc.field("End Time").value();
-			Logger.info(""+startTime);
-			Logger.info(""+endTime);
-			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
-
-			if (!startTime.isEmpty()) {
-				try {
-					start = simpleDateFormat.parse(startTime);
-				} catch (ParseException e) {
-					System.out.println("Wrong Date Format :" + startTime);
-					return badRequest("Wrong Date Format :" + startTime);
-				}
-			}
-			
-			if (!endTime.isEmpty()) {
-				try {
-					end = simpleDateFormat.parse(endTime);
-				} catch (ParseException e) {
-					System.out.println("Wrong Date Format :" + endTime);
-					return badRequest("Wrong Date Format :" + endTime);
-				}
-			}
-			
-		} catch (IllegalStateException e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall
-					.createResponse(ResponseType.CONVERSIONERROR));
-		} catch (Exception e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-		}
-		
-		ObjectMapper mapper = new ObjectMapper();
-		ObjectNode queryJson = mapper.createObjectNode();
-		if (userId != null && !userId.isEmpty()) {
-			queryJson.put("userId", userId);
-		}
-		if (start != null ) {
-			queryJson.put("executionStartTime", start.getTime());
-		}
-		if (end != null) {
-			queryJson.put("executionEndTime", end.getTime());
-		}
-		JsonNode response = APICall.postAPI("http://localhost:9034/workflow/generateWorkflowJson", queryJson);
-		String resStr = response.toString();
-		List<ServiceLog> responseList = ServiceLog.queryExecutionLogs(userId, start, end, null, null, null, null);
-		return ok(searchLogResultWorkflow.render(responseList,userId, startTime, endTime, resStr));
-	}
-	
-	public static Result getRecommend() {
-		JsonNode response = APICall.callAPI("http://einstein.sv.cmu.edu:9026/api/sgraph");
-		String resStr = response.toString();
-		return ok(views.html.climate.recommend.render(resStr));
-	}
-
-	public static Result getLogGraph() {
-		JsonNode response = APICall.callAPI("http://einstein.sv.cmu.edu:9026/api/ugraph");
-		String resStr = response.toString();
-		return ok(views.html.climate.recommend.render(resStr));
-	}
-	
-	public static Result getDatasetRecommend() {
-		JsonNode response = APICall.callAPI("http://einstein.sv.cmu.edu:9026/api/dgraph");
-		String resStr = response.toString();
-		return ok(views.html.climate.dataRecommend.render(resStr));
-	}
-	
-	public static Result getScientistRecommend() {
-		JsonNode response = APICall.callAPI("http://einstein.sv.cmu.edu:9026/api/scgraph");
-		String resStr = response.toString();
-		return ok(views.html.climate.dataRecommend.render(resStr));
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/controllers/Application.java
----------------------------------------------------------------------
diff --git a/app/controllers/Application.java b/app/controllers/Application.java
deleted file mode 100644
index 943d923..0000000
--- a/app/controllers/Application.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package controllers;
-
-import java.util.Iterator;
-import java.util.Map.Entry;
-import com.fasterxml.jackson.databind.JsonNode;
-import play.mvc.*;
-import views.html.*;
-
-public class Application extends Controller {
-	
-    public static Result index() {
-        return ok(index.render(""));
-    }
-
-    public static class Login {
-        
-        public String email;
-        public String password;
-        
-        public String validate() {
-            return null;
-        } 
-    }
-    
-    public static void flashMsg(JsonNode jsonNode){
-		Iterator<Entry<String, JsonNode>> it = jsonNode.fields();
-		while (it.hasNext()) {
-			Entry<String, JsonNode> field = it.next();
-			flash(field.getKey(),field.getValue().asText());	
-		}
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/controllers/BugReportController.java
----------------------------------------------------------------------
diff --git a/app/controllers/BugReportController.java b/app/controllers/BugReportController.java
deleted file mode 100644
index f231d32..0000000
--- a/app/controllers/BugReportController.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package controllers;
-
-import models.BugReport;
-import play.data.DynamicForm;
-import play.data.Form;
-import play.mvc.*;
-import util.APICall;
-import util.APICall.ResponseType;
-import views.html.climate.*;
-import java.util.*;
-
-public class BugReportController extends Controller {
-	final static Form<BugReport> bugReportForm = Form.form(BugReport.class);
-
-	@play.db.jpa.Transactional
-	public static Result reports() {
-		return ok(bugReporting.render(bugReportForm));
-	}
-
-	@play.db.jpa.Transactional
-	public static Result newReport() {
-		Form<BugReport> filledForm = bugReportForm.bindFromRequest();
-		BugReport report = new BugReport();
-		
-		try {
-			report.setTitle(filledForm.get().getTitle());
-			report.setName(filledForm.get().getName());
-			report.setEmail(filledForm.get().getEmail());
-			report.setOrganization(filledForm.get().getOrganization());
-			report.setDescription(filledForm.get().getDescription());
-			report.setSolved(0);
-			report.save();
-			return redirect(routes.BugReportController.list());
-		} catch (IllegalStateException e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-		}	
-		return ok(bugReporting.render(filledForm));
-	}
-
-	@play.db.jpa.Transactional
-	public static Result list() {
-		BugReport bugReport = new BugReport();
-		List<Object[]> list = BugReport.getAll();
-		LinkedList<BugReport> bugList = new LinkedList<BugReport>();
-
-		for (Object[] e : list) {
-			BugReport bug = new BugReport();
-			bug.setId((Integer)e[0]);
-			bug.setTitle(e[1].toString());
-			bug.setName(e[2].toString());
-			bug.setEmail(e[3].toString());
-			bug.setOrganization(e[4].toString());
-			bug.setDescription(e[5].toString());
-			bug.setSolved((Byte)e[6]);
-			bugList.add(bug);
-		}
-		return ok(bugs.render(bugList));
-	}
-	
-	@play.db.jpa.Transactional
-	public static Result deleteReport() {
-		DynamicForm df = DynamicForm.form().bindFromRequest();
-		
-		try {
-			int id = Integer.valueOf(df.field("idHolder").value());
-
-			if(BugReport.delete(id)){
-				Application.flashMsg(APICall.createResponse(ResponseType.SUCCESS));
-			}else {
-				Application.flashMsg(APICall.createResponse(ResponseType.DELETEERROR));
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-		}
-		return redirect(routes.BugReportController.list());
-	}
-	
-	@play.db.jpa.Transactional
-	public static Result solveReport() {
-		DynamicForm df = DynamicForm.form().bindFromRequest();
-		
-		try {
-			int id = Integer.valueOf(df.field("idHolder").value());
-
-			if(BugReport.solve(id)){
-				Application.flashMsg(APICall.createResponse(ResponseType.SUCCESS));
-			}else {
-				Application.flashMsg(APICall.createResponse(ResponseType.RESOLVEERROR));
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-			Application.flashMsg(APICall.createResponse(ResponseType.UNKNOWN));
-		}
-		return redirect(routes.BugReportController.list());
-	}
-}
\ No newline at end of file


[37/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/searchDataSet.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/searchDataSet.scala.html b/app/views/climate/searchDataSet.scala.html
deleted file mode 100644
index 68f260a..0000000
--- a/app/views/climate/searchDataSet.scala.html
+++ /dev/null
@@ -1,544 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(dataSetForm: play.data.Form[DataSet])
-
-@import helper._
-
-@scripts = {
-	<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-	<link rel="stylesheet" href="//code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css">
-	<script src="//code.jquery.com/jquery-1.10.2.js"></script>
-  	<script src="//code.jquery.com/ui/1.11.3/jquery-ui.js"></script>
-	<script type="text/javascript">
-	$(function() {
-	    var availableDataSetNames = [
-	                "AIRS Air Temperature",
-					"AIRS Near-Surface Air Temperature",
-					"AIRS Specific Humidity",
-					"AMSRE Sea Surface Temperature",
-					"ARGO Ocean Salinity",
-					"ARGO Ocean Temperature",
-					"AVISO Sea Surface Height",
-					"CAM5 Air Temperature",
-					"CAM5 Cloud Ice Water Content",
-					"CAM5 Cloud Liquid Water Content",
-					"CAM5 Leaf Area Index",
-					"CAM5 Near-Surface Wind Speed",
-					"CAM5 Precipitation Flux",
-					"CAM5 Relative Humidity",
-					"CAM5 Sea Surface Height",
-					"CAM5 Sea Surface Temperature",
-					"CAM5 Specific Humidity",
-					"CAM5 Surface Downwelling Clear-Sky Shortwave Radiation",
-					"CAM5 Surface Downwelling Longwave Radiation",
-					"CAM5 Surface Downwelling Shortwave Radiation",
-					"CAM5 Surface Temperature",
-					"CAM5 Surface Upwelling Clear-Sky Shortwave Radiation",
-					"CAM5 Surface Upwelling Longwave Radiation",
-					"CAM5 Surface Upwelling Shortwave Radiation",
-					"CAM5 TOA Incident Shortwave Radiation",
-					"CAM5 TOA Outgoing Clear-Sky Longwave Radiation",
-					"CAM5 TOA Outgoing Clear-Sky Shortwave Radiation",
-					"CAM5 TOA Outgoing Longwave Radiation",
-					"CAM5 TOA Outgoing Shortwave Radiation",
-					"CAM5 Total Cloud Fraction",
-					"CAM5 Vertical Wind Velocity",
-					"CANAM4 Air Temperature",
-					"CANAM4 Cloud Ice Water Content",
-					"CANAM4 Cloud Liquid Water Content",
-					"CANAM4 Eastward Near-Surface Wind",
-					"CANAM4 Near-Surface Air Temperature",
-					"CANAM4 Near-Surface Relative Humidity",
-					"CANAM4 Near-Surface Wind Speed",
-					"CANAM4 Northward Near-Surface Wind",
-					"CANAM4 Precipitation Flux",
-					"CANAM4 Relative Humidity",
-					"CANAM4 Specific Humidity",
-					"CANAM4 Surface Downwelling Clear-Sky Longwave Radiation",
-					"CANAM4 Surface Downwelling Clear-Sky Shortwave Radiation",
-					"CANAM4 Surface Downwelling Longwave Radiation",
-					"CANAM4 Surface Downwelling Shortwave Radiation",
-					"CANAM4 Surface Temperature",
-					"CANAM4 Surface Upwelling Clear-Sky Shortwave Radiation",
-					"CANAM4 Surface Upwelling Longwave Radiation",
-					"CANAM4 Surface Upwelling Shortwave Radiation",
-					"CANAM4 TOA Incident Shortwave Radiation",
-					"CANAM4 TOA Outgoing Clear-Sky Longwave Radiation",
-					"CANAM4 TOA Outgoing Clear-Sky Shortwave Radiation",
-					"CANAM4 TOA Outgoing Longwave Radiation",
-					"CANAM4 TOA Outgoing Shortwave Radiation",
-					"CANAM4 Total Cloud Fraction",
-					"CANAM4 Vertical Wind Velocity",
-					"CERES Surface Downwelling Clear-Sky Longwave Radiation",
-					"CERES Surface Downwelling Clear-Sky Shortwave Radiation",
-					"CERES Surface Downwelling Longwave Radiation",
-					"CERES Surface Downwelling Shortwave Radiation",
-					"CERES Surface Upwelling Clear-Sky Shortwave Radiation",
-					"CERES Surface Upwelling Longwave Radiation",
-					"CERES Surface Upwelling Shortwave Radiation",
-					"CERES TOA Incident Shortwave Radiation",
-					"CERES TOA Outgoing Clear-Sky Longwave Radiation",
-					"CERES TOA Outgoing Clear-Sky Shortwave Radiation",
-					"CERES TOA Outgoing Longwave Radiation",
-					"CERES TOA Outgoing Shortwave Radiation",
-					"CM3 Air Temperature",
-					"CM3 Cloud Ice Water Content",
-					"CM3 Cloud Liquid Water Content",
-					"CM3 Eastward Near-Surface Wind",
-					"CM3 Near-Surface Wind Speed",
-					"CM3 Northward Near-Surface Wind",
-					"CM3 Precipitation Flux",
-					"CM3 Relative Humidity",
-					"CM3 Specific Humidity",
-					"CM3 Surface Downwelling Clear-Sky Longwave Radiation",
-					"CM3 Surface Downwelling Clear-Sky Shortwave Radiation",
-					"CM3 Surface Downwelling Longwave Radiation",
-					"CM3 Surface Downwelling Shortwave Radiation",
-					"CM3 Surface Temperature",
-					"CM3 Surface Upwelling Clear-Sky Shortwave Radiation",
-					"CM3 Surface Upwelling Longwave Radiation",
-					"CM3 Surface Upwelling Shortwave Radiation",
-					"CM3 TOA Incident Shortwave Radiation",
-					"CM3 TOA Outgoing Clear-Sky Longwave Radiation",
-					"CM3 TOA Outgoing Clear-Sky Shortwave Radiation",
-					"CM3 TOA Outgoing Longwave Radiation",
-					"CM3 TOA Outgoing Shortwave Radiation",
-					"CM3 Total Cloud Fraction",
-					"CM3 Vertical Wind Velocity",
-					"CM5A-LR Air Temperature",
-					"CM5A-LR Cloud Ice Water Content",
-					"CM5A-LR Cloud Liquid Water Content",
-					"CM5A-LR Eastward Near-Surface Wind",
-					"CM5A-LR Leaf Area Index",
-					"CM5A-LR Near-Surface Wind Speed",
-					"CM5A-LR Northward Near-Surface Wind",
-					"CM5A-LR Precipitation Flux",
-					"CM5A-LR Specific Humidity",
-					"CM5A-LR Surface Downwelling Clear-Sky Longwave Radiation",
-					"CM5A-LR Surface Downwelling Clear-Sky Shortwave Radiation",
-					"CM5A-LR Surface Downwelling Longwave Radiation",
-					"CM5A-LR Surface Downwelling Shortwave Radiation",
-					"CM5A-LR Surface Temperature",
-					"CM5A-LR Surface Upwelling Clear-Sky Shortwave Radiation",
-					"CM5A-LR Surface Upwelling Longwave Radiation",
-					"CM5A-LR Surface Upwelling Shortwave Radiation",
-					"CM5A-LR TOA Incident Shortwave Radiation",
-					"CM5A-LR TOA Outgoing Clear-Sky Longwave Radiation",
-					"CM5A-LR TOA Outgoing Clear-Sky Shortwave Radiation",
-					"CM5A-LR TOA Outgoing Longwave Radiation",
-					"CM5A-LR TOA Outgoing Shortwave Radiation",
-					"CM5A-LR Total Cloud Fraction",
-					"E2-H Air Temperature",
-					"E2-H Cloud Ice Water Content",
-					"E2-H Cloud Liquid Water Content",
-					"E2-H Eastward Near-Surface Wind",
-					"E2-H Near-Surface Wind Speed",
-					"E2-H Northward Near-Surface Wind",
-					"E2-H Precipitation Flux",
-					"E2-H Relative Humidity",
-					"E2-H Sea Surface Temperature",
-					"E2-H Specific Humidity",
-					"E2-H Surface Downwelling Clear-Sky Longwave Radiation",
-					"E2-H Surface Downwelling Clear-Sky Shortwave Radiation",
-					"E2-H Surface Downwelling Longwave Radiation",
-					"E2-H Surface Downwelling Shortwave Radiation",
-					"E2-H Surface Temperature",
-					"E2-H Surface Upwelling Clear-Sky Shortwave Radiation",
-					"E2-H Surface Upwelling Longwave Radiation",
-					"E2-H Surface Upwelling Shortwave Radiation",
-					"E2-H TOA Incident Shortwave Radiation",
-					"E2-H TOA Outgoing Clear-Sky Longwave Radiation",
-					"E2-H TOA Outgoing Clear-Sky Shortwave Radiation",
-					"E2-H TOA Outgoing Longwave Radiation",
-					"E2-H TOA Outgoing Shortwave Radiation",
-					"E2-H Total Cloud Fraction",
-					"E2-H Vertical Wind Velocity",
-					"E2-R Air Temperature",
-					"E2-R Cloud Ice Water Content",
-					"E2-R Cloud Liquid Water Content",
-					"E2-R Eastward Near-Surface Wind",
-					"E2-R Near-Surface Wind Speed",
-					"E2-R Northward Near-Surface Wind",
-					"E2-R Precipitation Flux",
-					"E2-R Relative Humidity",
-					"E2-R Sea Surface Height",
-					"E2-R Sea Surface Temperature",
-					"E2-R Specific Humidity",
-					"E2-R Surface Downwelling Clear-Sky Longwave Radiation",
-					"E2-R Surface Downwelling Clear-Sky Shortwave Radiation",
-					"E2-R Surface Downwelling Shortwave Radiation",
-					"E2-R Surface Temperature",
-					"E2-R Surface Upwelling Clear-Sky Shortwave Radiation",
-					"E2-R Surface Upwelling Longwave Radiation",
-					"E2-R Surface Upwelling Shortwave Radiation",
-					"E2-R TOA Incident Shortwave Radiation",
-					"E2-R TOA Outgoing Clear-Sky Longwave Radiation",
-					"E2-R TOA Outgoing Clear-Sky Shortwave Radiation",
-					"E2-R TOA Outgoing Longwave Radiation",
-					"E2-R TOA Outgoing Shortwave Radiation",
-					"E2-R Total Cloud Fraction",
-					"E2-R Vertical Wind Velocity",
-					"ESM2G Air Temperature",
-					"ESM2G Cloud Ice Water Content",
-					"ESM2G Cloud Liquid Water Content",
-					"ESM2G Eastward Near-Surface Wind",
-					"ESM2G Leaf Area Index",
-					"ESM2G Near-Surface Wind Speed",
-					"ESM2G Northward Near-Surface Wind",
-					"ESM2G Precipitation Flux",
-					"ESM2G Relative Humidity",
-					"ESM2G Sea Surface Height",
-					"ESM2G Sea Surface Temperature",
-					"ESM2G Specific Humidity",
-					"ESM2G Surface Downwelling Clear-Sky Longwave Radiation",
-					"ESM2G Surface Downwelling Longwave Radiation",
-					"ESM2G Surface Temperature",
-					"ESM2G Surface Upwelling Longwave Radiation",
-					"ESM2G TOA Incident Shortwave Radiation",
-					"ESM2G TOA Outgoing Clear-Sky Longwave Radiation",
-					"ESM2G TOA Outgoing Clear-Sky Shortwave Radiation",
-					"ESM2G TOA Outgoing Longwave Radiation",
-					"ESM2G TOA Outgoing Shortwave Radiation",
-					"ESM2G Total Cloud Fraction",
-					"ESM2G Vertical Wind Velocity",
-					"GPCP Precipitation Flux",
-					"GRACE Equivalent Water Height Over Land",
-					"GRACE Equivalent Water Height Over Ocean",
-					"HadGEM2-A Air Temperature",
-					"HadGEM2-A Cloud Ice Water Content",
-					"HadGEM2-A Cloud Liquid Water Content",
-					"HadGEM2-A Eastward Near-Surface Wind",
-					"HadGEM2-A Near-Surface Relative Humidity",
-					"HadGEM2-A Near-Surface Wind Speed",
-					"HadGEM2-A Northward Near-Surface Wind",
-					"HadGEM2-A Precipitation Flux",
-					"HadGEM2-A Relative Humidity",
-					"HadGEM2-A Specific Humidity",
-					"HadGEM2-A Surface Downwelling Clear-Sky Longwave Radiation",
-					"HadGEM2-A Surface Downwelling Clear-Sky Shortwave Radiation",
-					"HadGEM2-A Surface Downwelling Longwave Radiation",
-					"HadGEM2-A Surface Downwelling Shortwave Radiation",
-					"HadGEM2-A Surface Temperature",
-					"HadGEM2-A Surface Upwelling Clear-Sky Shortwave Radiation",
-					"HadGEM2-A Surface Upwelling Longwave Radiation",
-					"HadGEM2-A Surface Upwelling Shortwave Radiation",
-					"HadGEM2-A TOA Incident Shortwave Radiation",
-					"HadGEM2-A TOA Outgoing Clear-Sky Longwave Radiation",
-					"HadGEM2-A TOA Outgoing Clear-Sky Shortwave Radiation",
-					"HadGEM2-A TOA Outgoing Longwave Radiation",
-					"HadGEM2-A TOA Outgoing Shortwave Radiation",
-					"HadGEM2-A Total Cloud Fraction",
-					"HadGEM2-A Vertical Wind Velocity",
-					"HadGEM2-ES Air Temperature",
-					"HadGEM2-ES Cloud Ice Water Content",
-					"HadGEM2-ES Cloud Liquid Water Content",
-					"HadGEM2-ES Eastward Near-Surface Wind",
-					"HadGEM2-ES Leaf Area Index",
-					"HadGEM2-ES Near-Surface Wind Speed",
-					"HadGEM2-ES Northward Near-Surface Wind",
-					"HadGEM2-ES Precipitation Flux",
-					"HadGEM2-ES Relative Humidity",
-					"HadGEM2-ES Sea Surface Height",
-					"HadGEM2-ES Sea Surface Temperature",
-					"HadGEM2-ES Specific Humidity",
-					"HadGEM2-ES Surface Downwelling Clear-Sky Longwave Radiation",
-					"HadGEM2-ES Surface Downwelling Clear-Sky Shortwave Radiation",
-					"HadGEM2-ES Surface Downwelling Longwave Radiation",
-					"HadGEM2-ES Surface Downwelling Shortwave Radiation",
-					"HadGEM2-ES Surface Temperature",
-					"HadGEM2-ES Surface Upwelling Clear-Sky Shortwave Radiation",
-					"HadGEM2-ES Surface Upwelling Longwave Radiation",
-					"HadGEM2-ES Surface Upwelling Shortwave Radiation",
-					"HadGEM2-ES TOA Incident Shortwave Radiation",
-					"HadGEM2-ES TOA Outgoing Clear-Sky Longwave Radiation",
-					"HadGEM2-ES TOA Outgoing Clear-Sky Shortwave Radiation",
-					"HadGEM2-ES TOA Outgoing Longwave Radiation",
-					"HadGEM2-ES TOA Outgoing Shortwave Radiation",
-					"HadGEM2-ES Total Cloud Fraction",
-					"HadGEM2-ES Vertical Wind Velocity",
-					"MIROC5 Air Temperature", "MIROC5 Cloud Ice Water Content",
-					"MIROC5 Cloud Liquid Water Content",
-					"MIROC5 Eastward Near-Surface Wind",
-					"MIROC5 Leaf Area Index", "MIROC5 Near-Surface Wind Speed",
-					"MIROC5 Northward Near-Surface Wind",
-					"MIROC5 Precipitation Flux", "MIROC5 Relative Humidity",
-					"MIROC5 Specific Humidity",
-					"MIROC5 Surface Downwelling Clear-Sky Longwave Radiation",
-					"MIROC5 Surface Downwelling Clear-Sky Shortwave Radiation",
-					"MIROC5 Surface Downwelling Longwave Radiation",
-					"MIROC5 Surface Downwelling Shortwave Radiation",
-					"MIROC5 Surface Temperature",
-					"MIROC5 Surface Upwelling Clear-Sky Shortwave Radiation",
-					"MIROC5 Surface Upwelling Longwave Radiation",
-					"MIROC5 Surface Upwelling Shortwave Radiation",
-					"MIROC5 TOA Incident Shortwave Radiation",
-					"MIROC5 TOA Outgoing Clear-Sky Longwave Radiation",
-					"MIROC5 TOA Outgoing Clear-Sky Shortwave Radiation",
-					"MIROC5 TOA Outgoing Longwave Radiation",
-					"MIROC5 TOA Outgoing Shortwave Radiation",
-					"MIROC5 Total Cloud Fraction",
-					"MIROC5 Vertical Wind Velocity", "MK3.6 Air Temperature",
-					"MK3.6 Cloud Ice Water Content",
-					"MK3.6 Cloud Liquid Water Content",
-					"MK3.6 Eastward Near-Surface Wind",
-					"MK3.6 Near-Surface Wind Speed",
-					"MK3.6 Northward Near-Surface Wind",
-					"MK3.6 Precipitation Flux", "MK3.6 Relative Humidity",
-					"MK3.6 Specific Humidity",
-					"MK3.6 Surface Downwelling Clear-Sky Longwave Radiation",
-					"MK3.6 Surface Downwelling Clear-Sky Shortwave Radiation",
-					"MK3.6 Surface Downwelling Longwave Radiation",
-					"MK3.6 Surface Downwelling Shortwave Radiation",
-					"MK3.6 Surface Temperature",
-					"MK3.6 Surface Upwelling Clear-Sky Shortwave Radiation",
-					"MK3.6 Surface Upwelling Longwave Radiation",
-					"MK3.6 Surface Upwelling Shortwave Radiation",
-					"MK3.6 TOA Incident Shortwave Radiation",
-					"MK3.6 TOA Outgoing Clear-Sky Longwave Radiation",
-					"MK3.6 TOA Outgoing Clear-Sky Shortwave Radiation",
-					"MK3.6 TOA Outgoing Longwave Radiation",
-					"MK3.6 TOA Outgoing Shortwave Radiation",
-					"MK3.6 Total Cloud Fraction",
-					"MK3.6 Vertical Wind Velocity", "MLS Air Temperature",
-					"MLS Specific Humidity", "MODIS Leaf Area Index",
-					"MODIS Total Cloud Fraction",
-					"NODC Ocean Heat Content Anomaly within 2000 m Depth",
-					"NODC Ocean Heat Content Anomaly within 700 m Depth",
-					"NORESM Air Temperature", "NORESM Cloud Ice Water Content",
-					"NORESM Cloud Liquid Water Content",
-					"NORESM Eastward Near-Surface Wind",
-					"NORESM Leaf Area Index",
-					"NORESM Northward Near-Surface Wind",
-					"NORESM Precipitation Flux", "NORESM Relative Humidity",
-					"NORESM Sea Surface Height",
-					"NORESM Sea Surface Temperature",
-					"NORESM Specific Humidity",
-					"NORESM Surface Downwelling Clear-Sky Longwave Radiation",
-					"NORESM Surface Downwelling Clear-Sky Shortwave Radiation",
-					"NORESM Surface Downwelling Longwave Radiation",
-					"NORESM Surface Downwelling Shortwave Radiation",
-					"NORESM Surface Temperature",
-					"NORESM Surface Upwelling Clear-Sky Shortwave Radiation",
-					"NORESM Surface Upwelling Longwave Radiation",
-					"NORESM Surface Upwelling Shortwave Radiation",
-					"NORESM TOA Incident Shortwave Radiation",
-					"NORESM TOA Outgoing Clear-Sky Longwave Radiation",
-					"NORESM TOA Outgoing Clear-Sky Shortwave Radiation",
-					"NORESM TOA Outgoing Longwave Radiation",
-					"NORESM TOA Outgoing Shortwave Radiation",
-					"NORESM Total Cloud Fraction",
-					"NORESM Vertical Wind Velocity",
-					"QuikSCAT Eastward Near-Surface Wind",
-					"QuikSCAT Near-Surface Wind Speed",
-					"QuikSCAT Northward Near-Surface Wind",
-					"TRMM Precipitation Flux",
-					"interim Eastward Near-Surface Wind",
-					"interim Near-Surface Wind Speed",
-					"interim Northward Near-Surface Wind",
-					"interim Relative Humidity",
-					"interim Sea Surface Temperature",
-					"interim Total Cloud Fraction",
-					"interim Vertical Wind Velocity" ];
-			
-			var availableAgency = [ "ARGO", "CCCMA", "CSIRO", "ECMWF",
-					"Flux,kg", "GFDL", "GFDL", "GISS", "IPSL", "MIROC", "NASA",
-					"NASA", "NCAR", "NCC", "NOAA", "UKMO", "UKMO" ];
-
-			var availableInstruments = [ "AIRS", "AMSRE", "ARGO", "AVISO",
-					"CAM5", "CANAM4", "CERES", "CM3", "CM5A-LR", "E2-H",
-					"E2-R", "ESM2G", "GPCP", "GRACE", "HadGEM2-A",
-					"HadGEM2-ES", "MIROC5", "MK3.6", "MLS", "MODIS", "NODC",
-					"NORESM", "QuikSCAT", "TRMM", "interim" ];
-
-		var availablePhysicalVariable = [ "Air Temperature",
-					"Cloud Ice Water Content", "Cloud Liquid Water Content",
-					"Eastward Near-Surface Wind",
-					"Equivalent Water Height Over Land",
-					"Equivalent Water Height Over Ocean", "Leaf Area Index",
-					"Near-Surface Air Temperature",
-					"Near-Surface Relative Humidity",
-					"Near-Surface Wind Speed", "Northward Near-Surface Wind",
-					"Ocean Heat Content Anomaly within 2000 m Depth",
-					"Ocean Heat Content Anomaly within 700 m Depth",
-					"Ocean Salinity", "Ocean Temperature",
-					"Precipitation Flux", "Precipitation", "Relative Humidity",
-					"Sea Surface Height", "Sea Surface Temperature",
-					"Specific Humidity",
-					"Surface Downwelling Clear-Sky Longwave Radiation",
-					"Surface Downwelling Clear-Sky Shortwave Radiation",
-					"Surface Downwelling Longwave Radiation",
-					"Surface Downwelling Shortwave Radiation",
-					"Surface Temperature",
-					"Surface Upwelling Clear-Sky Shortwave Radiation",
-					"Surface Upwelling Longwave Radiation",
-					"Surface Upwelling Shortwave Radiation",
-					"TOA Incident Shortwave Radiation",
-					"TOA Outgoing Clear-Sky Longwave Radiation",
-					"TOA Outgoing Clear-Sky Shortwave Radiation",
-					"TOA Outgoing Longwave Radiation",
-					"TOA Outgoing Shortwave Radiation", "Total Cloud Fraction",
-					"Vertical Wind Velocity" ];
-			var availableGridDimension = [ "2D", "3D" ];
-			$("#dataSetName").autocomplete({
-				source : availableDataSetNames
-			});
-			$("#agency").autocomplete({
-				source : availableAgency
-			});
-			$("#instrument").autocomplete({
-				source : availableInstruments
-			});
-			$("#physicalVariable").autocomplete({
-				source : availablePhysicalVariable
-			});
-			$("#gridDimension").autocomplete({
-				source : availableGridDimension
-			});
-		});
-
-		$(document)
-				.ready(
-						function() {
-							$("#preview")
-									.click(
-											function() {
-												var target = document
-														.getElementById("show");
-												if (target.style.display == "none") {
-													target.style.display = "block";
-													$("#preview").text("Hide");
-													var dataSetName = $(
-															"#dataSetName")
-															.val();
-													var agency = $("#agency")
-															.val();
-													var instrument = $(
-															"#instrument")
-															.val();
-													var physicalVariable = $(
-															"#physicalVariable")
-															.val();
-													var gridDimension = $(
-															"#gridDimension")
-															.val();
-													var dataSetStartTime = $(
-															"#dataSetStartTime")
-															.val();
-													var dataSetEndTime = $(
-															"#dataSetEndTime")
-															.val();
-
-													if (dataSetName != "") {
-														$("#content")
-																.append(
-																		" Dataset Name = "
-																				+ dataSetName);
-													}
-													if (agency != ""
-															&& agency != null) {
-														$("#content")
-																.append(
-																		" Agency = "
-																				+ agency);
-													}
-													if (instrument != ""
-															&& instrument != null) {
-														$("#content")
-																.append(
-																		" Instrument = "
-																				+ instrument);
-													}
-													if (physicalVariable != ""
-															&& physicalVariable != null) {
-														$("#content")
-																.append(
-																		" Physical Variable = "
-																				+ physicalVariable);
-													}
-													if (gridDimension != ""
-															&& gridDimension != null) {
-														$("#content")
-																.append(
-																		" Grid Dimension = "
-																				+ gridDimension);
-													}
-													if (dataSetStartTime != ""
-															&& dataSetStartTime != null) {
-														$("#content")
-																.append(
-																		" Dataset Start Time = "
-																				+ dataSetStartTime);
-													}
-													if (dataSetEndTime != ""
-															&& dataSetEndTime != null) {
-														$("#content")
-																.append(
-																		" Dataset End Time = "
-																				+ dataSetEndTime);
-													}
-
-												} else {
-													$("#content").val('');
-													target.style.display = "none";
-													$("#preview").text(
-															"Preview");
-												}
-											});
-						});
-	</script>
-}
-
-@main("Search Dataset", scripts){
-	
-	@flash_message()   
-	 
-    <h1 style="margin-left:490px">Search Dataset</h1>
-    @helper.form(routes.DatasetController.getSearchResult()) {
-    	<div class="ui-widget col-sm-offset-3 col-sm-7">
-    	<div class = "form-group">
-    		@inputText(dataSetForm("Dataset Name"), 'class -> "form-control", 'id -> "dataSetName", '_label -> Messages("Dataset Name"), 'placeholder -> "ARGO Ocean Temperature", 'size->70) 
-    	</div>
-    	<div class = "form-group">
-    		@inputText(dataSetForm("Agency"), 'class -> "form-control", 'id -> "agency", '_label -> Messages("Agency"), 'placeholder -> "NOAA", 'size->70) 
-    	</div>
-    	<div class = "form-group">
-    		@inputText(dataSetForm("Instrument"), 'class -> "form-control", 'id -> "instrument", '_label -> Messages("Instrument"), 'placeholder -> "ARGO", 'size->70) 
-       	</div>
-       	<div class = "form-group">
-       		@inputText(dataSetForm("Physical Variable"), 'class -> "form-control", 'id -> "physicalVariable", '_label -> Messages("Physical Variable"), 'placeholder -> "Ocean temperature", 'size->70)
-	    </div>
-	    <div class = "form-group">
-	    	@inputText(dataSetForm("Grid Dimension"), 'class -> "form-control", 'id -> "gridDimension", '_label -> Messages("Grids Dimension"), 'placeholder -> "3D", 'size->70)
-	    	
-	    </div>
-	    <div class = "form-group">
-	    	@inputText(dataSetForm("Dataset Start Time"), 'class -> "form-control", 'id -> "dataSetStartTime", '_label -> Messages("Dataset Start Time"), 'placeholder -> "YYYYMM", 'size->70)
-	    	@inputText(dataSetForm("Dataset End Time"), 'class -> "form-control", 'id -> "dataSetEndTime", '_label -> Messages("Dataset End Time"), 'placeholder -> "YYYYMM", 'size->70)
-	    	
-	    	<div id="show" style="display: none;">
-	    		<textarea style="width: 640px" rows="4" id="content"></textarea>
-	    	</div>
-	    </div>
-	    <div align="center">
-	    	<button id="preview" type="button" class="btn btn-info"> Preview</button>
-	    	<input class="btn" type="submit" value="Search">
-	    </div>
-	    </div>
-	    
-	    }
-	 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/searchGenerateWorkflow.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/searchGenerateWorkflow.scala.html b/app/views/climate/searchGenerateWorkflow.scala.html
deleted file mode 100644
index a11b1ff..0000000
--- a/app/views/climate/searchGenerateWorkflow.scala.html
+++ /dev/null
@@ -1,103 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(serviceLogForm: play.data.Form[metadata.ServiceLog])
-
-@import helper._
-
-@scripts = {
-	<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-	<link rel="stylesheet" href="//code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css">
-	<script src="//code.jquery.com/jquery-1.10.2.js"></script>
-  	<script src="//code.jquery.com/ui/1.11.3/jquery-ui.js"></script>
-  	<script type="text/javascript">
-	$(document).ready(function(){
-		$( "#preview" ).click(function() {
-			var target = document.getElementById("show");
-			if(target.style.display=="none"){
-				target.style.display="block";
-				$( "#preview" ).text("Hide");
-				var userId = $("#userId").val();
-				var startTime = $("#startTime").val();
-				var endTime = $("#endTime").val();
-				
-				if(userId!="" && userId!=null){
-					$("#content").append(" UserId = "+userId);	
-				}
-				if(startTime!="" && startTime!=null){
-					$("#content").append(" Start Time = "+startTime);	
-				}
-				if(endTime!="" && endTime!=null){
-					$("#content").append(" End Time = "+endTime);	
-				}
-				
-			}else {
-				$("#content").val('');	
-                target.style.display="none";
-                $( "#preview" ).text("Preview");
-            }
-		});
-		if(jsonData!=null){
-			var jsonString = $('#jsonData').text();
-	  	 	var obj = JSON.parse(jsonString);
-	  	 	var data = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(obj));
-			
-	  	 	$('<a href="data:' + data + '" download="data.json">download JSON</a>').appendTo('#download');
-		}
-		/* 
-		$("#workflow-gen").click(){
-			alert("0");
-			var user = $("#userId").val();
-			$("#user2").val(user);
-			alert(user);
-			var start = $("#startTime").val();
-			$("#startTime2").val(start);
-			var end = $("#endTime").val();
-			$("#endTime2").val(end);
-		}; */
-		
-		
-		
-	});
-		
-	</script>
-}
-
-@main("Search and Generate Workflow", scripts) {
-	
-	@flash_message()   
-    <h1 align="center">Search</h1>
-    
-    @helper.form(routes.AccountController.getSearchServiceLogForWorkflow()) {
-    	<div class="ui-widget">
-       	<div class = "col-sm-offset-3 col-sm-10">
-       		@inputText(serviceLogForm("User Id"), 'id -> "userId", '_label -> Messages("User Id"), 'placeholder -> "CCS student 1", 'size->70)
-	    </div>
-	    <div class = "col-sm-offset-3 col-sm-10">
-	    	@inputText(serviceLogForm("Start Time"), 'id -> "startTime", '_label -> Messages("Start Time"), 'placeholder -> "mm/dd/yyyy hh:mm", 'size->70)
-	    	@inputText(serviceLogForm("End Time"), 'id -> "endTime", '_label -> Messages("End Time"), 'placeholder -> "mm/dd/yyyy hh:mm", 'size->70)
-	    	<div id="show" style="display: none;">
-	    		<textarea style="width: 640px" rows="4" id="content"></textarea>
-	    	</div>
-	    </div>
-	    <div align="center">
-	    <button id="preview" type="button" class="btn btn-info"> Preview</button>	
-	    <input class="btn" type="submit" value="Search" >
-	    </div>
-	    </div>
-	    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/searchLogResult.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/searchLogResult.scala.html b/app/views/climate/searchLogResult.scala.html
deleted file mode 100644
index 3e2a1a6..0000000
--- a/app/views/climate/searchLogResult.scala.html
+++ /dev/null
@@ -1,69 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(serviceLogs: List[metadata.ServiceLog])
-
-@import helper._
-
-@scripts = {
-	<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-}
-
-@main("Result Service Logs", scripts){
-	
-	@flash_message()   
-	 
-    <h1>@serviceLogs.size() Service Logs Found</h1>
-
-	<table class="table table-striped table-bordered table-condensed tablesorter" id ="myTable3">
-	<thead>
-	<tr>
-		<th style = "vertical-align: top;" class="col-sm-4">Service Name</td>
-		<th style = "vertical-align: top;" class="col-sm-2">User Name</td>
-		<th style = "vertical-align: top;" class="col-sm-2">Purpose</td>
-		<th style = "vertical-align: top;" class="col-sm-2">Execution Start Time</td>
-		<th style = "vertical-align: top;" class="col-sm-2">Execution End Time</td>		
-		<th style = "vertical-align: top;" class="col-sm-1">DataSet Start Time</td>
-		<th style = "vertical-align: top;" class="col-sm-1">DataSet End Time</td>
-		<th style = "vertical-align: top;" class="col-sm-1">Details</td>
-	</tr>
-	</thead>
-	@for(serviceLog <- serviceLogs) {
-	<tr>
-	<td><font size="2">@serviceLog.getServiceName</font></td>
-	<td><font size="2">@serviceLog.getUserId</font></td>
-	<td><font size="2">@serviceLog.getPurpose</font></td>
-	<td><font size="2">@serviceLog.getExecutionStartTime</font></td>
-	<td><font size="2">@serviceLog.getExecutionEndTime</font></td>
-	<td><font size="2">@serviceLog.getDataSetStartTime</font></td>
-	<td><font size="2">@serviceLog.getDataSetEndTime</font></td>
-	<td>
-	@form(routes.ClimateServiceController.getConfigurationByConfId()){
-		<input
-			name="serviceId" class="hidden" type="hidden"
-			value="@serviceLog.getServiceId">  
-		<input
-			name="logId" class="hidden" type="hidden"
-			value="@serviceLog.getServiceConfigurationId"> 
-		<input
-			type="submit" value="see detail">
-	}
-	</td>
-	</tr>
-	}
-	</table>
-	}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/searchLogResultWorkflow.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/searchLogResultWorkflow.scala.html b/app/views/climate/searchLogResultWorkflow.scala.html
deleted file mode 100644
index 18ace8e..0000000
--- a/app/views/climate/searchLogResultWorkflow.scala.html
+++ /dev/null
@@ -1,98 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(serviceLogs: List[metadata.ServiceLog], userId: String, start: String, end: String, jsonData: String)
-
-@import helper._
-
-@scripts = {
-	<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-	<link rel="stylesheet" href="//code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css">
-	<script src="//code.jquery.com/jquery-1.10.2.js"></script>
-  	<script src="//code.jquery.com/ui/1.11.3/jquery-ui.js"></script>
-  	<script type="text/javascript">
-	$(document).ready(function(){
-		var user = $('#user').text();
-		var start = $('#start').text();
-		var end = $('#end').text();
-		$("#user2").val(user);
-		$("#startTime2").val(start);
-		$("#endTime2").val(end);
-		
-		if(jsonData!=null){
-			var jsonString = $('#jsonData').text();
-	  	 	var obj = JSON.parse(jsonString);
-	  	 	var data = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(obj));
-			
-	  	 	$('<a href="data:' + data + '" download="data.json">download JSON</a>').appendTo('#download');
-		}
-		
-	});
-		
-	</script>
-}
-
-@main("Result Service Logs", scripts){
-	
-	@flash_message()   
-	<div id="download"></div>
-	<div id="user" style="display: none">@userId</div>
-	<div id="start" style="display: none">@start</div>
-	<div id="end" style="display: none">@end</div>
-	<div id="jsonData" style="display: none;">@jsonData</div>
-	@helper.form(routes.AccountController.getJsonData()) {
-    <div align="right">
-    	<input type="hidden" id="user2" name="User Id"></input>
-    	<input type="hidden" id="startTime2" name="Start Time"></input>
-    	<input type="hidden" id="endTime2" name="End Time"></input>
-		<input id="workflow-gen" type="submit" class="btn btn-info text-right" value="Generate Workflow"></input>
-    </div>
-    }
-    <h1>@serviceLogs.size() Service Logs</h1>
-
-		<table class="table table-striped table-bordered table-condensed">
-	<tr>
-		<td>ServiceId</td>
-		<td>User</td>
-		<td>Purpose</td>
-		<td>StartTime</td>
-		<td>EndTime</td>
-		<td>ServiceConfigurationId</td>
-	</tr>
-	@for(serviceLog <- serviceLogs) {
-	<tr>
-	<td>@serviceLog.getServiceId</td>
-	<td>@serviceLog.getUserId</td>
-	<td>@serviceLog.getPurpose</td>
-	<td>@serviceLog.getExecutionStartTime</td>
-	<td>@serviceLog.getExecutionEndTime</td>
-	<td>
-	@form(routes.ClimateServiceController.getConfigurationByConfId()){ 
-		<input
-			name="serviceId" class="hidden" type="hidden"
-			value="@serviceLog.getServiceId">  
-		<input
-			name="logId" class="hidden" type="hidden"
-			value="@serviceLog.getServiceConfigurationId"> 
-		<input
-			type="submit" class="btn btn-link" value="see detail">
-	}
-	</td>
-	</tr>
-	}
-	</table>
-	}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/searchServiceLog.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/searchServiceLog.scala.html b/app/views/climate/searchServiceLog.scala.html
deleted file mode 100644
index 0e30c47..0000000
--- a/app/views/climate/searchServiceLog.scala.html
+++ /dev/null
@@ -1,212 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(serviceLogForm: play.data.Form[metadata.ServiceLog])
-
-@import helper._
-
-@scripts = {
-	<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-	<link rel="stylesheet" href="//code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css">
-	<script src="//code.jquery.com/jquery-1.10.2.js"></script>
-  	<script src="//code.jquery.com/ui/1.11.3/jquery-ui.js"></script>
-	<script type="text/javascript">
-	$(function() {
-	    var availableTags = [	      
-	      "ARGO/ARGO",
-	      "CCCMA/CANAM4",
-	      "CSIRO/MK3.6",
-	      "ECMWF/interim",
-	      "GFDL/CM3",
-	      "GFDL/ESM2G",
-	      "GISS/E2-H",
-	      "GISS/E2-R",
-	      "IPSL/CM5A-LR",
-	      "MIROC/MIROC5",
-	      "NASA/AIRS",
-	      "NASA/AMSRE",
-	      "NASA/AVISO",
-	      "NASA/CERES",
-	      "NASA/GPCP",
-	      "NASA/GRACE",
-	      "NASA/MLS",
-	      "NASA/MODIS",
-	      "NASA/QuikSCAT",
-	      "NASA/TRMM",
-	      "NCAR/CAM5",
-	      "NCC/NORESM",
-	      "NOAA/NODC",
-	      "UKMO/HadGEM2-A",
-	      "UKMO/HadGEM2-ES"
-	    ];
-	    var availableTagsVariableName = ["Air Temperature",
-					"Cloud Ice Water Content", "Cloud Liquid Water Content",
-					"Eastward Near-Surface Wind",
-					"Equivalent Water Height Over Land",
-					"Equivalent Water Height Over Ocean", "Leaf Area Index",
-					"Near-Surface Air Temperature",
-					"Near-Surface Relative Humidity",
-					"Near-Surface Wind Speed", "Northward Near-Surface Wind",
-					"Ocean Heat Content Anomaly within 2000 m Depth",
-					"Ocean Heat Content Anomaly within 700 m Depth",
-					"Ocean Salinity", "Ocean Temperature",
-					"Precipitation Flux", "Precipitation", "Relative Humidity",
-					"Sea Surface Height", "Sea Surface Temperature",
-					"Specific Humidity",
-					"Surface Downwelling Clear-Sky Longwave Radiation",
-					"Surface Downwelling Clear-Sky Shortwave Radiation",
-					"Surface Downwelling Longwave Radiation",
-					"Surface Downwelling Shortwave Radiation",
-					"Surface Temperature",
-					"Surface Upwelling Clear-Sky Shortwave Radiation",
-					"Surface Upwelling Longwave Radiation",
-					"Surface Upwelling Shortwave Radiation",
-					"TOA Incident Shortwave Radiation",
-					"TOA Outgoing Clear-Sky Longwave Radiation",
-					"TOA Outgoing Clear-Sky Shortwave Radiation",
-					"TOA Outgoing Longwave Radiation",
-					"TOA Outgoing Shortwave Radiation", "Total Cloud Fraction",
-					"Vertical Wind Velocity" ];
-			$("#dataSource").autocomplete({
-				source : availableTags
-			});
-			$("#variableName").autocomplete({
-				source : availableTagsVariableName
-			});
-		});
-
-		$(document).ready(
-				function() {
-					$("#preview").click(
-							function() {
-								var target = document.getElementById("show");
-								if (target.style.display == "none") {
-									target.style.display = "block";
-									$("#preview").text("Hide");
-									var dataS = $("#dataSource").val();
-									var varName = $("#variableName").val();
-									var exectionPurpose = $("#exectionPurpose")
-											.val();
-									/* var userId = $("#userId").val(); */
-									var executionStartTime = $(
-											"#executionStartTime").val();
-									var executionEndTime = $(
-											"#executionEndTime").val();
-									var dataSetStartTime = $(
-											"#dataSetStartTime").val();
-									var dataSetEndTime = $("#dataSetEndTime")
-											.val();
-
-									/* var startLon = $("#startLon").val();
-									var endLon = $("#endLon").val();
-									var startPre = $("#startPre").val();
-									var endPre = $("#endPre").val(); */
-									if (dataS != "") {
-										$("#content").append(
-												" Data Source = " + dataS);
-									}
-									if (varName != "" && varName != null) {
-										$("#content").append(
-												" Variable Name = " + varName);
-									}
-									if (exectionPurpose != ""
-											&& exectionPurpose != null) {
-										$("#content").append(
-												" Exection Purpose = "
-														+ exectionPurpose);
-									}
-									/* if(userId!="" && userId!=null){
-										$("#content").append(" UserId = "+userId);	
-									} */
-									if (executionStartTime != ""
-											&& executionStartTime != null) {
-										$("#content").append(
-												" Execution Start Time = "
-														+ executionStartTime);
-									}
-									if (executionEndTime != ""
-											&& executionEndTime != null) {
-										$("#content").append(
-												"Execution End Time = "
-														+ executionEndTime);
-									}
-									if (dataSetStartTime != ""
-											&& dataSetStartTime != null) {
-										$("#content").append(
-												" DataSet Start Time = "
-														+ dataSetStartTime);
-									}
-									if (dataSetEndTime != ""
-											&& dataSetEndTime != null) {
-										$("#content").append(
-												" DataSet End Time = "
-														+ dataSetEndTime);
-									}
-
-								} else {
-									$("#content").val('');
-									target.style.display = "none";
-									$("#preview").text("Preview");
-								}
-							});
-				});
-	</script>
-}
-
-@main("Search Execution Service Logs", scripts) {
-	
-	@flash_message()   
-	
-    <h1 style="margin-left:360px"> Search Service Execution Log</h1>
-    
-    @helper.form(routes.AccountController.getSearchServiceLogOneDimension()) {
-    	<!-- @select(serviceLogForm("Data Source"), options(Seq("NASA/MODIS","NASA/AMSRE","NASA/TRMM","NASA/GPCP","NASA/QuikSCAT","NASA/AVISO","NASA/GRACE","")), '_label -> "Data Source", '_default -> "", 'style->"width: 290px")  --> 
-    	<div class="ui-widget col-sm-offset-3 col-sm-7">
-    	<div class = "form-group">
-    		@inputText(serviceLogForm("Data Source"),'class -> "form-control", 'id -> "dataSource", '_label -> Messages("Data Source"), 'placeholder -> "NASA/MODIS", 'size->70) 
-    	</div>
-    	<div class = "form-group">
-    		@inputText(serviceLogForm("Variable Name"),'class -> "form-control", 'id -> "variableName", '_label -> Messages("Variable Name"), 'placeholder -> "Total Cloud Fraction", 'size->70) 
-    	</div>
-    	<div class = "form-group">
-    		@inputText(serviceLogForm("Execution Purpose"),'class -> "form-control", 'id -> "exectionPurpose", '_label -> Messages("Execution Purpose"), 'placeholder -> "test", 'size->70) 
-       	</div>
-       	<!-- <div class = "form-group">
-       		@inputText(serviceLogForm("User Id"),'class -> "form-control", 'id -> "userId", '_label -> Messages("User Id"), 'placeholder -> "123", 'size->70)
-	    </div> -->
-	    <div class = "form-group">
-	    	@inputText(serviceLogForm("Execution Start Time"),'class -> "form-control", 'id -> "executionStartTime", '_label -> Messages("Execution Start Time"), 'placeholder -> "MM/DD/YYYY hh:mm", 'size->70)
-	    	@inputText(serviceLogForm("Execution End Time"),'class -> "form-control", 'id -> "executionEndTime", '_label -> Messages("Execution End Time"), 'placeholder -> "MM/DD/YYYY hh:mm", 'size->70)
-	    	<!-- @inputText(serviceLogForm("Start Latitude"),'class -> "form-control",'id -> "startLa", '_label -> Messages("Start Latitude"), 'placeholder -> "-90", 'size->70)
-	    	@inputText(serviceLogForm("End Latitude"),'class -> "form-control",'id -> "endLa", '_label -> Messages("End Latitude"), 'placeholder -> "90", 'size->70) -->
-	    	
-	    </div>
-	    <div class = "form-group">
-	    	@inputText(serviceLogForm("Dataset Start Time"),'class -> "form-control", 'id -> "dataSetStartTime", '_label -> Messages("Dataset Start Time"), 'placeholder -> "YYYYMM", 'size->70)
-	    	@inputText(serviceLogForm("Dataset End Time"),'class -> "form-control", 'id -> "dataSetEndTime", '_label -> Messages("Dataset End Time"), 'placeholder -> "YYYYMM", 'size->70)
-	    	
-	    	<div id="show" style="display: none;">
-	    		<textarea style="width: 640px" rows="4" id="content"></textarea>
-	    	</div>
-	    </div>
-	    <div align="center">
-	    <button id="preview" type="button" class="btn btn-info"> Preview</button>	
-	    <input class="btn" type="submit" value="Search" >
-	    </div>
-	    </div>
-	    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/serviceLog.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/serviceLog.scala.html b/app/views/climate/serviceLog.scala.html
deleted file mode 100644
index 0b02416..0000000
--- a/app/views/climate/serviceLog.scala.html
+++ /dev/null
@@ -1,107 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(serviceLogs: List[metadata.ServiceLog], serviceLogForm: play.data.Form[metadata.ServiceLog])
-
-@import helper._
-
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-	
-@scripts = {
-	<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-	<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-}
-
-@main("Service Execution Logs", scripts){
-	
-	@flash_message()   
-	 
-    <h1>@serviceLogs.size() Service Logs Found</h1>
-    <!-- 
-    @helper.form(routes.AccountController.syncData()) {
-    	<div class = "col-sm-2">
-    		<input class="btn btn-primary" type="submit" value="Sync data" style="margin-top:18px">
-    	</div>
-    }
-     -->
-    @helper.form(routes.AccountController.getSearchServiceLog()) {
-    <div class = "container">
-    	<div class = "col-sm-offset-2 col-sm-1">
-    		<!-- @inputText(serviceLogForm("User Id"),  'class -> "form-control", 'id -> "userId", '_label -> Messages("User Id"), 'placeholder -> "123") -->
-    	</div>
-    	<div class = "col-sm-4" >
-    		@inputText(serviceLogForm("Start Time"), 'class -> "form-control", 'id -> "startTime", 'type -> "datetime-local", '_label -> Messages("Execution Start Time"))
-    	</div>
-    	<div class = "col-sm-4">
-	    	@inputText(serviceLogForm("End Time"),  'class -> "form-control", 'id -> "endTime", 'type -> "datetime-local", '_label -> Messages("Execution End Time"))
-    	</div>
-    	<input class="btn btn-success" type="submit" value="Search" style="margin-top:23px">
-    </div>
-    }
-
-    <table class="table table-striped table-bordered table-condensed tablesorter" id ="myTable2">
-    <thead>
-	<tr>
-		<th style = "vertical-align: top;" class="col-sm-4">Service Name</td>
- 		<th style = "vertical-align: top;" class="col-sm-2">User Name</td> 
-		<th style = "vertical-align: top;" class="col-sm-2">Purpose</td>
-		<th style = "vertical-align: top;" class="col-sm-2">Execution Start Time</td>
-		<th style = "vertical-align: top;" class="col-sm-2">Execution End Time</td>		
-		<th style = "vertical-align: top;" class="col-sm-1">DataSet Start Time</td>
-		<th style = "vertical-align: top;" class="col-sm-1">DataSet End Time</td>
-		<th style = "vertical-align: top;" class="col-sm-1">Details</td>
-		<!-- 
-		<td class="col-md-2">Operation</td>
-		 -->
-	</tr>
-	</thead>
-	@for(serviceLog <- serviceLogs) {
-	<tr>
-	<td><font size="2">@serviceLog.getServiceName</font></td>
- 	<td><font size="2">@serviceLog.getUserId</font></td>
-	<td><font size="2">@serviceLog.getPurpose</font></td>
-	<td><font size="2">@serviceLog.getExecutionStartTime</font></td>
-	<td><font size="2">@serviceLog.getExecutionEndTime</font></td>
-	<td><font size="2">@serviceLog.getDataSetStartTime</font></td>
-	<td><font size="2">@serviceLog.getDataSetEndTime</font></td>
-	<td>
-	@form(routes.ClimateServiceController.getConfigurationByConfId()){
-		<input
-			name="logId" class="hidden" type="hidden"
-			value="@serviceLog.getServiceExecutionLogId">
-		<input
-			type="submit"  value="see details">
-	}
-	</td>
-	<!--  
-	<td>
-	@form(routes.ClimateServiceController.deleteServiceLog()){ 
-		<input
-			name="idHolder" class="hidden" type="hidden"
-			value="@serviceLog.getServiceExecutionLogId">
-		<input
-			type="submit" class="btn btn-primary delete-btn span2" value="Delete"
-			onclick="return confirm('Are you sure you want to delete this log?')">
-		}
-	</td>
-	-->
-	</tr>
-	}
-    </table>
-
-	}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/threeDVariableAerageVerticalProfile.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/threeDVariableAerageVerticalProfile.scala.html b/app/views/climate/threeDVariableAerageVerticalProfile.scala.html
deleted file mode 100644
index 74d3e5a..0000000
--- a/app/views/climate/threeDVariableAerageVerticalProfile.scala.html
+++ /dev/null
@@ -1,740 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(parameters: metadata.ThreeDVarAvgVertical4Profile) @import helper._
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-@scripts = {
-<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js"></script>
-	<script type="
-	text/javascript" src='@routes.Assets.at("javascripts/json2.js")'></script>
-<script type="text/javascript" src="@routes.Assets.at("javascripts/xmisc.js")"></script>
-<script type="text/javascript">
-	var Response = null;
-    var variable = "";
-    window.onload = function() {
-      select_all_months();
-      getDataSource();
-      select_data();
-      getVariableName();
-      select_var();
-      $('#t0').val(@parameters.getStartYearMonth());
-      $('#t1').val(@parameters.getEndYearMonth());
-      var selectMonths = $('#selectMonths').text();
-      $('#months option:contains('+selectMonths+')').prop({selected: true});
-      select_months();
-      select_monthsByPara();
-      $('#lat0').val($('#startLat').text());
-      $('#lat1').val($('#endLat').text());
-      $('#lon0').val($('#startLon').text());
-      $('#lon1').val($('#endLon').text());
-      var pressureLvlScale = $('#pressureLevelScale').text();
-      if(pressureLvlScale == "0") {
-        $('#radioLin').prop( "checked", true );
-        $('#radioLog').prop( "checked", false );
-      }
-      else {
-        $('#radioLin').prop( "checked", false );
-        $('#radioLog').prop( "checked", true );
-      }
-      var variableScale = $('#variableScale').text();
-      if(variableScale == "0") {
-        $('#radioLin2').prop("checked", true);
-        $('#radioLog2').prop("checked", false);
-      }
-      else {
-        $('#radioLin2').prop("checked", false);
-        $('#radioLog2').prop("checked", true);
-      }
-      $('#purpose').html($('#executionPurpose').text());
-      var imageUrl = $('#image').text();
-      $('#Image').html('<img src="'+imageUrl+'" width=680 />');
-      $('#data_url').html($('#dataURL').text());
-    }
-    function getDataSource()
-    {
-      var dataSource = $('#dataSource').text();
-      var x = document.getElementById("data");
-      if(dataSource == "NASA_AIRS") {
-        x.options[0].selected = true;
-      }
-      else if(dataSource == "NASA_MLS") {
-        x.options[1].selected = true;
-      }
-      else if(dataSource == "ARGO_ARGO") {
-        x.options[2].selected = true;
-      }
-      else if(dataSource == "CCCMA_CANESM2") {
-        x.options[3].selected = true;
-      }
-      else if(dataSource == "GFDL_ESM2G") {
-        x.options[4].selected = true;
-      }
-      else if(dataSource == "GISS_E2-H") {
-        x.options[5].selected = true;
-      }
-      else if(dataSource == "GISS_E2-R") {
-        x.options[6].selected = true;
-      }
-      else if(dataSource == "NCAR_CAM5") {
-        x.options[7].selected = true;
-      }
-      else if(dataSource == "NCC_NORESM") {
-        x.options[8].selected = true;
-      }
-      else if(dataSource == "UKMO_HadGEM2-ES") {
-        x.options[9].selected = true;
-      }
-      else if(dataSource == "CCCMA_CANAM4") {
-        x.options[10].selected = true;
-      }
-      else if(dataSource == "CSIRO_MK3.6") {
-        x.options[11].selected = true;
-      }
-      else if(dataSource == "GFDL_CM3") {
-        x.options[12].selected = true;
-      }
-      else if(dataSource == "IPSL_CM5A-LR") {
-        x.options[13].selected = true;
-      }
-      else if(dataSource == "MIROC_MIROC5") {
-        x.options[14].selected = true;
-      }
-      else if(dataSource == "UKMO_HadGEM2-A") {
-        x.options[15].selected = true;
-      }
-      else if(dataSource == "ECMWF_interim") {
-        x.options[16].selected = true;
-      }
-    }
-    function getVariableName()
-    {
-      var var_string = $('#variableName').text();
-      var x=document.getElementById("var");
-      if(var_string == "ta") {
-        x.options[0].selected = true;
-      }
-      else if(var_string == "hus") {
-        x.options[1].selected = true;
-      }
-      else if(var_string == "cli") {
-        x.options[2].selected = true;
-      }
-      else if(var_string == "clw") {
-        x.options[3].selected = true;
-      }
-      else if(var_string == "ot") {
-        x.options[4].selected = true;
-      }
-      else if(var_string == "os") {
-        x.options[5].selected = true;
-      }
-      else if(var_string == "wap") {
-        x.options[6].selected = true;
-      }
-      else if(var_string == "hur") {
-        x.options[7].selected = true;
-      }
-    }
-    function select_monthsByPara(){
-      var monthsByPara = $('#monthsPara').text();
-      if(monthsByPara.search("jan")>-1){
-        document.getElementById('Jan').checked = true;
-      }
-      if(monthsByPara.search("feb")>-1){
-        document.getElementById('Feb').checked = true;
-      }
-      if(monthsByPara.search("mar")>-1){
-        document.getElementById('Mar').checked = true;
-      }
-      if(monthsByPara.search("apr")>-1){
-        document.getElementById('Apr').checked = true;
-      }
-      if(monthsByPara.search("may")>-1){
-        document.getElementById('May').checked = true;
-      }
-      if(monthsByPara.search("jun")>-1){
-        document.getElementById('Jun').checked = true;
-      }
-      if(monthsByPara.search("jul")>-1){
-        document.getElementById('Jul').checked = true;
-      }
-      if(monthsByPara.search("aug")>-1){
-        document.getElementById('Aug').checked = true;
-      }
-      if(monthsByPara.search("sep")>-1){
-        document.getElementById('Sep').checked = true;
-      }
-      if(monthsByPara.search("oct")>-1){
-        document.getElementById('Oct').checked = true;
-      }
-      if(monthsByPara.search("nov")>-1){
-        document.getElementById('Nov').checked = true;
-      }
-      if(monthsByPara.search("dec")>-1){
-        document.getElementById('Dec').checked = true;
-      }
-    }
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-    function select_all_months()
-    {
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-        document.getElementById('Dec').checked = true;
-    }
-    function no_month_check()
-    {
-        if (document.getElementById('Jan').checked == false &&
-           document.getElementById('Feb').checked == false &&
-           document.getElementById('Mar').checked == false &&
-           document.getElementById('Apr').checked == false &&
-           document.getElementById('May').checked == false &&
-           document.getElementById('Jun').checked == false &&
-           document.getElementById('Jul').checked == false &&
-           document.getElementById('Aug').checked == false &&
-           document.getElementById('Sep').checked == false &&
-           document.getElementById('Oct').checked == false &&
-           document.getElementById('Nov').checked == false &&
-           document.getElementById('Dec').checked == false) {
-           return true;
-          }
-        else
-           return false;
-    }
-    function reset_months()
-    {
-        document.getElementById('Jan').checked = false;
-        document.getElementById('Feb').checked = false;
-        document.getElementById('Mar').checked = false;
-        document.getElementById('Apr').checked = false;
-        document.getElementById('May').checked = false;
-        document.getElementById('Jun').checked = false;
-        document.getElementById('Jul').checked = false;
-        document.getElementById('Aug').checked = false;
-        document.getElementById('Sep').checked = false;
-        document.getElementById('Oct').checked = false;
-        document.getElementById('Nov').checked = false;
-        document.getElementById('Dec').checked = false;
-    }
-    function reset_vars()
-    {
-      var x=document.getElementById("var");
-      x.options[0].disabled=false;
-      x.options[1].disabled=false;
-      x.options[2].disabled=false;
-      x.options[3].disabled=false;
-      x.options[4].disabled=false;
-      x.options[5].disabled=false;
-      x.options[6].disabled=false;
-      x.options[7].disabled=false;
-    }
-    function select_var()
-    {
-      var var_string = $("#var").val();
-      disable_download_button();
-      if (var_string == "Air Temperature")
-        variable = "ta";
-      else if (var_string == "Specific Humidity")
-        variable = "hus";
-      else if (var_string == "Cloud Ice Water Content")
-        variable = "cli";
-      else if (var_string == "Cloud Liquid Water Content")
-        variable = "clw";
-      else if (var_string == "Ocean Temperature")
-        variable = "ot";
-      else if (var_string == "Ocean Salinity")
-        variable = "os";
-      else if (var_string == "Vertical Wind Velocity")  
-        variable = "wap";  
-      else if (var_string == "Relative Humidity")  
-        variable = "hur";  
-    }
-    function select_data()
-    {
-      var data_string = $("#data").val();
-      var x=document.getElementById("var");
-      disable_download_button();
-      reset_vars();
-      if (data_string == "NASA/AIRS") {
-        x.options[0].selected=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "NASA/MLS") {
-        x.options[0].selected=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "ARGO/ARGO") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].selected=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "ECMWF/interim") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].selected=true;
-      }
-      else {
-        x.options[0].selected=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-      }
-      select_var();
-    }
-    function select_months()
-    {
-      var s1=document.getElementById("months");
-      disable_download_button();
-      if (s1.selectedIndex == 1) {
-        reset_months();
-      }
-      if (s1.selectedIndex == 0) {
-        select_all_months();
-      }
-      if (s1.selectedIndex == 2) {
-        reset_months();
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-      }
-      if (s1.selectedIndex == 3) {
-        reset_months();
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-      }
-      if (s1.selectedIndex == 4) {
-        reset_months();
-        document.getElementById('Dec').checked = true;
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-      }
-      if (s1.selectedIndex == 5) {
-        reset_months();
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-      }
-    }
-    $(document).ready(function(){
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        window.location.assign(durl);
-      });
-      $("#threedvertical").click(function(event) {
-	Response = null;
-        disable_download_button();
-        if (no_month_check()) {
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        }
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-        var url = "http://" + window.location.hostname + ":9002/svc/threeDimVerticalProfile?";
-        var d1 = $("#data").val();
-        var model1 = d1.replace("/", "_");
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-        var v1 = $("#var").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(variable);
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-        var s1 = document.getElementById('months');
-        var month_str = "";
-        var mm = document.getElementById('Jan');
-        if (mm.checked == true)
-          month_str = month_str.concat(",1");
-        var mm = document.getElementById('Feb');
-        if (mm.checked == true)
-          month_str = month_str.concat(",2");
-        var mm = document.getElementById('Mar');
-        if (mm.checked == true)
-          month_str = month_str.concat(",3");
-        var mm = document.getElementById('Apr');
-        if (mm.checked == true)
-          month_str = month_str.concat(",4");
-        var mm = document.getElementById('May');
-        if (mm.checked == true)
-          month_str = month_str.concat(",5");
-        var mm = document.getElementById('Jun');
-        if (mm.checked == true)
-          month_str = month_str.concat(",6");
-        var mm = document.getElementById('Jul');
-        if (mm.checked == true)
-          month_str = month_str.concat(",7");
-        var mm = document.getElementById('Aug');
-        if (mm.checked == true)
-          month_str = month_str.concat(",8");
-        var mm = document.getElementById('Sep');
-        if (mm.checked == true)
-          month_str = month_str.concat(",9");
-        var mm = document.getElementById('Oct');
-        if (mm.checked == true)
-          month_str = month_str.concat(",10");
-        var mm = document.getElementById('Nov');
-        if (mm.checked == true)
-          month_str = month_str.concat(",11");
-        var mm = document.getElementById('Dec');
-        if (mm.checked == true)
-          month_str = month_str.concat(",12");
-        month_str = month_str.substr(1);
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-        arglist = arglist.concat("&scale=");
-        var y = document.getElementById("radioLin").checked;
-        var yval;
-        var x = document.getElementById("radioLin2").checked;
-        var xval;
-        if (y == true)
-          yval = 0;
-        else
-          yval = 2;
-        if (x == true)
-          xval = 0;
-        else
-          xval = 1;
-        var scale1 =  yval + xval;
-        var scale1_str =  scale1.toString();
-        arglist = arglist.concat(scale1_str);
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-        url = url + encodeURI(arglist);
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                $("#Response").html(text);
-                var html1 = "<img src='"+data.url+"' width='680'/>";
-                $("#Image").html(html1);
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-                $("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-      });
-    });
-  </script>
-} @main("Parameters of ConfId", scripts){ @flash_message()
-<p>
-<div id="dataSource" style="display: none">@parameters.getDataSource()</div>
-<div id="variableName" style="display: none">@parameters.getVariableName()</div>
-<div id="startYearMonth" style="display: none">@parameters.getStartYearMonth()</div>
-<div id="endYearMonth" style="display: none">@parameters.getEndYearMonth()</div>
-<div id="selectMonths" style="display: none">@parameters.getSelectMonths()</div>
-<div id="monthsPara" style="display: none">@parameters.getMonth()</div>
-<div id="startLat" style="display: none">@parameters.getStartLat()</div>
-<div id="endLat" style="display: none">@parameters.getEndLat()</div>
-<div id="startLon" style="display: none">@parameters.getStartLon()</div>
-<div id="endLon" style="display: none">@parameters.getEndLon()</div>
-<div id="pressureLevelScale" style="display: none">@parameters.getPressureLevelScale()</div>
-<div id="variableScale" style="display: none">@parameters.getVariableScale()</div>
-<div id="executionPurpose" style="display: none">@parameters.getExecutionPurpose()</div>
-<div id="image" style="display: none">@parameters.getImage()</div>
-<div id="dataURL" style="display: none">@parameters.getDataURL()</div>
-<div id="serviceResponseText" style="display: none">@parameters.getServiceResponseText()</div>
-<table border="1" align="center">
-	<tr>
-		<td colspan="4">
-			<center>
-				<b>Service: 3-D Variable Average Vertical Profile</b> <br>
-				<br> This service generates the average of a three-dimensional
-				variable over a specified region and time and display the average as
-				a function of pressure level as an X-Y plot. <br>
-				<br>
-			</center>
-		</td>
-	</tr>
-	<tr>
-		<td>data source:</td>
-		<td><select name="data" , id="data" onchange="select_data()">
-				<optgroup label="Observation">
-					<option>NASA/AIRS</option>
-					<option>NASA/MLS</option>
-					<option>ARGO/ARGO</option>
-				</optgroup>
-				<optgroup label="Model: Historical">
-					<option>CCCMA/CANESM2</option>
-					<option>GFDL/ESM2G</option>
-					<option>GISS/E2-H</option>
-					<option>GISS/E2-R</option>
-					<option>NCAR/CAM5</option>
-					<option>NCC/NORESM</option>
-					<option>UKMO/HadGEM2-ES</option>
-				</optgroup>
-				<optgroup label="Model: AMIP">
-					<option>CCCMA/CANAM4</option>
-					<option>CSIRO/MK3.6</option>
-					<option>GFDL/CM3</option>
-					<option>IPSL/CM5A-LR</option>
-					<option>MIROC/MIROC5</option>
-					<option>UKMO/HadGEM2-A</option>
-				</optgroup>
-				<optgroup label="Reanalysis">
-					<option>ECMWF/interim</option>
-				</optgroup>
-		</select></td>
-		<td>variable name:</td>
-		<td><select name="var" , id="var" onchange="select_var()">
-				<option>Air Temperature</option>
-				<option>Specific Humidity</option>
-				<option>Cloud Ice Water Content</option>
-				<option>Cloud Liquid Water Content</option>
-				<option>Ocean Temperature</option>
-				<option>Ocean Salinity</option>
-				<option>Vertical Wind Velocity</option>
-				<option>Relative Humidity</option>
-		</select></td>
-	</tr>
-	<tr>
-		<td>start year-month:</td>
-		<td><input id="t0" value="2004-01" alt="start" /></td>
-		<td>end year-month:</td>
-		<td><input id="t1" value="2004-12" alt="end" /></td>
-	</tr>
-	<tr>
-		<td>select months:</td>
-		<td><select name="months" id="months" onchange="select_months()">
-				<option id="all">select all</option>
-				<option id="none" selected="selected">select none</option>
-				<option id="summer">Summer:Jun-Jul-Aug</option>
-				<option id="autum">Autumn:Sep-Oct-Nov</option>
-				<option id="winter">Winter:Dec-Jan-Feb</option>
-				<option id="spring">Spring:Mar-Apr-May</option>
-		</select></td>
-		<td></td>
-		<td></td>
-	</tr>
-	<tr>
-		<td><label><input type="checkbox" name="option1" id="Jan"
-				value="Jan" /> Jan<br></label> <label><input type="checkbox"
-				name="option1" id="Feb" value="Feb" /> Feb<br></label> <label><input
-				type="checkbox" name="option1" id="Mar" value="Mar" /> Mar<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Apr"
-				value="Apr" /> Apr<br></label> <label><input type="checkbox"
-				name="option1" id="May" value="May" /> May<br></label> <label><input
-				type="checkbox" name="option1" id="Jun" value="Jun" /> Jun<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Jul"
-				value="Jul" /> Jul<br></label> <label><input type="checkbox"
-				name="option1" id="Aug" value="Aug" /> Aug<br></label> <label><input
-				type="checkbox" name="option1" id="Sep" value="Sep" /> Sep<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Oct"
-				value="Oct" /> Oct<br></label> <label><input type="checkbox"
-				name="option1" id="Nov" value="Nov" /> Nov<br></label> <label><input
-				type="checkbox" name="option1" id="Dec" value="Dec" /> Dec<br></label>
-		</td>
-	</tr>
-	<tr>
-		<td>start lat (deg):</td>
-		<td><input id="lat0" value="-90" /></td>
-		<td>end lat (deg):</td>
-		<td><input id="lat1" value="90" /></td>
-	</tr>
-	<tr>
-		<td>start lon (deg):</td>
-		<td><input id="lon0" value="0" /></td>
-		<td>end lon (deg):</td>
-		<td><input id="lon1" value="360" /></td>
-	</tr>
-	<tr>
-		<td colspan="1">pressure level scale:</td>
-		<td colspan="1"><form>
-				<input type="radio" name="scale1" value="linear" id="radioLin">linear
-				<input type="radio" name="scale1" value="logarithmic" id="radioLog">logarithmic
-			</form></td>
-		<td colspan="1">variable scale:</td>
-		<td colspan="1">
-			<form>
-				<input type="radio" name="scale2" value="linear" id="radioLin2">linear
-				<input type="radio" name="scale2" value="logarithmic" id="radioLog2">logarithmic
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="1">Execution purpose</td>
-		<td colspan="3">
-			<form>
-				<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2" align="center"><input id="threedvertical"
-			type="submit" value="            Run  Again            "
-			style="height: 28px" /></td>
-		<form>
-			<td colspan="2" align="center"><input id="download_data"
-				type="button" value="Download Data" style="height: 28px" /></td>
-		</form>
-	</tr>
-	<tr>
-		<td colspan="4">
-			<div id="Image">Image Here</div>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="data_url"
-				cols="89" rows="2">Data URL Here</textarea></td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="Response"
-				cols="89" rows="6">Service Response Text Here</textarea></td>
-	</tr>
-	</p>
-</table>
-}


[25/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/jquery-1.6.4.min.js
----------------------------------------------------------------------
diff --git a/public/html/js/jquery-1.6.4.min.js b/public/html/js/jquery-1.6.4.min.js
deleted file mode 100644
index 628ed9b..0000000
--- a/public/html/js/jquery-1.6.4.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v1.6.4 http://jquery.com/ | http://jquery.org/license */
-(function(a,b){function cu(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cr(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cq(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cp(){cn=b}function co(){setTimeout(cp,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p
 ;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bA.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e i
 n b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bW(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bP,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bW(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bW(a,c,d,e,"*",g));return l}function bV(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bL),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function by(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bt:bu;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bv(a,b,b);if(d<0||d==null)d=a.
 style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bd,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bk(a){f.nodeName(a,"input")?bj(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bj)}function bj(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bi(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="op
 tion")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bf(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function V(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(Q.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function
 (a,d){return f.inArray(a,b)>=0===c})}function U(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function M(a,b){return(a&&a!=="*"?a+".":"")+b.replace(y,"`").replace(z,"&")}function L(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(w,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++
 ){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function D(){return!0}function C(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d
 :parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if
 (!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.4",length:0,size:function(){return this.length},t
 oArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=argumen
 ts.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;B.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachE
 vent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("
 return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:H?function(a){return a==null?"":H.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:fu
 nction(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?F.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(!b)return-1;if(I)return I.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=G.call(arguments,2),g=function(){return a.apply(c,f.concat(
 G.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){J["[object "+b+"]"]=b.toLowerCase()}),A=e.uaMatch(z),A.browser&&(e.brow
 ser[A.browser]=!0,e.browser.version=A.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?C=function(){c.removeEventListener("DOMContentLoaded",C,!1),e.ready()}:c.attachEvent&&(C=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",C),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferr
 ed(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g+"With"](this===b?d:this,[h])}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].pro
 mise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles
 :!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-1000px",top:"-1000px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.
 insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=
 null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i=f.expando,j=typeof c=="string",k=a.nodeType,l=k?f.cache:a,m=k?a[f.expando]:a[f.expando]&&f.expando;if((!m||e&&m&&l[m]&&!l[m][i])&&j&&d===b)return;m||(k?a[f.expando]=m=++f.uuid:m=f.expando),l[m]||(l[m]={},k||(l[m].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?l[m][i]=f.extend(l[m][i],c):l[m]=f.extend(l[m],c);g=l[m],e&&(g[i]||(g[i]={}),g=g[i]),d!==b&&(g[f.camelCase(c)]=d);if(c==="events"&&!g[c])return g[i]&&g[i].events;j?(h=g[c],h==null&&(h=g[f.camelCase(c)])):h=g;return h}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e=f.expando,g=a.nodeType,h=g?f.cache:a,i=g?a[f.exp
 ando]:f.expando;if(!h[i])return;if(b){d=c?h[i][e]:h[i];if(d){d[b]||(b=f.camelCase(b)),delete d[b];if(!l(d))return}}if(c){delete h[i][e];if(!l(h[i]))return}var j=h[i][e];f.support.deleteExpando||!h.setInterval?delete h[i]:h[i]=null,j?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=j):g&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHa
 ndler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue")
 )}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidd
 en|loop|multiple|open|readonly|required|scoped|selected)$/i,u,v;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.l
 ength;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e
 .type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d}
 ,set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=v:u&&(i=u)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.attr(a,b,""),a.removeAttribute(b),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type propert
 y can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(u&&f.nodeName(a,"button"))return u.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(u&&f.nodeName(a,"button"))return u.set(a,b,c);a.value=b}}},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(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==null?g:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.tes
 t(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabIndex=f.propHooks.tabIndex,v={get:function(a,c){var d;return f.prop(a,c)===!0||(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(u=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.
 toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=/\.(.*)$/,x=/^(?:textarea|input|select)$/i,y=/\./g,z=/ /g,A=/[^\w\s.|`]/g,B=function(a){return a.replace(A,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=C;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.
 triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=C);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"
 +f.map(m.slice(0).sort(),B).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete 
-t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)=
 ==!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode cl
 ientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKe
 y=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,M(a.origType,a.selector),f.extend({},a,{handler:L,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,M(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?D:C):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype
 ={preventDefault:function(){this.isDefaultPrevented=D;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=D;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=D,this.stopPropagation()},isDefaultPrevented:C,isPropagationStopped:C,isImmediatePropagationStopped:C};var E=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},F=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?F:E,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?F:E)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.eve
 nt.add(this,"click.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="submit"||c==="image")&&f(b).closest("form").length&&J("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&J("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var G,H=function(a){var b=f.nodeName(a,"input")?a.type:"",c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},I=function(c){var d=c.target,e,g;if(!!x.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=H(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g==
 =e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:I,beforedeactivate:I,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&I.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&I.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",H(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in G)f.event.add(this,c+".specialChange",G[c]);return x.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return x.test(this.nodeName)}},G=f.event.special.change.filters,G.focus=G.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f
 .event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return t
 his.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var K={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||C,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=w.exec(h),k="",j&&(k=j[0],h=h.replace(w,""));if(h==="hover"){a.push("mouseenter"+k,"m
 ouseleave"+k);continue}l=h,K[h]?(a.push(K[h]+k),h=h+k):h=(K[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+M(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+M(h,m),e)}return this}}),f.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".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1
 ;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.
 set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.sp
 lice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[
 \w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(
 d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(
 h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},f
 ilters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a)
 {return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function
 (a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g
 .length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosi
 tion(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||
 typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w
 \-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[tes
 t!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||
 a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var N=/Until$/,O=/^(?:parents|prevUntil|prevAll)/,P=/,/,Q=/^.[^:#\[\.,]*$/,R=Array.prototype.slice,S=f.expr.match.POS,T={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b
 .length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(V(this,a,!1),"not",a)},filter:function(a){return this.pushStack(V(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=S.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=S.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-
 1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(U(c[0])||U(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"i
 frame")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=R.call(arguments);N.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!T[a]?f.unique(e):e,(this.length>1||P.test(d))&&O.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|ob
 ject|embed|option|style)/i,bb=/checked\s*(?:[^=]|=\s*.checked.)/i,bc=/\/(java|ecma)script/i,bd=/^\s*<!(?:\[CDATA\[|\-\-)/,be={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].owner
 Document).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a
 .push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhites
 pace||!X.test(a))&&!be[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bb.test(j))return this.each(function(){f(this).domMan
 ip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bf(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bl)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!ba.test(a[0])&&(f.support.checkClone||!bb.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean
-(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)g[h]&&bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j+
 +){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=be[l]||be._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bk(k[i]);else bk(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bc.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j
 ]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bm=/alpha\([^)]*\)/i,bn=/opacity=([^)]*)/,bo=/([A-Z]|^ms)/g,bp=/^-?\d+(?:px)?$/i,bq=/^-?\d/,br=/^([\-+])=([\-+.\de]+)/,bs={position:"absolute",visibility:"hidden",display:"block"},bt=["Left","Right"],bu=["Top","Bottom"],bv,bw,bx;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{op
 acity:{get:function(a,b){if(b){var c=bv(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=br.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bv)return bv(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a)
 ;for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return by(a,b,d);f.swap(a,bs,function(){e=by(a,b,d)});return e}},set:function(a,b){if(!bp.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bm,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bv(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComput
 edStyle&&(bw=function(a,c){var d,e,g;c=c.replace(bo,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bx=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bp.test(d)&&bq.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bv=bw||bx,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bz=/%20/g,bA=/\[\]$/,bB=/\r?\n/g,bC=/#.*$/,bD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bE=/^(?:color|date|datetime|datetime-local|emai
 l|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bF=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bG=/^(?:GET|HEAD)$/,bH=/^\/\//,bI=/\?/,bJ=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bK=/^(?:select|textarea)/i,bL=/\s+/,bM=/([?&])_=[^&]*/,bN=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bO=f.fn.load,bP={},bQ={},bR,bS,bT=["*/"]+["*"];try{bR=e.href}catch(bU){bR=c.createElement("a"),bR.href="",bR=bR.href}bS=bN.exec(bR.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bO)return bO.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bJ,"")).find(g):c)),d&&i.ea
 ch(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bK.test(this.nodeName)||bE.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bB,"\r\n")}}):{name:b.name,value:c.replace(bB,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?bX(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),bX(a,b);re
 turn a},ajaxSettings:{url:bR,isLocal:bF.test(bS[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bT},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bV(bP),ajaxTransport:bV(bQ),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?bZ(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=b$(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w)
 ,o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bD.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[
 j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bC,"").replace(bH,bS[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bL),d.crossDomain==null&&(r=bN.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bS[1]&&r[2]==bS[2]&&(r[3]||(r[1]==="http:"?80:443))==(bS[3]||(bS[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bW(bP,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bG.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bI.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bM,"$1_="+x);d.url=y+(y===d.url?(bI.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.e
 tag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bT+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bW(bQ,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bz,"+")}}),f.extend({active:0,lastModified:{},e
 tag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text 
 script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.suppo
 rt.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj
 =/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cq("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cr(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cq("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:fu
 nction(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cq("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overf
 low,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cr(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cq("show",1),slideUp:cq("hide",1),slideToggle:cq("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fade
 Toggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.el
 em[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return d.step(a)}var d=this,e=f.fx;this.startTime=cn||co(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&f.timers.push(g)&&!cl&&(cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||co(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.
 support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){
 return a===b.elem}).length});var cs=/^t(?:able|d|h)$/i,ct=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cu(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h
 =g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cs.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f
 .css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a

<TRUNCATED>


[32/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/conditionalSampling2Var.html
----------------------------------------------------------------------
diff --git a/public/html/conditionalSampling2Var.html b/public/html/conditionalSampling2Var.html
deleted file mode 100644
index 16c2f91..0000000
--- a/public/html/conditionalSampling2Var.html
+++ /dev/null
@@ -1,785 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta charset="utf-8">
-
-  <!-- for Bootstrap -->
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
-  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
-
-  <!-- still needed? -->
-  <script src="js/jquery.flot.min.js"></script>
-  <script src="js/json2.js"></script>
-  <script src="js/xmisc.js"></script>
-
-  <!-- cmac related -->
-  <link rel="stylesheet" href="common.css">
-  <script src='js2/dataList2.js'></script>
-  <script src='js2/varList.js'></script>
-  <script src='js2/common.js'></script>
-
-  <title>Conditional Sampling 2 Var</title>
-
-  <script>
-
-    var Response = null;
-    var variable1 = "";
-    var variable2 = "";
-
-    var naValue = "-999999";
-
-    // called on load or reload
-    window.onload = function() {
-      var str1 = data_block_str(1, 3, "Physical Variable (sampled variable)", 
-          "range", "500,800");
-      document.getElementById("dataBlock1").innerHTML = str1;
-
-      str1 = data_block_str(2, 3, "Environmental Variable 1 (sampling variable)", 
-          "", "500");
-      document.getElementById("dataBlock2").innerHTML = str1;
-
-      str1 = data_block_str(3, 3, "Environmental Variable 2 (sampling variable)", 
-          "", "500");
-      document.getElementById("dataBlock3").innerHTML = str1;
-
-      put_data(1);
-      put_data(2);
-      put_data(3);
-      put_var(1);
-      put_var(2);
-      put_var(3);
-      select_var(1);
-      select_var(2);
-      select_var(3);
-      time_range3();
-      fillMonth();
-
-      disable_download_button();
-
-      select_all_months();
-      setDefault(1);
-      setDefault(2);
-    }
-
-    // disable customized input text boxes
-    function setDefault(ID)
-    {
-       // alert("in setDefault() ... ");
-       var x=document.getElementById("min"+ID);
-       var y=document.getElementById("max"+ID);
-       var z=document.getElementById("bins"+ID);
-       x.value = "N/A";
-       x.disabled=true;
-       y.value = "N/A";
-       y.disabled=true;
-       z.value = "N/A";
-       z.disabled=true;
-    }
-
-    // enable customized input text boxes
-    function setCustomized(ID)
-    {
-       // alert("in setCustomized() ... ");
-       var x=document.getElementById("min"+ID);
-       var y=document.getElementById("max"+ID);
-       var z=document.getElementById("bins"+ID);
-       x.value = "";
-       x.disabled=false;
-       y.value = "";
-       y.disabled=false;
-       z.value = "";
-       z.disabled=false;
-    }
-
-    $(document).ready(function(){
-
-      $("a").click(function(event){
-        alert("As you can see, the link no longer took you to jquery.com");
-        event.preventDefault();
-      });
-
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        // alert(durl);
-        window.location.assign(durl);
-      });
-
-
-      $("#conditionalSamp").click(function(event) {
-        // alert('****** inside conditionalSamp()!');
-        Response = null;
-
-        // no data to download yet
-        disable_download_button();
-
-        // flag error if no month box is checked
-        if (no_month_check()) {
-           // $("#Response").html("<span style='color:red'>Error: please check at least one month.</span>");
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        }
-
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-
-        // sample url: http://cmacws.jpl.nasa.gov:8090/svc/conditionalSampling?model1=ukmo_hadgem2-a&var1=ts&pres1=200&model2=ukmo_hadgem2-a&var2=clt&pres2=200&start_time=199001&end_time=199512&lon1=0&lon2=100&lat1=-29&lat2=29
-        // form url string
-        // var url = "http://cmacws.jpl.nasa.gov:8090/svc/conditionalSamp?";
-        var url = "http://" + window.location.hostname + ":9002/svc/conditionalSampling2Var?";
-        // alert("url: " + url);
-
-        var d1 = $("#data1").val();
-        var model1 = d1.replace("/", "_");
-        model1 = model1.toLowerCase();
-
-        var arglist = "";
-        arglist = arglist.concat("model1=");
-        arglist = arglist.concat(model1);
-
-        // alert("arglist: " + arglist);
-
-        var variable1 = $("#var1").val();
-        arglist = arglist.concat("&var1=");
-        arglist = arglist.concat(variable1);
-
-        // alert("arglist: " + arglist);
-
-
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-
-        // alert("arglist: " + arglist);
-
-        var press_range = $("#pres1").val();
-        // alert("press_range: " + press_range);
-
-        var pres12 = parse_pres(press_range);
-
-        var pres1;
-        var pres2;
-        if (pres12 === naValue) {
-          pres1 = naValue;
-          pres2 = naValue;
-        } else {
-          split12 = pres12.split(",");
-          if (split12.length != 2) {
-            alert("pressure level range needs to be two values separated by comma.");
-            return; 
-          } else {
-            pres1 = split12[0];
-            pres2 = split12[1];
-        
-            // when variable is the 3D Ocean Salinity or Ocean Temperature
-            if (variable1 == 'ot' || variable1 == 'os') {
-              pres1 = pres1 * 10000;  // convert from dbar on GUI
-              pres2 = pres2 * 10000;  // convert from dbar on GUI
-            } 
-            // when variable2 is 3D atmosphere var
-            else {
-              pres1 = pres1 * 100;  // convert from hPa on GUI
-              pres2 = pres2 * 100;  // convert from hPa on GUI
-            }
-          }
-        }
-        //alert("pres1, pres2: " + pres1 + ", " + pres2);
-
-        arglist = arglist.concat("&pres1=");
-        arglist = arglist.concat(pres1);
-        arglist = arglist.concat("&pres2=");
-        arglist = arglist.concat(pres2);
-
-        // alert("arglist: " + arglist);
-
-        var month_str = getMonthStr();
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-
-        // alert("arglist: " + arglist);
-
-
-        var d2 = $("#data2").val();
-        var model2 = d2.replace("/", "_");
-        model2 = model2.toLowerCase();
-
-        arglist = arglist.concat("&model2=");
-        arglist = arglist.concat(model2);
-
-        // alert("arglist: " + arglist);
-
-        var variable2 = $("#var2").val();
-        arglist = arglist.concat("&var2=");
-        arglist = arglist.concat(variable2);
-
-        var d3 = $("#data3").val();
-        var model3 = d3.replace("/", "_");
-        model3 = model3.toLowerCase();
-
-        arglist = arglist.concat("&model3=");
-        arglist = arglist.concat(model3);
-
-        // alert("arglist: " + arglist);
-
-        var variable3 = $("#var3").val();
-        arglist = arglist.concat("&var3=");
-        arglist = arglist.concat(variable3);
-
-        // alert("arglist: " + arglist);
-
-        var plev1 = $("#pres2").val();
-        plev1 = parse_pres(plev1);
-
-        if (plev1>0) {
-          // when variable is the 3D Ocean Salinity or Ocean Temperature
-          if (variable2 == 'ot' || variable2 == 'os') {
-            plev1 = plev1 * 10000;  // convert from dbar on GUI
-          } 
-          // when variable2 is 3D atmosphere var
-          else {
-            plev1 = plev1 * 100;  // convert from hPa on GUI
-          }
-        }
-
-        arglist = arglist.concat("&env_var_plev1=");
-        arglist = arglist.concat(plev1);
-
-        var plev2 = $("#pres3").val();
-        plev2 = parse_pres(plev2);
-        if (plev2>0) {
-          // when variable is the 3D Ocean Salinity or Ocean Temperature
-          if (variable3 == 'ot' || variable3 == 'os') {
-            plev2 = plev2 * 10000;  // convert from dbar on GUI
-          } 
-          // when variable2 is 3D atmosphere var
-          else {
-            plev2 = plev2 * 100;  // convert from hPa on GUI
-          }
-        }
-
-        arglist = arglist.concat("&env_var_plev2=");
-        arglist = arglist.concat(plev2);
-
-        // alert("arglist: " + arglist);
-
-        var binstate1 = document.getElementById('radioDef1').checked;
-
-        var binMin1, binMax1, numBins1;
-
-        if (binstate1 == true) { // default
-          binMin1 = naValue;
-          binMax1 = naValue;
-          numBins1 = naValue;
-        }
-        else { // customized
-          binMin1 = $("#min1").val();
-          binMax1 = $("#max1").val();
-          numBins1 = $("#bins1").val();
-        }
-
-        arglist = arglist.concat("&bin_min1=");
-        arglist = arglist.concat(binMin1);
-        arglist = arglist.concat("&bin_max1=");
-        arglist = arglist.concat(binMax1);
-        arglist = arglist.concat("&bin_n1=");
-        arglist = arglist.concat(numBins1);
-
-        var binstate2 = document.getElementById('radioDef2').checked;
-
-        var binMin2, binMax2, numBins2;
-
-        if (binstate2 == true) { // default
-          binMin2 = naValue;
-          binMax2 = naValue;
-          numBins2 = naValue;
-        }
-        else { // customized
-          binMin2 = $("#min2").val();
-          binMax2 = $("#max2").val();
-          numBins2 = $("#bins2").val();
-        }
-
-        arglist = arglist.concat("&bin_min2=");
-        arglist = arglist.concat(binMin2);
-        arglist = arglist.concat("&bin_max2=");
-        arglist = arglist.concat(binMax2);
-        arglist = arglist.concat("&bin_n2=");
-        arglist = arglist.concat(numBins2);
-
-        // alert("arglist: " + arglist);
-
-        var xstate = document.getElementById('radioXLin').checked;
-        var xvalue;
-
-        if (xstate == true)
-          xvalue = 0;
-        else
-          xvalue = 1;
-
-        // alert("xvalue: " + xvalue);
-
-        var ystate = document.getElementById('radioYLin').checked;
-        var yvalue;
-
-        if (ystate == true)
-          yvalue = 0;
-        else
-          yvalue = 1;
-
-        // alert("yvalue: " + yvalue);
-
-        var zstate = document.getElementById('radioZLin').checked;
-        var zvalue;
-
-        if (zstate == true)
-          zvalue = 0;
-        else
-          zvalue = 1;
-
-        // alert("zvalue: " + zvalue);
-
-        var dispOpt;
-        dispOpt = xvalue*1 + yvalue*2 + zvalue*4;
-        // alert("dispOpt: " + dispOpt);
-        var dispOptString = dispOpt.toString();
-
-        arglist = arglist.concat("&displayOpt=");
-        arglist = arglist.concat(dispOptString);
-
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-
-        // alert("arglist: " + arglist);
-
-        // url = url + encodeURIComponent(arglist);
-        url = url + encodeURI(arglist);
-        // url = url + arglist;
-        // alert("url: " + url);
-
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/two_time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source1=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var1=");
-        arglistTB = arglistTB.concat(variable1);
-        arglistTB = arglistTB.concat("&source2=");
-        arglistTB = arglistTB.concat(d2);
-        arglistTB = arglistTB.concat("&var2=");
-        arglistTB = arglistTB.concat(variable2);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        // alert("urlTimeBounds: " + urlTimeBounds);
-
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert("text: " + text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                // $("#Response").html(text);
-
-                var tb1 = data.time_bounds1;
-                var bds1 = String(tb1).split(",");
-                // alert("tb1: " + tb1);
-                // alert("bds1: " + bds1);
-                var lowerT1 = parseInt(bds1[0]);
-                // alert("inside ajax, lowerT1: " + lowerT1);
-                var upperT1 = parseInt(bds1[1]);
-                // alert("upperT1: " + upperT1);
-
-                var tb2 = data.time_bounds2;
-                var bds2 = String(tb2).split(",");
-                // alert("tb2: " + tb2);
-                // alert("bds2: " + bds2);
-                var lowerT2 = parseInt(bds2[0]);
-                // alert("inside ajax, lowerT2: " + lowerT2);
-                var upperT2 = parseInt(bds2[1]);
-                // alert("upperT2: " + upperT2);
-
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                // alert("t0: " + t0I);
-                // alert("t1: " + t1I);
-
-                var lowerT, upperT;
-                // compute the intersection of the two data bounds
-
-                if (lowerT1 == 0  || upperT1 == 0){ // no data-1
-                  alert("We do not have data for the data-1 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 == 0  || upperT2 == 0){ // no data-2
-                  alert("We do not have data for the data-2 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 > upperT1 || lowerT1 > upperT2) { // no intersection
-                  alert("The two data sets/vars do not have a common time range.");
-                  return;
-                }
-                else { // compute intersection
-                  if (lowerT1 > lowerT2) { // pick bigger lower time bound
-                    lowerT = lowerT1;
-                  }
-                  else {
-                    lowerT = lowerT2;
-                  }
-
-                  if (upperT1 > upperT2) { // pick smaller upper time bound
-                    upperT = upperT2;
-                  }
-                  else {
-                    upperT = upperT1;
-                  }
-                }
-                // alert("lowerT: " + lowerT);
-                // alert("upperT: " + upperT);
-
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    // $("#Response").html("<span style='color:red'>" + text + "</span>");
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert(text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                $("#Response").html(text);
-
-                var html = "<img src='"+data.url+"' width='820'/>";
-                // alert(html);
-                $("#Image").html(html);
-
-                // post dataUrl to textarea and enable download button
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-      });
-
-    });
-    
-  </script>
-
-</head>
-
-<body>
-<div class="container-fluid">
-<div class="row center1">
-<div class="col-sm-8 col-sm-offset-2 col-xs-12 color-head">
-<h3>Service: Conditional Sampling with Two Variables</h3>
-This service sorts one variable called sampled variable by the
-values of two variables called sampling variables and displays the
-averaged value of the sampled variable in color as a function of the
-bin value of the two sampling variables in X-Y axis. There are
-overlaid contours which show the number of samples in each of the 
-two sampling variable bin.
-</div> <!-- col-sm -->
-<div class="col-sm-offset-2">
-</div> <!-- col-sm -->
-</div> <!-- row center1 -->
-
-<div class="row level0">
-<div class="col-sm-12 col-lg-12 level0 color0">
-  <div id="dataBlock1">
-  </div>
-</div> <!-- col level0 -->
-
-<div class="col-sm-12 col-lg-12 level0 color1">
-  <div id="dataBlock2">
-  </div>
-
-  <div class="row row1">
-    <div class="col-sm-4 right1">
-      sampling variable binning specification:
-    </div>
-    <div class="col-sm-8 left1">
-      default: <input onclick="setDefault(1)" type="radio" name="default1" value="" id="radioDef1" checked>
-      customized: <input onclick="setCustomized(1)" type="radio" name="default1" value="" id="radioCus1">
-    </div>
-  </div>
-
-  <div class="row">
-    <div class="col-sm-4 right1">
-    </div>
-    <div class="col-sm-8 left1">
-      Min: <input id="min1" value="" alt="" size=3/> 
-      Max: <input id="max1" value="" alt="" size=3/>
-      number of bins: <input id="bins1" value="" alt="" size=3/>
-    </div>
-  </div>
-</div> <!-- col level0 -->
-
-<div class="col-sm-12 col-lg-12 level0 color0">
-  <div id="dataBlock3">
-  </div>
-
-  <div class="row">
-    <div class="col-sm-4 right1">
-      sampling variable binning specification:
-    </div>
-    <div class="col-sm-8 left1">
-      default: <input onclick="setDefault(2)" type="radio" name="default2" value="" id="radioDef2" checked>
-      customized: <input onclick="setCustomized(2)" type="radio" name="default2" value="" id="radioCus2">
-    </div>
-  </div>
-
-  <div class="row">
-    <div class="col-sm-4 right1">
-    </div>
-    <div class="col-sm-8 left1">
-      Min: <input id="min2" value="" alt="" size=3/> 
-      Max: <input id="max2" value="" alt="" size=3/>
-      number of bins: <input id="bins2" value="" alt="" size=3/>
-    </div>
-  </div>
-</div> <!-- col level0 -->
-
-</div> <!-- row level0 -->
-
-<div class="color3">
-<div class="row center1 subtitle1" >
-Data Subsetting
-</div> <!-- row -->
-<div class="row">
-  <div class="col-sm-4 right1">
-    <div id="monthSelect0"></div>
-  </div>
-  <div class="col-sm-8 left1">
-    <div id="monthSelect"></div>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-4 right1">
-    <div id=startYear>start year-month:</div>
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="t0" value="2004-01" alt="start"/>
-  </div>
-
-  <div class="col-sm-4 right1">
-    <div id=endYear>end year-month:</div>
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="t1" value="2004-12" alt="start"/>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-4 right1">
-    start lon (deg):
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="lon0" value="0"/>
-  </div>
-  <div class="col-sm-4 right1">
-    end lon (deg):
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="lon1" value="360"/>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-4 right1">
-    start lat (deg):
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="lat0" value="-90"/>
-  </div>
-  <div class="col-sm-4 right1">
-    end lat (deg):
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="lat1" value="90"/>
-  </div>
-</div> <!-- row -->
-</div> <!-- color3 -->
-
-<div class="color2">
-<div class="row">
-  <div class="col-sm-12 center1 subtitle1">
-    Display Options:
-  </div>
-</div>
-
-<div class="row">
-  <div class="col-sm-6 right1">
-        X-axis (sampling variable) scale: 
-  </div>
-  <div class="col-sm-6 left1">
-        <form><input type="radio" name="scale1" value="linear" id="radioXLin" checked>linear
-        <input type="radio" name="scale1" value="logarithmic" id="radioXLog">logarithmic
-        </form>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-6 right1">
-        y-axis (sampling variable or pressure) scale:
-  </div>
-  <div class="col-sm-6 left1">
-        <form><input type="radio" name="scale1" value="linear" id="radioYLin" checked>linear
-        <input type="radio" name="scale1" value="logarithmic" id="radioYLog">logarithmic
-        </form>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-6 right1">
-        z-axis (color) scale: 
-  </div>
-  <div class="col-sm-6 left1">
-        <form><input type="radio" name="scale1" value="linear" id="radioZLin" checked>linear
-        <input type="radio" name="scale1" value="logarithmic" id="radioZLog">logarithmic
-        </form>
-  </div>
-</div> <!-- row -->
-</div> <!-- color2 -->
-
-<div class="color3">
-<div class="row">
-  <div class="col-sm-4 right1">
-    Execution purpose:
-  </div> <!-- col -->
-  <div class="col-sm-8 left1">
-    <form>
-    <textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-    </form>
-  </div> <!-- col -->
-</div> <!-- row -->
-</div> <!-- color2 -->
-
-<div class="color4">
-<div class="row ">
-  <div class="col-sm-6 center1">
-    <input id="conditionalSamp" type="submit" value="            Get  Plot            " style="height:28px"/>
-  </div>
-  <div class="col-sm-6 center1">
-    <form>
-      <input id="download_data" type="button" value="Download Data" style="height:28px"/>
-    </form>
-  </div>
-</div> <!-- row -->
-</div> <!-- color -->
-
-<div class="row" center1>
-  <div class="col-sm-12 center1">
-    <div id="Image">Image Here</div>
-  </div>
-</div> <!-- row -->
-
-<div class="row" >
-  <div class="col-sm-12 center1">
-    <textarea readonly id="data_url" cols="150" rows="2">Data URL Here</textarea>
-  </div>
-</div> <!-- row -->
-
-<div class="row" center1>
-  <div class="col-sm-12 center1">
-    <textarea id="Response" cols="150" rows="6">Service Response Text Here</textarea>
-  </div>
-</div> <!-- row -->
-
-</div> <!-- container -->
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/correlationMap.html
----------------------------------------------------------------------
diff --git a/public/html/correlationMap.html b/public/html/correlationMap.html
deleted file mode 100644
index 4177712..0000000
--- a/public/html/correlationMap.html
+++ /dev/null
@@ -1,493 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta charset="utf-8">
-
-  <!-- for Bootstrap -->
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
-  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
-
-  <!-- still needed? -->
-  <script src="js/jquery.flot.min.js"></script>
-  <script src="js/json2.js"></script>
-  <script src="js/xmisc.js"></script>
-
-  <!-- cmac related -->
-  <link rel="stylesheet" href="common.css">
-  <script src='js2/dataList2.js'></script>
-  <script src='js2/varList.js'></script>
-  <script src='js2/common.js'></script>
-
-  <title>correlationMap Service</title>
-
-  <script>
-
-    var Response = null;
-    var variable1 = "";
-    var variable2 = "";
-
-    var naValue = "-999999";
-
-    // called on load or reload
-    window.onload = function() {
-      var str1 = data_block_str(1, 2, "Variable 1", 
-          "", "500");
-      document.getElementById("dataBlock1").innerHTML = str1;
-
-      str1 = data_block_str(2, 2, "Variable 2", 
-          "", "500");
-      document.getElementById("dataBlock2").innerHTML = str1;
-
-      put_data(1);
-      put_data(2);
-      put_var(1);
-      put_var(2);
-      select_var(1);
-      select_var(2);
-      time_range2();
-      //fillMonth();
-
-      disable_download_button();
-
-      // select_all_months();
-    }
-
-    $(document).ready(function(){
-
-      $("a").click(function(event){
-        alert("As you can see, the link no longer took you to jquery.com");
-        event.preventDefault();
-      });
-
-
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        // alert(durl);
-        window.location.assign(durl);
-      });
-
-
-      $("#correlationMap").click(function(event) {
-        // alert('****** inside correlationMap()!');
-        Response = null;
-
-        // no data to download yet
-        disable_download_button();
-
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-
-        // sample url: http://cmacws.jpl.nasa.gov:8090/svc/scatterPlot2V?model1=ukmo_hadgem2-a&var1=ts&pres1=200&model2=ukmo_hadgem2-a&var2=clt&pres2=200&start_time=199001&end_time=199512&lon1=0&lon2=100&lat1=-29&lat2=29
-        // form url string
-        // var url = "http://cmacws.jpl.nasa.gov:8090/svc/scatterPlot2V?";
-        var url = "http://" + window.location.hostname + ":9002/svc/correlationMap?";
-        // alert("url: " + url);
-
-        var d1 = $("#data1").val();
-        var model1 = d1.replace("/", "_");
-        model1 = model1.toLowerCase();
-
-        var arglist = "";
-        arglist = arglist.concat("model1=");
-        arglist = arglist.concat(model1);
-
-        // alert("arglist: " + arglist);
-
-        var variable1 = $("#var1").val();
-        arglist = arglist.concat("&var1=");
-        arglist = arglist.concat(variable1);
-
-        // alert("arglist: " + arglist);
-
-        var pres1 = $("#pres1").val();
-        if (isNaN(Number(pres1))) { pres1 = "-9999"; }
-        arglist = arglist.concat("&pres1=");
-        arglist = arglist.concat(pres1);
-
-        var d2 = $("#data2").val();
-        var model2 = d2.replace("/", "_");
-        model2 = model2.toLowerCase();
-
-        arglist = arglist.concat("&model2=");
-        arglist = arglist.concat(model2);
-
-        // alert("arglist: " + arglist);
-
-        var variable2 = $("#var2").val();
-        arglist = arglist.concat("&var2=");
-        arglist = arglist.concat(variable2);
-
-        // alert("arglist: " + arglist);
-
-        var pres2 = $("#pres2").val();
-        if (isNaN(Number(pres2))) { pres2 = "-9999"; }
-        arglist = arglist.concat("&pres2=");
-        arglist = arglist.concat(pres2);
-
-        var laggedTime = $("#laggedTime").val();
-        arglist = arglist.concat("&laggedTime=");
-        arglist = arglist.concat(laggedTime);
-
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-
-        // alert("arglist: " + arglist);
-
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-
-        // alert("arglist: " + arglist);
-
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-
-        // url = url + encodeURIComponent(arglist);
-        url = url + encodeURI(arglist);
-        // url = url + arglist;
-        // alert("url: " + url);
-
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/two_time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("2");
-        arglistTB = arglistTB.concat("&source1=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var1=");
-        arglistTB = arglistTB.concat(variable1);
-        arglistTB = arglistTB.concat("&source2=");
-        arglistTB = arglistTB.concat(d2);
-        arglistTB = arglistTB.concat("&var2=");
-        arglistTB = arglistTB.concat(variable2);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        // alert("urlTimeBounds: " + urlTimeBounds);
-
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert("text: " + text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                // $("#Response").html(text);
-
-                var tb1 = data.time_bounds1;
-                var bds1 = String(tb1).split(",");
-                // alert("tb1: " + tb1);
-                // alert("bds1: " + bds1);
-                var lowerT1 = parseInt(bds1[0]);
-                // alert("inside ajax, lowerT1: " + lowerT1);
-                var upperT1 = parseInt(bds1[1]);
-                // alert("upperT1: " + upperT1);
-
-                var tb2 = data.time_bounds2;
-                var bds2 = String(tb2).split(",");
-                // alert("tb2: " + tb2);
-                // alert("bds2: " + bds2);
-                var lowerT2 = parseInt(bds2[0]);
-                // alert("inside ajax, lowerT2: " + lowerT2);
-                var upperT2 = parseInt(bds2[1]);
-                // alert("upperT2: " + upperT2);
-
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                // alert("t0: " + t0I);
-                // alert("t1: " + t1I);
-
-                var lowerT, upperT;
-                // compute the intersection of the two data bounds
-                if (lowerT1 == 0  || upperT1 == 0){ // no data-1
-                  alert("We do not have data for the data-1 source and variable configuration.");
-                  alert(urlTimeBounds);
-                  return;
-                }
-                else if (lowerT2 == 0  || upperT2 == 0){ // no data-2
-                  alert("We do not have data for the data-2 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 > upperT1 || lowerT1 > upperT2) { // no intersection
-                  alert("The two data sets/vars do not have a common time range.");
-                  return;
-                }
-                else { // compute intersection
-                  if (lowerT1 > lowerT2) { // pick bigger lower time bound
-                    lowerT = lowerT1;
-                  }
-                  else {
-                    lowerT = lowerT2;
-                  }
-
-                  if (upperT1 > upperT2) { // pick smaller upper time bound
-                    upperT = upperT2;
-                  }
-                  else {
-                    upperT = upperT1;
-                  }
-                }
-                // alert("lowerT: " + lowerT);
-                // alert("upperT: " + upperT);
-
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                // alert(url);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-
-                    if (text.indexOf("No Data") != -1) {
-                      $("#Image").html("No Data");
-                      $("#Response").html("No Data");
-                      $("#data_url").html("No Data");
-                      return;
-                    }
-
-                    text = "Error in backend: <br>" + text; 
-                    // $("#Response").html("<span style='color:red'>" + text + "</span>");
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert(text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                $("#Response").html(text);
-
-                var html = "<img src='" + data.url + "?" + new Date().getTime() + "' width='820'/>";
-                // alert(html);
-                $("#Image").html(html);
-
-                // post dataUrl to textarea and enable download button
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-      });
-
-    });
-    
-  </script>
-</head>
-
-<body>
-<div class="container-fluid">
-<div class="row center1">
-<div class="col-sm-8 col-sm-offset-2 col-xs-12 color-head">
-<h3>Service: Time-Lagged Correlation Map of Two Variables</h3>
-This service generates a time-lagged correlation map between two specified variables. 
-<br>The two variables can be either a two-dimensional variable or a slice of a three-dimensional variable at a specific pressure level.
-</div> <!-- col-sm -->
-<div class="col-sm-offset-2">
-</div> <!-- col-sm -->
-</div> <!-- row center1 -->
-
-<div class="row level0">
-<div class="col-sm-12 col-lg-6 level0 color0">
-  <div id="dataBlock1">
-  </div>
-</div> <!-- col level0 -->
-
-<div class="col-sm-12 col-lg-6 level0 color1">
-  <div id="dataBlock2">
-  </div>
-</div> <!-- col level0 -->
-
-<div class="color3">
-<div class="row center1 subtitle1" >
-Data Subsetting
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-4 right1">
-    <div id=startYear>start year-month:</div>
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="t0" value="2004-01" alt="start"/>
-  </div>
-
-  <div class="col-sm-4 right1">
-    <div id=endYear>end year-month:</div>
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="t1" value="2004-12" alt="start"/>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-4 right1">
-    start lon (deg):
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="lon0" value="0"/>
-  </div>
-  <div class="col-sm-4 right1">
-    end lon (deg):
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="lon1" value="360"/>
-  </div>
-</div> <!-- row -->
-
-<div class="row">
-  <div class="col-sm-4 right1">
-    start lat (deg):
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="lat0" value="-90"/>
-  </div>
-  <div class="col-sm-4 right1">
-    end lat (deg):
-  </div>
-  <div class="col-sm-2 left1">
-    <input id="lat1" value="90"/>
-  </div>
-</div> <!-- row -->
-</div> <!-- color3 -->
-
-<div class="color2">
-<div class="row">
-  <div class="col-sm-4 right1">
-    lag (month):
-  </div>
-  <div class="col-sm-8 left1">
-    <input id="laggedTime" value="0"/>  
-  </div>
-</div>
-</div> <!-- color2 -->
-
-<div class="color3">
-<div class="row">
-  <div class="col-sm-4 right1">
-    Execution purpose:
-  </div> <!-- col -->
-  <div class="col-sm-8 left1">
-    <form>
-    <textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-    </form>
-  </div> <!-- col -->
-</div> <!-- row -->
-</div> <!-- color2 -->
-
-<div class="color4">
-<div class="row ">
-  <div class="col-sm-6 center1">
-    <input id="correlationMap" type="submit" value="            Get  Plot            " style="height:28px"/>
-  </div>
-  <div class="col-sm-6 center1">
-    <form>
-      <input id="download_data" type="button" value="Download Data" style="height:28px"/>
-    </form>
-  </div>
-</div> <!-- row -->
-</div> <!-- color -->
-
-<div class="row" center1>
-  <div class="col-sm-12 center1">
-    <div id="Image">Image Here</div>
-  </div>
-</div> <!-- row -->
-
-<div class="row" >
-  <div class="col-sm-12 center1">
-    <textarea readonly id="data_url" cols="150" rows="2">Data URL Here</textarea>
-  </div>
-</div> <!-- row -->
-
-<div class="row" center1>
-  <div class="col-sm-12 center1">
-    <textarea id="Response" cols="150" rows="6">Service Response Text Here</textarea>
-  </div>
-</div> <!-- row -->
-
-</div> <!-- container -->
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/diffPlot2Vars.html
----------------------------------------------------------------------
diff --git a/public/html/diffPlot2Vars.html b/public/html/diffPlot2Vars.html
deleted file mode 100644
index 4bd7c97..0000000
--- a/public/html/diffPlot2Vars.html
+++ /dev/null
@@ -1,1356 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> -->
-  <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-  <script type="text/javascript" src="js/jquery.flot.min.js"></script>
-  <script type="text/javascript" src="js/json2.js"></script>
-  <script type="text/javascript" src="js/xmisc.js"></script>
-  <script type="text/javascript">
-
-    var Response = null;
-    var variable1 = "";
-    var variable2 = "";
-
-
-    // called on load or reload
-    window.onload = function() {
-      select_data1(1);
-      select_var1(1);
-      select_data1(2);
-      select_var1(2);
-      // no data to download yet
-      disable_download_button();
-    }
-
-    // disable download data button
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=true;
-    }
-
-    // enable download data button
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-
-
-    // disable all vars1 in dropdown menu
-    function unset_vars1(ID)
-    {
-      var x;
-
-      if (ID == 1) {
-        x=document.getElementById("var1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("var2");
-      }
-
-      x.options[0].disabled=true;
-      x.options[1].disabled=true;
-      x.options[2].disabled=true;
-      x.options[3].disabled=true;
-      x.options[4].disabled=true;
-      x.options[5].disabled=true;
-      x.options[6].disabled=true;
-      x.options[7].disabled=true;
-      x.options[8].disabled=true;
-      x.options[9].disabled=true;
-      x.options[10].disabled=true;
-      x.options[11].disabled=true;
-      x.options[12].disabled=true;
-      x.options[13].disabled=true;
-      x.options[14].disabled=true;
-      x.options[15].disabled=true;
-      x.options[16].disabled=true;
-      x.options[17].disabled=true;
-      x.options[18].disabled=true;
-      x.options[19].disabled=true;
-      x.options[20].disabled=true;
-      x.options[21].disabled=true;
-      x.options[22].disabled=true;
-      x.options[23].disabled=true;
-      x.options[24].disabled=true;
-      x.options[25].disabled=true;
-      x.options[26].disabled=true;
-      x.options[27].disabled=true;
-      x.options[28].disabled=true;
-      x.options[29].disabled=true;
-      x.options[30].disabled=true;
-      x.options[31].disabled=true;
-      x.options[32].disabled=true;
-    }
-
-
-    // disable pressure level box for 2D var
-    function disable_pres1(ID)
-    {
-      var x;
-      if (ID == 1) {
-        x=document.getElementById("pres1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("pres2");
-      }
-
-      x.value = "N/A";
-      x.disabled=true;
-    }
-
-    // enable pressure level box for 3D var
-    function enable_pres1(ID)
-    {
-      var x;
-      if (ID == 1) {
-        x=document.getElementById("pres1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("pres2");
-      }
-
-      x.value = "500";
-      x.disabled=false;
-    }
-
-    // form variable1 or variable2 string based on "var" dropdown selection
-    function select_var1(ID)
-    {
-      var var_string;
-
-      if (ID == 1) {
-        var_string = $("#var1").val();
-      }
-      else if (ID == 2) {
-        var_string = $("#var2").val();
-      }
-
-      // alert("var_string: " + var_string)
-
-      // disable the download button because of this change  
-      disable_download_button();  
-  
-      if (var_string == "Total Cloud Fraction") { 
-        if (ID == 1) {
-          variable1 = "clt";  // a 2D var
-        }
-        else if (ID == 2) {
-          variable2 = "clt";  // a 2D var
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-        // alert("variable1: " + variable1)
-      }
-      else if (var_string == "Surface Temperature") {
-        if (ID == 1) {
-          variable1 = "ts";  
-        }
-        else if (ID == 2) {
-          variable2 = "ts";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Sea Surface Temperature") { 
-        if (ID == 1) {
-          variable1 = "tos";  
-        }
-        else if (ID == 2) {
-          variable2 = "tos";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Precipitation Flux") { 
-        if (ID == 1) {
-          variable1 = "pr";  
-        }
-        else if (ID == 2) {
-          variable2 = "pr";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Eastward Near-Surface Wind") { 
-        if (ID == 1) {
-          variable1 = "uas";  
-        }
-        else if (ID == 2) {
-          variable2 = "uas";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Northward Near-Surface Wind") {  
-        if (ID == 1) {
-          variable1 = "vas";  
-        }
-        else if (ID == 2) {
-          variable2 = "vas";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Near-Surface Wind Speed") { 
-        if (ID == 1) {
-          variable1 = "sfcWind";  
-        }
-        else if (ID == 2) {
-          variable2 = "sfcWind";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Sea Surface Height") { 
-        if (ID == 1) {
-          variable1 = "zos";  
-        }
-        else if (ID == 2) {
-          variable2 = "zos";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Leaf Area Index") { 
-        if (ID == 1) {
-          variable1 = "lai";  
-        }
-        else if (ID == 2) {
-          variable2 = "lai";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Equivalent Water Height Over Land") {
-        if (ID == 1) {
-          variable1 = "zl";  
-        }
-        else if (ID == 2) {
-          variable2 = "zl";  
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Equivalent Water Height Over Ocean") {
-        if (ID == 1) {
-          variable1 = "zo";
-        }
-        else if (ID == 2) {
-          variable2 = "zo";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Ocean Heat Content Anomaly within 700 m Depth") {
-        if (ID == 1) {
-          variable1 = "ohc700";
-        }
-        else if (ID == 2) {
-          variable2 = "ohc700";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Ocean Heat Content Anomaly within 2000 m Depth") {
-        if (ID == 1) {
-          variable1 = "ohc2000";
-        }
-        else if (ID == 2) {
-          variable2 = "ohc2000";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlds";
-        }
-        else if (ID == 2) {
-          variable2 = "rlds";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsds";
-        }
-        else if (ID == 2) {
-          variable2 = "rsds";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Upwelling Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlus";
-        }
-        else if (ID == 2) {
-          variable2 = "rlus";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Upwelling Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsus";
-        }
-        else if (ID == 2) {
-          variable2 = "rsus";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Clear-Sky Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rldscs";
-        }
-        else if (ID == 2) {
-          variable2 = "rldscs";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Clear-Sky Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsdscs";
-        }
-        else if (ID == 2) {
-          variable2 = "rsdscs";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Upwelling Clear-Sky Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsuscs";
-        }
-        else if (ID == 2) {
-          variable2 = "rsuscs";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Incident Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsdt";
-        }
-        else if (ID == 2) {
-          variable2 = "rsdt";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Clear-Sky Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlutcs";
-        }
-        else if (ID == 2) {
-          variable2 = "rlutcs";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlut";
-        }
-        else if (ID == 2) {
-          variable2 = "rlut";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Clear-Sky Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsutcs";
-        }
-        else if (ID == 2) {
-          variable2 = "rsutcs";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsut";
-        }
-        else if (ID == 2) {
-          variable2 = "rsut";
-        }
-        // disable pressure level box for 2D var
-        disable_pres1(ID);
-      }
-      else if (var_string == "Air Temperature") {
-        if (ID == 1) {
-          variable1 = "ta";
-        }
-        else if (ID == 2) {
-          variable2 = "ta";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Specific Humidity") {
-        if (ID == 1) {
-          variable1 = "hus";
-        }
-        else if (ID == 2) {
-          variable2 = "hus";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Cloud Ice Water Content") {
-        if (ID == 1) {
-          variable1 = "cli";
-        }
-        else if (ID == 2) {
-          variable2 = "cli";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Cloud Liquid Water Content") {
-        if (ID == 1) {
-          variable1 = "clw";
-        }
-        else if (ID == 2) {
-          variable2 = "clw";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Ocean Temperature") {
-        if (ID == 1) {
-          variable1 = "ot";
-        }
-        else if (ID == 2) {
-          variable2 = "ot";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Ocean Salinity") {
-        if (ID == 1) {
-          variable1 = "os";
-        }
-        else if (ID == 2) {
-          variable2 = "os";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Vertical Wind Velocity") {
-        if (ID == 1) {
-          variable1 = "wap";
-        }
-        else if (ID == 2) {
-          variable2 = "wap";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      else if (var_string == "Relative Humidity") {
-        if (ID == 1) {
-          variable1 = "hur";
-        }
-        else if (ID == 2) {
-          variable2 = "hur";
-        }
-        // enable pressure level box for 3D var
-        enable_pres1(ID);
-      }
-      // alert("variable1: " + variable1)
-    }
-
-
-    // set up "var1" dropdown based status of "data1" dropdown
-    function select_data1(ID)
-    {
-      var data_string;
-      var x;
-
-      if (ID == 1) {
-        data_string = $("#data1").val();
-        x = document.getElementById("var1");
-      }
-      else if (ID == 2) {
-        data_string = $("#data2").val();
-        x = document.getElementById("var2");
-      }
-
-      // alert(ID);
-      // alert(data_string);
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      // disable corresponding "var" options
-      if (data_string == "NASA/AMSRE") {
-
-        unset_vars1(ID); // disable all options in "var" dropdown first
-
-        x.options[3].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[3].disabled=false;
-
-      }
-      else if (data_string == "NASA/MODIS") {
-
-        unset_vars1(ID);
-
-        x.options[1].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[1].disabled=false;
-        x.options[8].disabled=false;
-
-      }
-      else if (data_string == "NASA/TRMM") {
-
-        unset_vars1(ID);
-
-        x.options[0].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[0].disabled=false;
-
-      }
-      else if (data_string == "NASA/GPCP") {
-
-        unset_vars1(ID);
-
-        x.options[0].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[0].disabled=false;
-
-      }
-      else if (data_string == "NASA/QuikSCAT") {
-
-        unset_vars1(ID);
-
-        x.options[4].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-
-      }
-      else if (data_string == "NASA/AVISO") {
-
-        unset_vars1(ID);
-
-        x.options[7].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[7].disabled=false;
-
-      }
-      else if (data_string == "NASA/GRACE") {
-
-        unset_vars1(ID);
-
-        x.options[9].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[9].disabled=false;
-        x.options[10].disabled=false;
-
-      }
-      else if (data_string == "NOAA/NODC") {
-
-        unset_vars1(ID);
-
-        x.options[11].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[11].disabled=false;
-        x.options[12].disabled=false;
-
-      }
-      else if (data_string == "NASA/CERES") {
-
-        unset_vars1(ID);
-
-        x.options[13].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        // The following 6 commented out
-        // per request by Benyang
-        // x.options[25].disabled=false;
-        // x.options[26].disabled=false;
-        // x.options[27].disabled=false;
-        // x.options[28].disabled=false;
-        // x.options[29].disabled=false;
-        // x.options[30].disabled=false;
-
-      }
-      else if (data_string == "NASA/AIRS") {
-
-        unset_vars1(ID);
-
-        x.options[25].selected=true;
-        enable_pres1(ID); // the selected one is 3D
-
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-
-      }
-      else if (data_string == "NASA/MLS") {
-
-        unset_vars1(ID);
-
-        x.options[25].selected=true;
-        enable_pres1(ID); // the selected one is 3D
-
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-
-      }
-      else if (data_string == "ARGO/ARGO") {
-
-        unset_vars1(ID);
-
-        x.options[29].selected=true;
-        enable_pres1(ID); // the selected one is 3D
-
-        x.options[29].disabled=false;
-        x.options[30].disabled=false;
-
-        // alert("in ARGO ...");
-        // alert(data_string);
-      }
-      else if (data_string == "CCCMA/CANAM4") {
-
-        unset_vars1(ID);
-
-        x.options[0].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-
-      }
-      else if (data_string == "CSIRO/MK3.6") {
-
-        unset_vars1(ID);
-
-        x.options[0].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-
-      }
-      else if (data_string == "NCAR/CAM5") {
-
-        unset_vars1(ID);
-
-        x.options[0].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[3].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[7].disabled=false;
-        x.options[8].disabled=false;
-
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-
-      }
-
-      else if (data_string == "CCCMA/CANESM2" || data_string == "GFDL/ESM2G" ||
-               data_string == "GISS/E2-H" || data_string == "GISS/E2-R" ||
-               data_string == "NCC/NORESM" ||
-               data_string == "UKMO/HadGEM2-ES" ||
-               data_string == "GFDL/CM3" || data_string == "IPSL/CM5A-LR" ||
-               data_string == "MIROC/MIROC5" || data_string == "UKMO/HadGEM2-A"
-              ) {
-
-        unset_vars1(ID);
-
-        x.options[0].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[3].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[7].disabled=false;
-        x.options[8].disabled=false;
-
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-
-      }
-      else if (data_string == "ECMWF/interim") {
-        unset_vars1(ID);
- 
-        x.options[3].selected=true;
-        disable_pres1(ID); // the selected one is 2D
-
-        x.options[3].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-      }
-
-      // form variable string
-      select_var1(ID);
-    }
-
-
-    $(document).ready(function(){
-
-      $("a").click(function(event){
-        alert("As you can see, the link no longer took you to jquery.com");
-        event.preventDefault();
-      });
-
-
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        // alert(durl);
-        window.location.assign(durl);
-      });
-
-
-      $("#scatterPlot2V").click(function(event) {
-        // alert('****** inside scatterPlot2V()!');
-        Response = null;
-
-        // no data to download yet
-        disable_download_button();
-
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-
-        // sample url: http://cmacws.jpl.nasa.gov:9002/svc/scatterPlot2V?model1=ukmo_hadgem2-a&var1=ts&pres1=200&model2=ukmo_hadgem2-a&var2=clt&pres2=200&start_time=199001&end_time=199512&lon1=0&lon2=100&lat1=-29&lat2=29
-        // form url string
-        // var url = "http://cmacws.jpl.nasa.gov:9002/svc/scatterPlot2V?";
-        var url = "http://" + window.location.hostname + ":9002/svc/diffPlot2V?";
-        // alert("url: " + url);
-
-        var d1 = $("#data1").val();
-        var model1 = d1.replace("/", "_");
-        model1 = model1.toLowerCase();
-
-        var arglist = "";
-        arglist = arglist.concat("model1=");
-        arglist = arglist.concat(model1);
-
-        // alert("arglist: " + arglist);
-
-        var v1 = $("#var1").val();
-        arglist = arglist.concat("&var1=");
-        arglist = arglist.concat(variable1);
-
-        // alert("arglist: " + arglist);
-
-        var pres1 = $("#pres1").val();
-        arglist = arglist.concat("&pres1=");
-        arglist = arglist.concat(pres1);
-
-        var d2 = $("#data2").val();
-        var model2 = d2.replace("/", "_");
-        model2 = model2.toLowerCase();
-
-        arglist = arglist.concat("&model2=");
-        arglist = arglist.concat(model2);
-
-        // alert("arglist: " + arglist);
-
-        var v2 = $("#var2").val();
-        arglist = arglist.concat("&var2=");
-        arglist = arglist.concat(variable2);
-
-        // alert("arglist: " + arglist);
-
-        var pres2 = $("#pres2").val();
-        arglist = arglist.concat("&pres2=");
-        arglist = arglist.concat(pres2);
-
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-
-        // alert("arglist: " + arglist);
-
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-
-        // alert("arglist: " + arglist);
-
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-
-        // url = url + encodeURIComponent(arglist);
-        url = url + encodeURI(arglist);
-        // url = url + arglist;
-        // alert("url: " + url);
-
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/two_time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("2");
-        arglistTB = arglistTB.concat("&source1=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var1=");
-        arglistTB = arglistTB.concat(variable1);
-        arglistTB = arglistTB.concat("&source2=");
-        arglistTB = arglistTB.concat(d2);
-        arglistTB = arglistTB.concat("&var2=");
-        arglistTB = arglistTB.concat(variable2);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        // alert("urlTimeBounds: " + urlTimeBounds);
-
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert("text: " + text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                // $("#Response").html(text);
-
-                var tb1 = data.time_bounds1;
-                var bds1 = String(tb1).split(",");
-                // alert("tb1: " + tb1);
-                // alert("bds1: " + bds1);
-                var lowerT1 = parseInt(bds1[0]);
-                // alert("inside ajax, lowerT1: " + lowerT1);
-                var upperT1 = parseInt(bds1[1]);
-                // alert("upperT1: " + upperT1);
-
-                var tb2 = data.time_bounds2;
-                var bds2 = String(tb2).split(",");
-                // alert("tb2: " + tb2);
-                // alert("bds2: " + bds2);
-                var lowerT2 = parseInt(bds2[0]);
-                // alert("inside ajax, lowerT2: " + lowerT2);
-                var upperT2 = parseInt(bds2[1]);
-                // alert("upperT2: " + upperT2);
-
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                // alert("t0: " + t0I);
-                // alert("t1: " + t1I);
-
-                var lowerT, upperT;
-                // compute the intersection of the two data bounds
-                if (lowerT1 == 0  || upperT1 == 0){ // no data-1
-                  alert("We do not have data for the data-1 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 == 0  || upperT2 == 0){ // no data-2
-                  alert("We do not have data for the data-2 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 > upperT1 || lowerT1 > upperT2) { // no intersection
-                  alert("The two data sets/vars do not have a common time range.");
-                  return;
-                }
-                else { // compute intersection
-                  if (lowerT1 > lowerT2) { // pick bigger lower time bound
-                    lowerT = lowerT1;
-                  }
-                  else {
-                    lowerT = lowerT2;
-                  }
-
-                  if (upperT1 > upperT2) { // pick smaller upper time bound
-                    upperT = upperT2;
-                  }
-                  else {
-                    upperT = upperT1;
-                  }
-                }
-                // alert("lowerT: " + lowerT);
-                // alert("upperT: " + upperT);
-
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    // $("#Response").html("<span style='color:red'>" + text + "</span>");
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert(text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                $("#Response").html(text);
-
-                var html = "<img src='"+data.url+"' width='820'/>";
-                // alert(html);
-                $("#Image").html(html);
-
-                // post dataUrl to textarea and enable download button
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-      });
-
-    });
-    
-  </script>
-</head>
-<body>
-
-<p>
-
-<table border="1">
-
-<tr>
-<td colspan="4">
-<center>
-<b>Service: Difference Plot of Two Time Averaged Variables</b><br><br>
-This service calculates the differences between two specified variables and displays the lat-lon maps of the two variables and their differences. <br><br>
-</center>
-</td>
-</tr>
-
-<tr>
-<td colspan="2">
-<center>
-data 1
-</center>
-</td>
-
-<td colspan="2">
-<center>
-data 2
-</center>
-</td>
-</tr>
-
-<tr>
-<td>source:</td><td><select name="data1", id="data1" onchange="select_data1(1)">
-<optgroup label="Model: Historical">
-<option selected="CCCMA/CANESM2">CCCMA/CANESM2</option>
-<option>GFDL/ESM2G</option>
-<option>GISS/E2-H</option>
-<option>GISS/E2-R</option>
-<option>NCAR/CAM5</option>
-<option>NCC/NORESM</option>
-<option>UKMO/HadGEM2-ES</option>
-</optgroup>
-<optgroup label="Model: AMIP">
-<option>CCCMA/CANAM4</option>
-<option>CSIRO/MK3.6</option>
-<option>GFDL/CM3</option>
-<option>IPSL/CM5A-LR</option>
-<option>MIROC/MIROC5</option>
-<option>UKMO/HadGEM2-A</option>
-</optgroup>
-<!-- <option>NASA/obs4MIPs</option>  -->
-<optgroup label="Observation">
-<option>NASA/MODIS</option>
-<option>NASA/AMSRE</option>
-<option>NASA/TRMM</option>
-<option>NASA/GPCP</option>
-<option>NASA/QuikSCAT</option>
-<option>NASA/AVISO</option>
-<option>NASA/GRACE</option>
-<option>NOAA/NODC</option>
-<option>NASA/CERES</option>
-<option>NASA/AIRS</option>
-<option>NASA/MLS</option>
-<option>ARGO/ARGO</option>
-</optgroup>
-<optgroup label="Reanalysis">
-<option>ECMWF/interim</option>
-</optgroup>
-</select></td>
-
-<td>source:</td><td><select name="data2", id="data2" onchange="select_data1(2)">
-<optgroup label="Model: Historical">
-<option selected="CCCMA/CANESM2">CCCMA/CANESM2</option>
-<option>GFDL/ESM2G</option>
-<option>GISS/E2-H</option>
-<option>GISS/E2-R</option>
-<option>NCAR/CAM5</option>
-<option>NCC/NORESM</option>
-<option>UKMO/HadGEM2-ES</option>
-</optgroup>
-<optgroup label="Model: AMIP">
-<option>CCCMA/CANAM4</option>
-<option>CSIRO/MK3.6</option>
-<option>GFDL/CM3</option>
-<option>IPSL/CM5A-LR</option>
-<option>MIROC/MIROC5</option>
-<option>UKMO/HadGEM2-A</option>
-</optgroup>
-<!-- <option>NASA/obs4MIPs</option>  -->
-<optgroup label="Observation">
-<option>NASA/MODIS</option>
-<option>NASA/AMSRE</option>
-<option>NASA/TRMM</option>
-<option>NASA/GPCP</option>
-<option>NASA/QuikSCAT</option>
-<option>NASA/AVISO</option>
-<option>NASA/GRACE</option>
-<option>NOAA/NODC</option>
-<option>NASA/CERES</option>
-<option>NASA/AIRS</option>
-<option>NASA/MLS</option>
-<option>ARGO/ARGO</option>
-</optgroup>
-<optgroup label="Reanalysis">
-<option>ECMWF/interim</option>
-</optgroup>
-</select></td>
-
-</tr>
-
-<tr>
-
-<td>variable name:</td><td><select name="var1", id="var1" onchange="select_var1(1)">
-<option>Precipitation Flux</option>
-<option>Total Cloud Fraction</option>
-<option>Surface Temperature</option>
-<option>Sea Surface Temperature</option>
-<option>Eastward Near-Surface Wind</option>
-<option>Northward Near-Surface Wind</option>
-<option>Near-Surface Wind Speed</option>
-<option>Sea Surface Height</option>
-<option>Leaf Area Index</option>
-<option>Equivalent Water Height Over Land</option>
-<option>Equivalent Water Height Over Ocean</option>
-<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-<option>Surface Downwelling Longwave Radiation</option>
-<option>Surface Downwelling Shortwave Radiation</option>
-<option>Surface Upwelling Longwave Radiation</option>
-<option>Surface Upwelling Shortwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-<option>TOA Incident Shortwave Radiation</option>
-<option>TOA Outgoing Longwave Radiation</option>
-<option>TOA Outgoing Shortwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-<option>Air Temperature</option>
-<option>Specific Humidity</option>
-<option>Cloud Ice Water Content</option>
-<option>Cloud Liquid Water Content</option>
-<option>Ocean Temperature</option>
-<option>Ocean Salinity</option>
-<option>Vertical Wind Velocity</option>
-<option>Relative Humidity</option>
-</select>
-</td>
-
-
-<td>variable name:</td><td><select name="var2", id="var2" onchange="select_var1(2)">
-<option>Precipitation Flux</option>
-<option>Total Cloud Fraction</option>
-<option>Surface Temperature</option>
-<option>Sea Surface Temperature</option>
-<option>Eastward Near-Surface Wind</option>
-<option>Northward Near-Surface Wind</option>
-<option>Near-Surface Wind Speed</option>
-<option>Sea Surface Height</option>
-<option>Leaf Area Index</option>
-<option>Equivalent Water Height Over Land</option>
-<option>Equivalent Water Height Over Ocean</option>
-<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-<option>Surface Downwelling Longwave Radiation</option>
-<option>Surface Downwelling Shortwave Radiation</option>
-<option>Surface Upwelling Longwave Radiation</option>
-<option>Surface Upwelling Shortwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-<option>TOA Incident Shortwave Radiation</option>
-<option>TOA Outgoing Longwave Radiation</option>
-<option>TOA Outgoing Shortwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-<option>Air Temperature</option>
-<option>Specific Humidity</option>
-<option>Cloud Ice Water Content</option>
-<option>Cloud Liquid Water Content</option>
-<option>Ocean Temperature</option>
-<option>Ocean Salinity</option>
-<option>Vertical Wind Velocity</option>
-<option>Relative Humidity</option>
-</select>
-</td>
-
-</tr>
-
-<tr>
-
-<td>
-atmosphere pressure level (hPa) <br> or ocean pressure level (dbar)
-</td>
-<td>
-<input id="pres1" value="500" alt="pressure"/>
-</td>
-
-<td>
-atmosphere pressure level (hPa) <br> or ocean pressure level (dbar)
-</td>
-<td>
-<input id="pres2" value="500" alt="pressure"/>
-</td>
-
-</tr>
-
-<tr>
-</tr>
-
-<tr>
-<td>start year-month:</td><td><input id="t0" value="2004-01" alt="start"/></td>
-<td>end year-month:</td><td><input id="t1" value="2004-12" alt="end"/></td>
-</tr>
-
-
-<tr>
-<td>start lat (deg):</td><td><input id="lat0" value="-90"/></td>
-<td>end lat (deg):</td><td><input id="lat1" value="90"/></td>
-</tr>
-
-<tr>
-<td>start lon (deg):</td><td><input id="lon0" value="0"/></td>
-<td>end lon (deg):</td><td><input id="lon1" value="360"/></td>
-</tr>
-
-<tr>
-<td colspan="1">
-Execution purpose
-</td>
-<td colspan="3">
-<form>
-<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-</form>
-</td>
-</tr>
-
-<tr>
-<td colspan="2" align="center"><input id="scatterPlot2V" type="submit" value="            Get  Plot            " style="height:28px"/></td>
-<form>
-<td colspan="2" align="center"><input id="download_data" type="button" value="Download Data" style="height:28px"/>
-</td>
-</form>
-
-</tr>
-
-<tr>
-<td colspan="4">
-<div id="Image">Image Here</div>
-</td>
-</tr>
-
-<tr>
-<td colspan="4" align="center">
-<textarea readonly id="data_url" cols="89" rows="2">Data URL Here</textarea>
-</td>
-</tr>
-
-<tr>
-<td colspan="4" align="center">
-<textarea id="Response" cols="89" rows="6">Service Response Text Here</textarea>
-</td>
-</tr>
-
-</table>
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/.svn/all-wcprops
----------------------------------------------------------------------
diff --git a/public/html/js/.svn/all-wcprops b/public/html/js/.svn/all-wcprops
deleted file mode 100644
index a8cfbb9..0000000
--- a/public/html/js/.svn/all-wcprops
+++ /dev/null
@@ -1,41 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 51
-/svn/cmac/!svn/ver/103/trunk/web_portal/cmac/web/js
-END
-jquery-1.6.4.min.js
-K 25
-svn:wc:ra_dav:version-url
-V 71
-/svn/cmac/!svn/ver/103/trunk/web_portal/cmac/web/js/jquery-1.6.4.min.js
-END
-json2.js
-K 25
-svn:wc:ra_dav:version-url
-V 60
-/svn/cmac/!svn/ver/103/trunk/web_portal/cmac/web/js/json2.js
-END
-jquery-1.4.4.js
-K 25
-svn:wc:ra_dav:version-url
-V 67
-/svn/cmac/!svn/ver/103/trunk/web_portal/cmac/web/js/jquery-1.4.4.js
-END
-jquery-1.4.4.min.js
-K 25
-svn:wc:ra_dav:version-url
-V 71
-/svn/cmac/!svn/ver/103/trunk/web_portal/cmac/web/js/jquery-1.4.4.min.js
-END
-xmisc.js
-K 25
-svn:wc:ra_dav:version-url
-V 60
-/svn/cmac/!svn/ver/103/trunk/web_portal/cmac/web/js/xmisc.js
-END
-jquery.flot.min.js
-K 25
-svn:wc:ra_dav:version-url
-V 70
-/svn/cmac/!svn/ver/103/trunk/web_portal/cmac/web/js/jquery.flot.min.js
-END

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/.svn/entries
----------------------------------------------------------------------
diff --git a/public/html/js/.svn/entries b/public/html/js/.svn/entries
deleted file mode 100644
index 3276ab2..0000000
--- a/public/html/js/.svn/entries
+++ /dev/null
@@ -1,232 +0,0 @@
-10
-
-dir
-820
-https://kepler.jpl.nasa.gov/svn/cmac/trunk/web_portal/cmac/web/js
-https://kepler.jpl.nasa.gov/svn/cmac
-
-
-
-2013-02-06T09:16:39.558873Z
-103
-pan
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-7b6b0737-f4d6-4764-b6e6-6b822f93333f
-
-jquery-1.4.4.min.js
-file
-
-
-
-
-2014-01-06T22:10:37.115300Z
-73a9c334c5ca71d70d092b42064f6476
-2013-02-06T09:16:39.558873Z
-103
-pan
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-78601
-
-xmisc.js
-file
-
-
-
-
-2014-01-06T22:10:37.115300Z
-5cca54013da56be3460df7bf384a442a
-2013-02-06T09:16:39.558873Z
-103
-pan
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-8076
-
-jquery.flot.min.js
-file
-
-
-
-
-2014-01-06T22:10:37.111300Z
-894855595d743ec62595d0772f1424fe
-2013-02-06T09:16:39.558873Z
-103
-pan
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-32993
-
-jquery-1.6.4.min.js
-file
-
-
-
-
-2014-01-06T22:10:37.111300Z
-9118381924c51c89d9414a311ec9c97f
-2013-02-06T09:16:39.558873Z
-103
-pan
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-91669
-
-json2.js
-file
-
-
-
-
-2014-01-06T22:10:37.111300Z
-70373c5d1da2b46813a293d4f3235e81
-2013-02-06T09:16:39.558873Z
-103
-pan
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-17308
-
-jquery-1.4.4.js
-file
-
-
-
-
-2014-01-06T22:10:37.115300Z
-ede38e8db778584feacf86ef6767948a
-2013-02-06T09:16:39.558873Z
-103
-pan
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-183184
-


[41/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/aboutProject.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/aboutProject.scala.html b/app/views/climate/aboutProject.scala.html
deleted file mode 100644
index b498dc3..0000000
--- a/app/views/climate/aboutProject.scala.html
+++ /dev/null
@@ -1,39 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
- 
-@(message: String)
-
-@main("About Project") {
-
-   <h1>About Project</h1>
-   <div class="jumbotron">
-   <p>This project aims to develop an online collaborative working environment, where scientists can not only efficiently perform their 
-   climate data analyses but also effectively share their analysis tools, datasets, and results with others. This project is based on a tight collaboration between Jet Propulsion 
-   Laboratory (JPL) and Carnegie Mellon University (CMU).</p>
-   <p>JPL has developed a technology that wraps existing climate data analysis tools into web services, with programmable interfaces that are universally accessible from the Internet. 
-   Based on the technology, JPL has developed a collection of web services that enable multi-aspect physics-based and phenomenon-oriented climate model performance evaluation and 
-   diagnosis through the comprehensive and synergistic use of multiple observational data, reanalysis data, and model outputs. The system is called Climate Model Diagnostic Analyzer (CMDA).</p>
-   <p>CMU has developed a technology to model software usage behaviors into social networks, and based on semantics-oriented analytics to assist Earth scientists in designing data 
-   analysis procedures. Using the technology, CMU has developed a semantic model for CMDA services in order to capture various hidden relationships, including semantic relationships 
-   and usage relationships in CMDA services, to help users not only learn available datasets and web services, but also learn how to use them and design climate analytics workflows 
-   faster than before. CMU has also developed a provenance model to record and track scientists’ activities and behaviors using CMDA services.</p>
-   <p>One of the key outcomes of this project will be a repository of climate data analytics web services, equipped with mechanisms to organize and manage these climate analytics 
-   services and help share and reuse the services properly. Our vision is that the climate data analytics web services can be shared, organized, searched, and recommended like photos 
-   and videos on YouTube and Shutterfly. We intend to build the web service repository with a full understanding of the needs of the Earth science researchers, and make it easy for the 
-   next-generation Earth scientists to contribute to a pool of data analytics tools, build communities, and form collaborative relationships.</p>
-</div>
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/aboutus.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/aboutus.scala.html b/app/views/climate/aboutus.scala.html
deleted file mode 100644
index e5221ab..0000000
--- a/app/views/climate/aboutus.scala.html
+++ /dev/null
@@ -1,82 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(message: String)
-
-@main("About Us") {
-
-   <h1>About Us</h1>
-   	<div class="jumbotron">
-   <p>We are a joint team between Jet Propulsion Laboratory (JPL) and Carnegie Mellon University (CMU).</p>
-   <br>
-   <h3><strong>JPL Contributors</strong></h3>
-   <p>Seungwon Lee:		<a href="mailto:seungwon.lee@@jpl.nasa.gov">seungwon.lee@@jpl.nasa.gov</a></p>
-   <p>Lei Pan:			<a href="mailto:lei.pan@@jpl.nasa.gov">lei.pan@@jpl.nasa.gov</a></p>
-   <p>Chengxing Zhai:	<a href="mailto:chengxing.zhai@@jpl.nasa.gov">chengxing.zhai@@jpl.nasa.gov</a></p>
-   <p>Benyang Tang:		<a href="mailto:benyang.tang@@jpl.nasa.gov">benyang.tang@@jpl.nasa.gov</a></p>
-   <p>Terry Kubar:		<a href="mailto:terry.kubar@@jpl.nasa.gov">terry.kubar@@jpl.nasa.gov</a></p>
-   <p>Frank Li:			<a href="mailto:juilin.li@@jpl.nasa.gov">juilin.li@@jpl.nasa.gov</a></p>
-   <p>Jonathan Jiang:	<a href="mailto:jonathan.jiang@@jpl.nasa.gov">jonathan.jiang@@jpl.nasa.gov</a></p>
-   <p>LJoao Teixeira:	<a href="mailto:joao.teixeira@@jpl.nasa.gov">joao.teixeira@@jpl.nasa.gov</a></p>
-   <br>
-   <h3><strong>CMU Contributors</strong></h3>
-   <p>Wei Wang</p>
-   <p>Xing Wei</p> 
-   <p>Rao Li</p>
-   <p>Chenran Gong</p>
-   <p>Ming Qi</p>
-   <p>Ruoxiao Wang</p>
-   <p>Qihao Bao</p>
-   <p>Zelin Zeng</p>
-   <p>Xiatao Jin</p>
-   <p>Yichen Liu</p>
-   <p>Edward Huang</p>
-   <p>Zhiyu Lin</p>  
-   <p>Jian Jiao</p>
-   <p>Juanchen Li</p>
-   <br>
-   <h3><strong>CMU Former Contributors</strong></h3>
-   <p>Pinchao Wang</p>
-   <p>Kang Fang</p>
-   <p>Minghan Chen</p>
-   <p>Chris Lee</p>
-   <br>
-   <h3><strong>CMU Advisor</strong></h3>
-   <p>Jia Zhang		<a href="http://www.andrew.cmu.edu/user/jiaz/">Personal Website</a></p>
-   <br>
-   
-
-   <h3><strong>Publications</strong></h3>
-   <b>2015</b>
-   <p>1. S. Lee. L. Pan, C. Zhai, B. Tang, T. Kubar, J. Zhang, and W. Wang, Climate Model Diagnostic Analyzer, submitted to 2015 IEEE International Conference on Big Data, Oct 29-Nov 01, 2015.</p>
-   <p>2. J. Zhang, W. Wang, C. Lee, X. Wei, S. Lee, L. Pan, and T.J. Lee, "Climate Analytics Workflow Recommendation as a Service – Provenance-driven Automatic Workflow Mashup", in Proceedings of IEEE International Conference on Web Services (ICWS 2015), Jun. 27-Jul. 2, 2015, New York, NY, USA, pp. 89-97.</p>
-   <b>2014</b>
-   <p>3. J. Zhang, C. Lee, S. Xiao, P. Votava, T.J. Lee, R. Nemani and I. Foster, "A Community-Driven Workflow Recommendations and Reuse Infrastructure", accepted by The 8th IEEE International Symposium on Service-Oriented System Engineering (SOSE 2014).</p>
-   <p>4. J. Zhang, D. Kuc, and S. Lu, "Confucius: A Tool Supporting Collaborative Scientific Workflow Composition", IEEE Transactions on Services Computing (TSC), 7(1), Jan.-Mar, 2014.<a href = "http://www.andrew.cmu.edu/user/jiaz/Papers/JiaZhang-Confucius-TSC.pdf">[pdf]</a></p>
-   <b>2013</b>
-   <p>5. J. Zhang, Z. Li, O. Sandoval, N. Xin, Y. Ren, B. Iannucci, M. Griss, S. Rosernberg, R.A. Martin, J. Cao, A. Rowe, "Supporting Personizable Virtual Internet of Things", in Proceedings of The 10th IEEE International Conference on Ubiquitous Intelligence and Computing (UIC-2013), Dec. 18-20, 2013, Vietri sul Mare, Italy.<a href = "http://www.andrew.cmu.edu/user/jiaz/Papers/JiaZhang-VirtualSensorEditor.pdf">[pdf]</a></p>
-   <p>6. J. Zhang, N. Radia, Z. Li, N. Xin, Y. Ren, P. Sachdeva, P. Subramanyam, S. Hu, S. Luan, L. Lee, B. Xing, D. Li, J. Cao, T. Selker, B. Iannucci, M. Griss, A. Rowe, "An Infrastructure Supporting Considerate Sensor Service Provisioning", in Proceedings of the 6th IEEE International Conference on Service Oriented Computing and Applications (SOCA 2013), Dec. 16-18, 2013, Kauai, HA, USA.<a href="http://www.andrew.cmu.edu/user/jiaz/Papers/JiaZhang-SocialSensors.pdf">[pdf]</a></p>
-   <p>7. L.-J. Zhang and J. Zhang, "Service Oriented Solution Modeling and Variation Propagation Analysis based on Architectural Building Blocks", International Journal of Web Services Research (JWSR), 10(4), 2013.</p>
-   <p>8. J. Wang, Z. Feng, J. Zhang, P.C.K. Hung, K. He, and L.-J. Zhang, "A Unified RGPS-Based Approach Supporting Service-Oriented Process Customization", accepted as a book chapter in Web Services Foundations, edited by Athman Bouguettaya and Schahram Dustdar, Springer Verlag, pp. 657-682.</p>
-   <p>9. J. Zhang, P. Votava, T.J. Lee, S. Adhikarla, I. Kulkumjon, M. Schlau, D. Natesan, R. Nemani, "A Technique of Analyzing Trust Relationships to Facilitate Scientific Service Discovery and Recommendation", in Proceedings of 2013 IEEE 10th International Conference on Services Computing (SCC), Jun. 27-Jul. 2, 2013, Santa Clara, CA, USA, pp. 57-64. (acceptance rate: 18%)<a href = "http://www.andrew.cmu.edu/user/jiaz/Papers/JiaZhang-TrustServiceDiscovery.pdf">[pdf]</a></p>
-   <p>10. J. Zhang, B. Iannucci, M. Hennessy, K. Gopal, S. Xiao, S. Kumar, D. Pfeffer, B. Aljedia, Y. Ren, M. Griss, S. Rosenberg, J. Cao, A. Rowe, "Sensor Data as a Service - A Federated Platform for Mobile Data-Centric Service Development and Sharing", in Proceedings of 2013 IEEE 10th International Conference on Services Computing (SCC), Jun. 27-Jul. 2, 2013, Santa Clara, CA, USA, pp. 446-453.<a href="http://www.andrew.cmu.edu/user/jiaz/Papers/JiaZhang-SensorServicePlatform.pdf">[pdf]</a></p>
-   <p>11. J. Zhang, P. Votava, T.J. Lee, O. Chu, C. Li, D. Liu, K. Liu, N. Xin, R. Nemani, "Bridging VisTrails Scientific Workflow Management System to High Performance Computing", IEEE 2013 7th International Workshop on Scientific Workflows (SWF), in Proceedings of 2013 IEEE 9th World Congress on Services (SERVICES), Jun. 27-Jul. 2, 2013, Santa Clara, CA, USA, pp. 29-36.<a href = "http://www.andrew.cmu.edu/user/jiaz/Papers/JiaZhang-VisTrails-HECC.pdf">[pdf]</a></p>
-   <p>12. B. Plale, M.R. Lyu, J. Zhang (Eds.), 2013 IEEE 20th International Conference on Web Services (ICWS), Jun. 27-Jul. 2, 2013, Santa Clara, CA, USA, IEEE 2013.</p>
-   <p>13. L.-J. Zhang and J. Zhang, "Technical Architecture of Enabling Body of Knowledge System for Effective Learning and Information Dissemination", International Journal of Web Services Research (JWSR), 10(2), 2013, pp. 41-62.<a href = "http://www.andrew.cmu.edu/user/jiaz/Papers/JiaZhang-BoK.pdf">[pdf]</a></p>
-   <p>14. I. Bojanova, J. Zhang, J.M. Voas, "Cloud Computing", IEEE IT Professional, 15(2), 2013, pp. 12-14.</p>
-</div>
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/addClimateServices.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/addClimateServices.scala.html b/app/views/climate/addClimateServices.scala.html
deleted file mode 100644
index 9c7be00..0000000
--- a/app/views/climate/addClimateServices.scala.html
+++ /dev/null
@@ -1,67 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(climateServiceForm: play.data.Form[metadata.ClimateService])
-@import helper._
-
-@scripts = {
-	<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-}
-
-@main("Climate Services", scripts) {
-	
-	@flash_message()    
-     @if(true){
-	    <h1>Add a new climate service</h1>
-	    @form(routes.ClimateServiceController.newClimateService()) {   
-	        @inputText(
-	        	climateServiceForm("Name"),
-	        	'_label -> "Name * (Please DO NOT contain spaces)"
-	        )
-	        @inputText(
-	        	climateServiceForm("Purpose"),
-	        	'_label -> "Purpose"
-	        )
-	        @inputText(
-	        	climateServiceForm("Url"),
-	        	'_label -> "Url"
-	        ) 
-	        @inputText(
-	        	climateServiceForm("Scenario"),
-	        	'_label -> "Scenario"
-	        )
-	         @inputText(
-	        	climateServiceForm("Version"),
-	        	'_label -> "Version"
-	        ) 
-	        @inputText(
-	        	climateServiceForm("Root_Service"),
-	        	'_label -> "Root_Service"
-	        )
-	        
-	        <input class="btn" type="submit" value="Add a new service">
-	        <a href="@routes.ClimateServiceController.climateServices()" class="btn">Cancel</a>
-	    }
-	
-		<br>
-		    
-	    @form(routes.ClimateServiceController.downloadClimateService(), 'class -> "form-horizontal", 'role -> "form") {
-	
-	        <button type="submit" name="action" value="download">Download</button>
-	    }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/bugReporting.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/bugReporting.scala.html b/app/views/climate/bugReporting.scala.html
deleted file mode 100644
index 363460c..0000000
--- a/app/views/climate/bugReporting.scala.html
+++ /dev/null
@@ -1,68 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(bugReportForm: play.data.Form[BugReport])
-
-@import helper._
-@import helper.twitterBootstrap._
-
-@main("Bug Report") {
-    
-    @flash_message()
-        
-    @helper.form(action = routes.BugReportController.newReport) {
-        
-        <fieldset>
-            <legend>Bug Report</legend>
-            
-            @inputText(
-                bugReportForm("name"), 
-                '_label -> "Your name",                 
-                '_error -> bugReportForm.globalError                                
-            )
-            @inputText(
-                bugReportForm("title"), 
-                '_label -> "Bug Title",                 
-                '_error -> bugReportForm.globalError                                
-            )
-            @inputText(
-                bugReportForm("email"), 
-                '_label -> "Email",
-                '_helper -> "You must be a registered user to report a bug",                 
-                '_error -> bugReportForm.globalError                                
-            )
-            @inputText(
-                bugReportForm("organization"), 
-                '_label -> "Organization",                 
-                '_error -> bugReportForm.globalError                                
-            )
-            @textarea(
-                bugReportForm("description"), 
-                '_label -> "Description", 'cols -> 65, 'rows -> 7                                               
-            )
-           
-        </fieldset>
-        
-      
-        <div class="actions">
-            <input type="submit" class="btn primary" value="Submit">
-            <a href="@routes.ClimateServiceController.home()" class="btn">Cancel</a>
-        </div>
-        
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/bugs.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/bugs.scala.html b/app/views/climate/bugs.scala.html
deleted file mode 100644
index fd04769..0000000
--- a/app/views/climate/bugs.scala.html
+++ /dev/null
@@ -1,92 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(bugReports: LinkedList[BugReport])
-
-@import helper._
-
-@main("Bug Reports") {
-    
-    @flash_message()
-        
-    <h1> Bug Reports(s)</h1>
-		<table class="table table-striped table-bordered ">
-			<thead ">
-			<tr>
-	    	  <td>Solved</td>
-	    	  <td>Report Title</td>
-	    	  <td>Reporter Name</td>
-	    	  <td>Reporter's email</td>
-	    	  <td>Reporter's organization</td>
-	    	  <td>Bug content</td>
-	    	  <td>Operation</td>
-	        </tr>
-			</thead>
-			
-			<tbody>
-            <tr>
-               @for(bugReport <- bugReports) {
-                    <tr>
-                    	<td>
-                    		@{if(bugReport.getSolved()==1){"Yes"}
-                    			else{"No"}
-                    		}
-                    			
-                    	</td>
-                        <td>
-                            @bugReport.getTitle()
-                        </td>
-                        <td> 
-                            @bugReport.getName()
-                        </td>
-                        <td> 
-                            @bugReport.getEmail()
-                        </td>
-                        <td> 
-                            @bugReport.getOrganization()
-                        </td>
-                        <td> 
-                            @bugReport.getDescription()
-                        </td>
-                        
-                        
-                        <td>
-                        <div class="input-group input-group-sm">
-                        <span>
-						@form(routes.BugReportController.solveReport()){
-               		 		<input name="idHolder" type="hidden" value="@bugReport.getId()">
-        					<input type="submit"  class="btn btn-success" value="Solve" onclick="return confirm('Are you sure you want to solve this issue?')">
-        				}	
-        				</span>
-                        <span>
-						@form(routes.BugReportController.deleteReport()){
-               		 		<input name="idHolder" type="hidden" value="@bugReport.getId()">
-        					<input type="submit"  class="btn btn-danger" value="Delete" onclick="return confirm('Are you sure you want to delete this issue?')">
-        				}	
-        				</span>
-        				</div>
-           				
-						
-						</td>
-                    </tr>
-                }
-            </tr>
-            </tbody>
-
-    </table>
-    
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/climateServices.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/climateServices.scala.html b/app/views/climate/climateServices.scala.html
deleted file mode 100644
index 8af110c..0000000
--- a/app/views/climate/climateServices.scala.html
+++ /dev/null
@@ -1,67 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(climateServices: List[metadata.ClimateService], climateServiceForm: play.data.Form[metadata.ClimateService])
-
-@import helper._
-
-@scripts = {
-	<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-	<script type="text/javascript">
-	$(document).ready(function(){
-
-	});
-	</script>
-}
-
-@main("Climate Services", scripts) {
-	
-	@flash_message()   
-	 
-    <h1>@climateServices.size() Climate Services</h1>
-		<table class="table table-striped table-bordered table-condensed ex2 tablesorter" id = "csTable">
-		<thead>
-	<tr>
-		<th class="col-md-2">Climate Service Name</td>
-		<th class="col-md-4">Purpose</td>
-		<th class="col-md-2">Url</td>
-		
-	</tr>
-	</thead>
-	@for(climateService <- climateServices){
-	<tr>
-		<td><a href = "@{routes.ClimateServiceController.oneService(climateService.getUrl())}"><font size="3">@climateService.getClimateServiceName()</a></font></td>
-
-		<td><span class="@climateService.getClimateServiceName() editable"  data-name='purpose'><font size="3">
-				@climateService.getPurpose() </font></span></td>
-		
-		<td class = "text-center" ><span class="@climateService.getClimateServiceName() editable" id = "url" data-name='url'>
-				<a href = "@{routes.ClimateServiceController.oneService(climateService.getUrl())}"><img src='@climateService.getPhoto()' style="height: 150px; width: 150px" ></a> </span></td>
-	
-	</tr>
-	}
-    </table>
- 
-    
-     @if(false){
-		    
-	    @form(routes.ClimateServiceController.downloadClimateService(), 'class -> "form-horizontal", 'role -> "form") {
-	
-	        <button type="submit" name="action" value="download">Download</button>
-	    }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/conditionalSampling.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/conditionalSampling.scala.html b/app/views/climate/conditionalSampling.scala.html
deleted file mode 100644
index fe2ab7d..0000000
--- a/app/views/climate/conditionalSampling.scala.html
+++ /dev/null
@@ -1,1761 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(parameters: metadata.ConditionalSampling) @import helper._
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-@scripts = {
-<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-<script type="text/javascript" src= "https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js"></script>
-	<script type="
-	text/javascript" src='@routes.Assets.at("javascripts/json2.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/xmisc.js")'></script>
-<script type="text/javascript">
-	var Response = null;
-    var variable1 = "";
-    var variable2 = "";
-    window.onload = function() {
-      select_all_months();
-      changeDataSource1();
-      select_data1(1);
-      changeDataSource2();
-      select_data1(2);
-      changeVariableName1();
-      select_var1(1);
-      changeVariableName2();
-      select_var1(2);
-      var z=document.getElementById("download_data");
-      z.disabled=false;
-      setDefault();
-      $('#pres1').val("N/A");
-      $('#pres2').val("N/A");
-      $('#t0').val($('#startYearMonth').text());
-      $('#t1').val($('#endYearMonth').text());
-      var selectMonths = $('#selectMonths').text();
-      $('#months option:contains('+selectMonths+')').prop({selected: true});
-      select_months();
-      select_monthsByPara();
-      $('#lat0').val($('#startLat').text());
-      $('#lat1').val($('#endLat').text());
-      $('#lon0').val($('#startLon').text());
-      $('#lon1').val($('#endLon').text());
-      var x_axis = $('#div_X').text();
-      if(x_axis == "0") {
-        $('#radioXLin').prop( "checked", true );
-        $('#radioXLog').prop( "checked", false );
-      }
-      else {
-        $('#radioXLin').prop( "checked", false );
-        $('#radioXLog').prop( "checked", true );
-      }
-      var y_axis = $('#div_Y').text();
-      if(y_axis == "0") {
-          $('#radioYLin').prop( "checked", true );
-          $('#radioYLog').prop( "checked", false );
-        }
-        else {
-          $('#radioYLin').prop( "checked", false );
-          $('#radioYLog').prop( "checked", true );
-        }
-      var z_axis = $('#div_Z').text();
-      if(z_axis == "0") {
-          $('#radioZLin').prop( "checked", true );
-          $('#radioZLog').prop( "checked", false );
-        }
-        else {
-          $('#radioZLin').prop( "checked", false );
-          $('#radioZLog').prop( "checked", true );
-        }
-      var binMin = $('#binMin').text();
-      var binMax = $('#binMax').text();
-      var binNum = $('#binNum').text();
-      if(binMin == "-999999" && binMax == "-999999" && binNum=="-999999"){
-    	  $('#radioDef').prop( "checked", true );
-      }else{
-    	  $('#radioCus').prop( "checked", true );
-    	  $('#min1').val(binMin);
-          $('#max1').val(binMax);
-          $('#bins1').val(binNum);
-      }
-      $('#purpose').html($('#executionPurpose').text());
-      var imageUrl = $('#image').text();
-      $('#Image').html('<img src="'+imageUrl+'" width=680 />');
-      $('#data_url').html($('#dataURL').text());
-      $('#Response').html($('serviceResponseText').text());
-    function changeDataSource1(){
-    	var dataSource = $('#dataSourceP').text();
-     	var x = document.getElementById("data1");
-     	if(dataSource == "cccma_canesm2" ){
-     		x.options[0].selected=true;
-     	}
-     	else if(dataSource == "gfdl_esm2g" ){
-     		x.options[1].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-h" ){
-     		x.options[2].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-r" ){
-     		x.options[3].selected=true;
-     	}
-     	else if(dataSource == "ncar_cam5" ){
-     		x.options[4].selected=true;
-     	}
-     	else if(dataSource == "ncc_noresm" ){
-     		x.options[5].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-es" ){
-     		x.options[6].selected=true;
-     	}
-     	else if(dataSource == "cccma_canam4" ){
-     		x.options[7].selected=true;
-     	}
-     	else if(dataSource == "csiro_mk3.6" ){
-     		x.options[8].selected=true;
-     	}
-     	else if(dataSource == "gfdl_cm3" ){
-     		x.options[9].selected=true;
-     	}
-     	else if(dataSource == "ipsl_cm5a-lr" ){
-     		x.options[10].selected=true;
-     	}
-     	else if(dataSource == "miroc_miroc5" ){
-     		x.options[11].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-a" ){
-     		x.options[12].selected=true;
-     	}
-     	else if(dataSource == "nasa_modis" ){
-     		x.options[13].selected=true;
-     	}
-     	else if(dataSource == "nasa_amsre" ){
-     		x.options[14].selected=true;
-     	}
-     	else if(dataSource == "nasa_trmm" ){
-     		x.options[15].selected=true;
-     	}
-     	else if(dataSource == "nasa_gpcp" ){
-     		x.options[16].selected=true;
-     	}
-     	else if(dataSource == "nasa_quikscat" ){
-     		x.options[17].selected=true;
-     	}
-     	else if(dataSource == "nasa_aviso" ){
-     		x.options[18].selected=true;
-     	}
-     	else if(dataSource == "nasa_grace" ){
-     		x.options[19].selected=true;
-     	}
-     	else if(dataSource == "noaa_nodc" ){
-     		x.options[20].selected=true;
-     	}
-     	else if(dataSource == "nasa_ceres" ){
-     		x.options[21].selected=true;
-     	}
-     	else if(dataSource == "nasa_airs" ){
-     		x.options[22].selected=true;
-     	}
-     	else if(dataSource == "nasa_mls" ){
-     		x.options[23].selected=true;
-     	}
-     	else if(dataSource == "nasa_argo" ){
-     		x.options[24].selected=true;
-     	}
-     	else if(dataSource == "ecmwf_interim" ){
-     		x.options[25].selected=true;
-     	}
-    }
-    function changeDataSource2(){
-    	var dataSource = $('#dataSourceE').text();
-     	var x = document.getElementById("data2");
-     	if(dataSource == "cccma_canesm2" ){
-     		x.options[0].selected=true;
-     	}
-     	else if(dataSource == "gfdl_esm2g" ){
-     		x.options[1].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-h" ){
-     		x.options[2].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-r" ){
-     		x.options[3].selected=true;
-     	}
-     	else if(dataSource == "ncar_cam5" ){
-     		x.options[4].selected=true;
-     	}
-     	else if(dataSource == "ncc_noresm" ){
-     		x.options[5].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-es" ){
-     		x.options[6].selected=true;
-     	}
-     	else if(dataSource == "cccma_canam4" ){
-     		x.options[7].selected=true;
-     	}
-     	else if(dataSource == "csiro_mk3.6" ){
-     		x.options[8].selected=true;
-     	}
-     	else if(dataSource == "gfdl_cm3" ){
-     		x.options[9].selected=true;
-     	}
-     	else if(dataSource == "ipsl_cm5a-lr" ){
-     		x.options[10].selected=true;
-     	}
-     	else if(dataSource == "miroc_miroc5" ){
-     		x.options[11].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-a" ){
-     		x.options[12].selected=true;
-     	}
-     	else if(dataSource == "nasa_modis" ){
-     		x.options[13].selected=true;
-     	}
-     	else if(dataSource == "nasa_amsre" ){
-     		x.options[14].selected=true;
-     	}
-     	else if(dataSource == "nasa_trmm" ){
-     		x.options[15].selected=true;
-     	}
-     	else if(dataSource == "nasa_gpcp" ){
-     		x.options[16].selected=true;
-     	}
-     	else if(dataSource == "nasa_quikscat" ){
-     		x.options[17].selected=true;
-     	}
-     	else if(dataSource == "nasa_aviso" ){
-     		x.options[18].selected=true;
-     	}
-     	else if(dataSource == "nasa_grace" ){
-     		x.options[19].selected=true;
-     	}
-     	else if(dataSource == "noaa_nodc" ){
-     		x.options[20].selected=true;
-     	}
-     	else if(dataSource == "nasa_ceres" ){
-     		x.options[21].selected=true;
-     	}
-     	else if(dataSource == "nasa_airs" ){
-     		x.options[22].selected=true;
-     	}
-     	else if(dataSource == "nasa_mls" ){
-     		x.options[23].selected=true;
-     	}
-     	else if(dataSource == "nasa_argo" ){
-     		x.options[24].selected=true;
-     	}
-     	else if(dataSource == "ecmwf_interim" ){
-     		x.options[25].selected=true;
-     	}
-    }
-    function changeVariableName1(){
-    	var var_string = $('#variableNameP').text();
-     	var x=document.getElementById("var1");
-     	if (var_string == "clt")
-     		x.options[1].selected=true;
-        else if (var_string == "ts")
-        	x.options[2].selected=true;
-        else if (var_string == "tos")
-        	x.options[3].selected=true;
-        else if (var_string == "pr")
-        	x.options[0].selected=true;
-        else if (var_string == "uas")
-        	x.options[4].selected=true;
-        else if (var_string == "vas")
-        	x.options[5].selected=true;
-        else if (var_string == "sfcWind")
-        	x.options[6].selected=true;
-        else if (var_string == "zos")
-        	x.options[7].selected=true;
-        else if (var_string == "lai")
-        	x.options[8].selected=true;
-        else if (var_string == "zl")
-        	x.options[9].selected=true;
-        else if (var_string == "zo")
-        	x.options[10].selected=true;
-        else if (var_string == "ohc700")
-        	x.options[11].selected=true;
-        else if (var_string == "ohc2000")
-        	x.options[12].selected=true;
-        else if (var_string == "rlds")
-        	x.options[13].selected=true;
-        else if (var_string == "rsds")
-        	x.options[14].selected=true;
-        else if (var_string == "rlus")
-        	x.options[15].selected=true;
-        else if (var_string == "rsus")
-        	x.options[16].selected=true;
-        else if (var_string == "rldscs")
-        	x.options[17].selected=true;
-        else if (var_string == "rsdscs")
-        	x.options[18].selected=true;
-        else if (var_string == "rsuscs")
-        	x.options[19].selected=true;
-        else if (var_string == "rsdt")
-        	x.options[20].selected=true;
-        else if (var_string == "rlutcs")
-        	x.options[21].selected=true;
-        else if (var_string == "rlut")
-        	x.options[22].selected=true;
-        else if (var_string == "rsutcs")
-        	x.options[23].selected=true;
-        else if (var_string == "rsut")
-        	x.options[24].selected=true;
-    }
-    function changeVariableName2(){
-    	var var_string = $('#variableNameE').text();
-     	var x=document.getElementById("var2");
-     	if (var_string == "clt")
-     		x.options[1].selected=true;
-        else if (var_string == "ts")
-        	x.options[2].selected=true;
-        else if (var_string == "tos")
-        	x.options[3].selected=true;
-        else if (var_string == "pr")
-        	x.options[0].selected=true;
-        else if (var_string == "uas")
-        	x.options[4].selected=true;
-        else if (var_string == "vas")
-        	x.options[5].selected=true;
-        else if (var_string == "sfcWind")
-        	x.options[6].selected=true;
-        else if (var_string == "zos")
-        	x.options[7].selected=true;
-        else if (var_string == "lai")
-        	x.options[8].selected=true;
-        else if (var_string == "zl")
-        	x.options[9].selected=true;
-        else if (var_string == "zo")
-        	x.options[10].selected=true;
-        else if (var_string == "ohc700")
-        	x.options[11].selected=true;
-        else if (var_string == "ohc2000")
-        	x.options[12].selected=true;
-        else if (var_string == "rlds")
-        	x.options[13].selected=true;
-        else if (var_string == "rsds")
-        	x.options[14].selected=true;
-        else if (var_string == "rlus")
-        	x.options[15].selected=true;
-        else if (var_string == "rsus")
-        	x.options[16].selected=true;
-        else if (var_string == "rldscs")
-        	x.options[17].selected=true;
-        else if (var_string == "rsdscs")
-        	x.options[18].selected=true;
-        else if (var_string == "rsuscs")
-        	x.options[19].selected=true;
-        else if (var_string == "rsdt")
-        	x.options[20].selected=true;
-        else if (var_string == "rlutcs")
-        	x.options[21].selected=true;
-        else if (var_string == "rlut")
-        	x.options[22].selected=true;
-        else if (var_string == "rsutcs")
-        	x.options[23].selected=true;
-        else if (var_string == "rsut")
-        	x.options[24].selected=true;
-    }
-    function select_monthsByPara(){
-    	var monthsByPara = $('#monthsPara').text();
-    	if(monthsByPara.search("jan")>-1){
-    		document.getElementById('Jan').checked = true;
-    	}
-    	if(monthsByPara.search("feb")>-1){
-    		document.getElementById('Feb').checked = true;
-    	}
-    	if(monthsByPara.search("mar")>-1){
-    		document.getElementById('Mar').checked = true;
-    	}
-    	if(monthsByPara.search("apr")>-1){
-    		document.getElementById('Apr').checked = true;
-    	}
-    	if(monthsByPara.search("may")>-1){
-    		document.getElementById('May').checked = true;
-    	}
-    	if(monthsByPara.search("jun")>-1){
-    		document.getElementById('Jun').checked = true;
-    	}
-    	if(monthsByPara.search("jul")>-1){
-    		document.getElementById('Jul').checked = true;
-    	}
-    	if(monthsByPara.search("aug")>-1){
-    		document.getElementById('Aug').checked = true;
-    	}
-    	if(monthsByPara.search("sep")>-1){
-    		document.getElementById('Sep').checked = true;
-    	}
-    	if(monthsByPara.search("oct")>-1){
-    		document.getElementById('Oct').checked = true;
-    	}
-    	if(monthsByPara.search("nov")>-1){
-    		document.getElementById('Nov').checked = true;
-    	}
-    	if(monthsByPara.search("dec")>-1){
-    		document.getElementById('Dec').checked = true;
-    	}
-    }
-    }
-    function select_all_months()
-    {
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-        document.getElementById('Dec').checked = true;
-    }
-    function no_month_check()
-    {
-        if (document.getElementById('Jan').checked == false &&
-           document.getElementById('Feb').checked == false &&
-           document.getElementById('Mar').checked == false &&
-           document.getElementById('Apr').checked == false &&
-           document.getElementById('May').checked == false &&
-           document.getElementById('Jun').checked == false &&
-           document.getElementById('Jul').checked == false &&
-           document.getElementById('Aug').checked == false &&
-           document.getElementById('Sep').checked == false &&
-           document.getElementById('Oct').checked == false &&
-           document.getElementById('Nov').checked == false &&
-           document.getElementById('Dec').checked == false) {
-           return true;
-          }
-        else
-           return false;
-    }
-    function reset_months()
-    {
-        document.getElementById('Jan').checked = false;
-        document.getElementById('Feb').checked = false;
-        document.getElementById('Mar').checked = false;
-        document.getElementById('Apr').checked = false;
-        document.getElementById('May').checked = false;
-        document.getElementById('Jun').checked = false;
-        document.getElementById('Jul').checked = false;
-        document.getElementById('Aug').checked = false;
-        document.getElementById('Sep').checked = false;
-        document.getElementById('Oct').checked = false;
-        document.getElementById('Nov').checked = false;
-        document.getElementById('Dec').checked = false;
-    }
-    function setDefault()
-    {
-       x=document.getElementById("min1");
-       y=document.getElementById("max1");
-       z=document.getElementById("bins1");
-       x.value = "N/A";
-       x.disabled=true;
-       y.value = "N/A";
-       y.disabled=true;
-       z.value = "N/A";
-       z.disabled=true;
-    }
-    function setCustomized()
-    {
-       x=document.getElementById("min1");
-       y=document.getElementById("max1");
-       z=document.getElementById("bins1");
-       x.value = "";
-       x.disabled=false;
-       y.value = "";
-       y.disabled=false;
-       z.value = "";
-       z.disabled=false;
-    }
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-    function unset_vars1(ID)
-    {
-      var x;
-      if (ID == 1) {
-        x=document.getElementById("var1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("var2");
-      }
-      x.options[0].disabled=true;
-      x.options[1].disabled=true;
-      x.options[2].disabled=true;
-      x.options[3].disabled=true;
-      x.options[4].disabled=true;
-      x.options[5].disabled=true;
-      x.options[6].disabled=true;
-      x.options[7].disabled=true;
-      x.options[8].disabled=true;
-      x.options[9].disabled=true;
-      x.options[10].disabled=true;
-      x.options[11].disabled=true;
-      x.options[12].disabled=true;
-      x.options[13].disabled=true;
-      x.options[14].disabled=true;
-      x.options[15].disabled=true;
-      x.options[16].disabled=true;
-      x.options[17].disabled=true;
-      x.options[18].disabled=true;
-      x.options[19].disabled=true;
-      x.options[20].disabled=true;
-      x.options[21].disabled=true;
-      x.options[22].disabled=true;
-      x.options[23].disabled=true;
-      x.options[24].disabled=true;
-      x.options[25].disabled=true;
-      x.options[26].disabled=true;
-      x.options[27].disabled=true;
-      x.options[28].disabled=true;
-      x.options[29].disabled=true;
-      x.options[30].disabled=true;
-      x.options[31].disabled=true;
-      x.options[32].disabled=true;
-    }
-    function disable_pres1(ID)
-    {
-      var x;
-      if (ID == 1) {
-        x=document.getElementById("pres1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("pres2");
-      }
-      x.value = "N/A";
-      x.disabled=true;
-    }
-    function enable_pres1(ID)
-    {
-      var x;
-      if (ID == 1) {
-        x=document.getElementById("pres1");
-        x.value = "200, 900";
-      }
-      else if (ID == 2) {
-        x=document.getElementById("pres2");
-        x.value = "500";
-      }
-      x.disabled=false;
-    }
-    function select_var1(ID)
-    {
-      var var_string;
-      if (ID == 1) {
-        var_string = $("#var1").val();
-      }
-      else if (ID == 2) {
-        var_string = $("#var2").val();
-      }
-      disable_download_button();  
-      if (var_string == "Total Cloud Fraction") { 
-        if (ID == 1) {
-          variable1 = "clt";  
-        }
-        else if (ID == 2) {
-          variable2 = "clt";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Temperature") {
-        if (ID == 1) {
-          variable1 = "ts";  
-        }
-        else if (ID == 2) {
-          variable2 = "ts";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Sea Surface Temperature") { 
-        if (ID == 1) {
-          variable1 = "tos";  
-        }
-        else if (ID == 2) {
-          variable2 = "tos";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Precipitation Flux") { 
-        if (ID == 1) {
-          variable1 = "pr";  
-        }
-        else if (ID == 2) {
-          variable2 = "pr";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Eastward Near-Surface Wind") { 
-        if (ID == 1) {
-          variable1 = "uas";  
-        }
-        else if (ID == 2) {
-          variable2 = "uas";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Northward Near-Surface Wind") {  
-        if (ID == 1) {
-          variable1 = "vas";  
-        }
-        else if (ID == 2) {
-          variable2 = "vas";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Near-Surface Wind Speed") { 
-        if (ID == 1) {
-          variable1 = "sfcWind";  
-        }
-        else if (ID == 2) {
-          variable2 = "sfcWind";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Sea Surface Height") { 
-        if (ID == 1) {
-          variable1 = "zos";  
-        }
-        else if (ID == 2) {
-          variable2 = "zos";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Leaf Area Index") { 
-        if (ID == 1) {
-          variable1 = "lai";  
-        }
-        else if (ID == 2) {
-          variable2 = "lai";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Equivalent Water Height Over Land") {
-        if (ID == 1) {
-          variable1 = "zl";  
-        }
-        else if (ID == 2) {
-          variable2 = "zl";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Equivalent Water Height Over Ocean") {
-        if (ID == 1) {
-          variable1 = "zo";
-        }
-        else if (ID == 2) {
-          variable2 = "zo";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Ocean Heat Content Anomaly within 700 m Depth") {
-        if (ID == 1) {
-          variable1 = "ohc700";
-        }
-        else if (ID == 2) {
-          variable2 = "ohc700";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Ocean Heat Content Anomaly within 2000 m Depth") {
-        if (ID == 1) {
-          variable1 = "ohc2000";
-        }
-        else if (ID == 2) {
-          variable2 = "ohc2000";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlds";
-        }
-        else if (ID == 2) {
-          variable2 = "rlds";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsds";
-        }
-        else if (ID == 2) {
-          variable2 = "rsds";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Upwelling Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlus";
-        }
-        else if (ID == 2) {
-          variable2 = "rlus";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Upwelling Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsus";
-        }
-        else if (ID == 2) {
-          variable2 = "rsus";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Clear-Sky Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rldscs";
-        }
-        else if (ID == 2) {
-          variable2 = "rldscs";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Clear-Sky Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsdscs";
-        }
-        else if (ID == 2) {
-          variable2 = "rsdscs";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Upwelling Clear-Sky Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsuscs";
-        }
-        else if (ID == 2) {
-          variable2 = "rsuscs";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Incident Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsdt";
-        }
-        else if (ID == 2) {
-          variable2 = "rsdt";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Clear-Sky Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlutcs";
-        }
-        else if (ID == 2) {
-          variable2 = "rlutcs";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlut";
-        }
-        else if (ID == 2) {
-          variable2 = "rlut";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Clear-Sky Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsutcs";
-        }
-        else if (ID == 2) {
-          variable2 = "rsutcs";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsut";
-        }
-        else if (ID == 2) {
-          variable2 = "rsut";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Air Temperature") {
-        if (ID == 1) {
-          variable1 = "ta";
-        }
-        else if (ID == 2) {
-          variable2 = "ta";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Specific Humidity") {
-        if (ID == 1) {
-          variable1 = "hus";
-        }
-        else if (ID == 2) {
-          variable2 = "hus";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Cloud Ice Water Content") {
-        if (ID == 1) {
-          variable1 = "cli";
-        }
-        else if (ID == 2) {
-          variable2 = "cli";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Cloud Liquid Water Content") {
-        if (ID == 1) {
-          variable1 = "clw";
-        }
-        else if (ID == 2) {
-          variable2 = "clw";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Ocean Temperature") {
-        if (ID == 1) {
-          variable1 = "ot";
-        }
-        else if (ID == 2) {
-          variable2 = "ot";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Ocean Salinity") {
-        if (ID == 1) {
-          variable1 = "os";
-        }
-        else if (ID == 2) {
-          variable2 = "os";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Vertical Wind Velocity") {
-        if (ID == 1) {
-          variable1 = "wap";
-        }
-        else if (ID == 2) {
-          variable2 = "wap";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Relative Humidity") {
-        if (ID == 1) {
-          variable1 = "hur";
-        }
-        else if (ID == 2) {
-          variable2 = "hur";
-        }
-        enable_pres1(ID);
-      }
-    }
-    function select_data1(ID)
-    {
-      var data_string;
-      var x;
-      if (ID == 1) {
-        data_string = $("#data1").val();
-        x = document.getElementById("var1");
-      }
-      else if (ID == 2) {
-        data_string = $("#data2").val();
-        x = document.getElementById("var2");
-      }
-      disable_download_button();
-      if (data_string == "NASA/AMSRE") {
-        unset_vars1(ID); 
-        x.options[3].selected=true;
-        disable_pres1(ID); 
-        x.options[3].disabled=false;
-      }
-      else if (data_string == "NASA/MODIS") {
-        unset_vars1(ID);
-        x.options[1].selected=true;
-        disable_pres1(ID); 
-        x.options[1].disabled=false;
-        x.options[8].disabled=false;
-      }
-      else if (data_string == "NASA/TRMM") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-      }
-      else if (data_string == "NASA/GPCP") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-      }
-      else if (data_string == "NASA/QuikSCAT") {
-        unset_vars1(ID);
-        x.options[4].selected=true;
-        disable_pres1(ID); 
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-      }
-      else if (data_string == "NASA/AVISO") {
-        unset_vars1(ID);
-        x.options[7].selected=true;
-        disable_pres1(); 
-        x.options[7].disabled=false;
-      }
-      else if (data_string == "NASA/GRACE") {
-        unset_vars1(ID);
-        x.options[9].selected=true;
-        disable_pres1(ID); 
-        x.options[9].disabled=false;
-        x.options[10].disabled=false;
-      }
-      else if (data_string == "NOAA/NODC") {
-        unset_vars1(ID);
-        x.options[11].selected=true;
-        disable_pres1(ID); 
-        x.options[11].disabled=false;
-        x.options[12].disabled=false;
-      }
-      else if (data_string == "NASA/CERES") {
-        unset_vars1(ID);
-        x.options[13].selected=true;
-        disable_pres1(ID); 
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-      }
-      else if (data_string == "NASA/AIRS") {
-        unset_vars1(ID);
-        x.options[25].selected=true;
-        enable_pres1(ID); 
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-      }
-      else if (data_string == "NASA/MLS") {
-        unset_vars1(ID);
-        x.options[25].selected=true;
-        enable_pres1(ID); 
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-      }
-      else if (data_string == "ARGO/ARGO") {
-        unset_vars1(ID);
-        x.options[29].selected=true;
-        enable_pres1(ID); 
-        x.options[29].disabled=false;
-        x.options[30].disabled=false;
-      }
-      else if (data_string == "CCCMA/CANAM4") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-      }
-      else if (data_string == "CSIRO/MK3.6") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-      }
-      else if (data_string == "CCCMA/CANESM2" || data_string == "GFDL/ESM2G" ||
-               data_string == "GISS/E2-H" || data_string == "GISS/E2-R" ||
-               data_string == "NCAR/CAM5" || data_string == "NCC/NORESM" ||
-               data_string == "UKMO/HadGEM2-ES" ||
-               data_string == "GFDL/CM3" || data_string == "IPSL/CM5A-LR" ||
-               data_string == "MIROC/MIROC5" || data_string == "UKMO/HadGEM2-A"
-              ) {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[3].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[7].disabled=false;
-        x.options[8].disabled=false;
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-      }
-      else if (data_string == "ECMWF/interim") {
-        unset_vars1(ID);
-        x.options[3].selected=true;
-        disable_pres1(ID); 
-        x.options[3].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-      }
-      select_var1(ID);
-    }
-    function select_months()
-    {
-      var s1=document.getElementById("months");
-      disable_download_button();
-      if (s1.selectedIndex == 1) {
-        reset_months();
-      }
-      if (s1.selectedIndex == 0) {
-        select_all_months();
-      }
-      if (s1.selectedIndex == 2) {
-        reset_months();
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-      }
-      if (s1.selectedIndex == 3) {
-        reset_months();
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-      }
-      if (s1.selectedIndex == 4) {
-        reset_months();
-        document.getElementById('Dec').checked = true;
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-      }
-      if (s1.selectedIndex == 5) {
-        reset_months();
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-      }
-    }
-    $(document).ready(function(){
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        window.location.assign(durl);
-      });
-      $("#conditionalSamp").click(function(event) {
-        Response = null;
-        disable_download_button();
-        if (no_month_check()) {
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        }
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-        var url = "http://" + window.location.hostname + ":9002/svc/conditionalSampling?";
-        var d1 = $("#data1").val();
-        var model1 = d1.replace("/", "_");
-        model1 = model1.toLowerCase();
-        var arglist = "";
-        arglist = arglist.concat("model1=");
-        arglist = arglist.concat(model1);
-        var v1 = $("#var1").val();
-        arglist = arglist.concat("&var1=");
-        arglist = arglist.concat(variable1);
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-        var press_range = $("#pres1").val();
-        var pres1;
-        var pres2;
-        if (press_range != 'N/A') {
-          var splitty = press_range.split(",");
-          if (splitty.length != 2) {
-            alert("pressure level range needs to be two values separated by comma.");
-            return; 
-          }
-          else {
-            pres1 = splitty[0];
-            pres2 = splitty[1];
-            if (variable1 == 'ot' || variable1 == 'os') {
-              pres1 = pres1 * 10000;  
-              pres2 = pres2 * 10000;  
-            } 
-            else {
-              pres1 = pres1 * 100;  
-              pres2 = pres2 * 100;  
-            }
-          }
-        }
-        else {
-          pres1 = "-1";
-          pres2 = "-1";
-        }
-        arglist = arglist.concat("&pres1=");
-        arglist = arglist.concat(pres1);
-        arglist = arglist.concat("&pres2=");
-        arglist = arglist.concat(pres2);
-        var s1 = document.getElementById('months');
-        var month_str = "";
-        var mm = document.getElementById('Jan');
-        if (mm.checked == true)
-          month_str = month_str.concat(",1");
-        var mm = document.getElementById('Feb');
-        if (mm.checked == true)
-          month_str = month_str.concat(",2");
-        var mm = document.getElementById('Mar');
-        if (mm.checked == true)
-          month_str = month_str.concat(",3");
-        var mm = document.getElementById('Apr');
-        if (mm.checked == true)
-          month_str = month_str.concat(",4");
-        var mm = document.getElementById('May');
-        if (mm.checked == true)
-          month_str = month_str.concat(",5");
-          var mm = document.getElementById('Jun');
-        if (mm.checked == true)
-          month_str = month_str.concat(",6");
-        var mm = document.getElementById('Jul');
-        if (mm.checked == true)
-          month_str = month_str.concat(",7");
-        var mm = document.getElementById('Aug');
-        if (mm.checked == true)
-          month_str = month_str.concat(",8");
-        var mm = document.getElementById('Sep');
-        if (mm.checked == true)
-          month_str = month_str.concat(",9");
-        var mm = document.getElementById('Oct');
-        if (mm.checked == true)
-          month_str = month_str.concat(",10");
-        var mm = document.getElementById('Nov');
-        if (mm.checked == true)
-          month_str = month_str.concat(",11");
-        var mm = document.getElementById('Dec');
-        if (mm.checked == true)
-          month_str = month_str.concat(",12");
-        month_str = month_str.substr(1);
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-        var d2 = $("#data2").val();
-        var model2 = d2.replace("/", "_");
-        model2 = model2.toLowerCase();
-        arglist = arglist.concat("&model2=");
-        arglist = arglist.concat(model2);
-        var v2 = $("#var2").val();
-        arglist = arglist.concat("&var2=");
-        arglist = arglist.concat(variable2);
-        var plev = $("#pres2").val();
-        if (plev == "N/A")
-          plev = "-1";
-        if (variable2 == 'ot' || variable2 == 'os') {
-          plev = plev * 10000;  
-        } 
-        else {
-          plev = plev * 100;  
-        }
-        arglist = arglist.concat("&env_var_plev=");
-        arglist = arglist.concat(plev);
-        var binstate = document.getElementById('radioDef').checked;
-        var binMin, binMax, numBins;
-        if (binstate == true) { 
-          binMin = "-1";
-          binMax = "-1";
-          numBins = "-1";
-        }
-        else { 
-          binMin = $("#min1").val();
-          binMax = $("#max1").val();
-          numBins = $("#bins1").val();
-        }
-        arglist = arglist.concat("&bin_min=");
-        arglist = arglist.concat(binMin);
-        arglist = arglist.concat("&bin_max=");
-        arglist = arglist.concat(binMax);
-        arglist = arglist.concat("&bin_n=");
-        arglist = arglist.concat(numBins);
-        var xstate = document.getElementById('radioXLin').checked;
-        var xvalue;
-        if (xstate == true)
-          xvalue = 0;
-        else
-          xvalue = 1;
-        var ystate = document.getElementById('radioYLin').checked;
-        var yvalue;
-        if (ystate == true)
-          yvalue = 0;
-        else
-          yvalue = 1;
-        var zstate = document.getElementById('radioZLin').checked;
-        var zvalue;
-        if (zstate == true)
-          zvalue = 0;
-        else
-          zvalue = 1;
-        var dispOpt;
-        dispOpt = xvalue*1 + yvalue*2 + zvalue*4;
-        var dispOptString = dispOpt.toString();
-        arglist = arglist.concat("&displayOpt=");
-        arglist = arglist.concat(dispOptString);
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-        url = url + encodeURI(arglist);
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/two_time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source1=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var1=");
-        arglistTB = arglistTB.concat(variable1);
-        arglistTB = arglistTB.concat("&source2=");
-        arglistTB = arglistTB.concat(d2);
-        arglistTB = arglistTB.concat("&var2=");
-        arglistTB = arglistTB.concat(variable2);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                var tb1 = data.time_bounds1;
-                var bds1 = String(tb1).split(",");
-                var lowerT1 = parseInt(bds1[0]);
-                var upperT1 = parseInt(bds1[1]);
-                var tb2 = data.time_bounds2;
-                var bds2 = String(tb2).split(",");
-                var lowerT2 = parseInt(bds2[0]);
-                var upperT2 = parseInt(bds2[1]);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                var lowerT, upperT;
-                if (lowerT1 == 0  || upperT1 == 0){ 
-                  alert("We do not have data for the data-1 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 == 0  || upperT2 == 0){ 
-                  alert("We do not have data for the data-2 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 > upperT1 || lowerT1 > upperT2) { 
-                  alert("The two data sets/vars do not have a common time range.");
-                  return;
-                }
-                else { 
-                  if (lowerT1 > lowerT2) { 
-                    lowerT = lowerT1;
-                  }
-                  else {
-                    lowerT = lowerT2;
-                  }
-                  if (upperT1 > upperT2) { 
-                    upperT = upperT2;
-                  }
-                  else {
-                    upperT = upperT1;
-                  }
-                }
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                $("#Response").html(text);
-                var html = "<img src='"+data.url+"' width='820'/>";
-                $("#Image").html(html);
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-      });
-    });
-  </script>
-} @main("Parameters of ConfId", scripts){ @flash_message()
-<p>
-<div id="dataSourceP" style="display: none;">@parameters.getDataSourceP()</div>
-<div id="variableNameP" style="display: none;">@parameters.getVariableNameP()</div>
-<div id="pressureRangeP" style="display: none;">@parameters.getPressureRangeP()</div>
-<div id="dataSourceE" style="display: none;">@parameters.getDataSourceE()</div>
-<div id="variableNameE" style="display: none;">@parameters.getVariableNameE()</div>
-<div id="pressureRangeE" style="display: none;">@parameters.getPressureRangeE()</div>
-<div id="startYearMonth" style="display: none;">@parameters.getStartYearMonth()</div>
-<div id="endYearMonth" style="display: none;">@parameters.getEndYearMonth()</div>
-<div id="selectMonths" style="display: none;">@parameters.getSelectMonths()</div>
-<div id="monthsPara" style="display: none;">@parameters.getMonth()</div>
-<div id="startLat" style="display: none;">@parameters.getStartLat()</div>
-<div id="endLat" style="display: none;">@parameters.getEndLat()</div>
-<div id="startLon" style="display: none;">@parameters.getStartLon()</div>
-<div id="endLon" style="display: none;">@parameters.getEndLon()</div>
-<div id="div_X" style="display: none;">@parameters.getX()</div>
-<div id="div_Y" style="display: none;">@parameters.getY()</div>
-<div id="div_Z" style="display: none;">@parameters.getZ()</div>
-<div id="binMin" style="display: none;">@parameters.getBin_min()</div>
-<div id="binMax" style="display: none;">@parameters.getBin_max()</div>
-<div id="binNum" style="display: none;">@parameters.getBin_n()</div>
-<div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div>
-<div id="image" style="display: none;">@parameters.getImage()</div>
-<div id="dataURL" style="display: none;">@parameters.getDataURL()</div>
-<div id="serviceResponseText" style="display: none;">@parameters.getServiceResponseText()</div>
-<table border="1" align="center">
-	<tr>
-		<td colspan="4">
-			<center>
-				<b>Service: Conditional Sampling with One Variable</b><br>
-				<br> This service sorts one variable by the values of another
-				variable (environmental condition, e.g. SST) and displays the
-				averaged value of the first variable as a function of the bin value
-				of the second variable. If the first variable is a two-dimensional
-				variable, the plot will be a X-Y plot. If the first variable is a
-				three-dimensional variable, the plot will be a colored profile
-				image. <br>
-				<br>
-			</center>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2">
-			<center>Physical Variable (sampled variable)</center>
-		</td>
-		<td colspan="2">
-			<center>Environmental Variable (sampling variable)</center>
-		</td>
-	</tr>
-	<tr>
-		<td>source:</td>
-		<td><select name="data1" , id="data1" onchange="select_data1(1)">
-				<optgroup label="Model: Historical">
-					<option selected="CCCMA/CANESM2">CCCMA/CANESM2</option>
-					<option>GFDL/ESM2G</option>
-					<option>GISS/E2-H</option>
-					<option>GISS/E2-R</option>
-					<option>NCAR/CAM5</option>
-					<option>NCC/NORESM</option>
-					<option>UKMO/HadGEM2-ES</option>
-				</optgroup>
-				<optgroup label="Model: AMIP">
-					<option>CCCMA/CANAM4</option>
-					<option>CSIRO/MK3.6</option>
-					<option>GFDL/CM3</option>
-					<option>IPSL/CM5A-LR</option>
-					<option>MIROC/MIROC5</option>
-					<option>UKMO/HadGEM2-A</option>
-				</optgroup>
-				<optgroup label="Observation">
-					<option>NASA/MODIS</option>
-					<option>NASA/AMSRE</option>
-					<option>NASA/TRMM</option>
-					<option>NASA/GPCP</option>
-					<option>NASA/QuikSCAT</option>
-					<option>NASA/AVISO</option>
-					<option>NASA/GRACE</option>
-					<option>NOAA/NODC</option>
-					<option>NASA/CERES</option>
-					<option>NASA/AIRS</option>
-					<option>NASA/MLS</option>
-					<option>ARGO/ARGO</option>
-				</optgroup>
-				<optgroup label="Reanalysis">
-					<option>ECMWF/interim</option>
-				</optgroup>
-		</select></td>
-		<td>source:</td>
-		<td><select name="data2" , id="data2" onchange="select_data1(2)">
-				<optgroup label="Model: Historical">
-					<option selected="CCCMA/CANESM2">CCCMA/CANESM2</option>
-					<option>GFDL/ESM2G</option>
-					<option>GISS/E2-H</option>
-					<option>GISS/E2-R</option>
-					<option>NCAR/CAM5</option>
-					<option>NCC/NORESM</option>
-					<option>UKMO/HadGEM2-ES</option>
-				</optgroup>
-				<optgroup label="Model: AMIP">
-					<option>CCCMA/CANAM4</option>
-					<option>CSIRO/MK3.6</option>
-					<option>GFDL/CM3</option>
-					<option>IPSL/CM5A-LR</option>
-					<option>MIROC/MIROC5</option>
-					<option>UKMO/HadGEM2-A</option>
-				</optgroup>
-				<optgroup label="Observation">
-					<option>NASA/MODIS</option>
-					<option>NASA/AMSRE</option>
-					<option>NASA/TRMM</option>
-					<option>NASA/GPCP</option>
-					<option>NASA/QuikSCAT</option>
-					<option>NASA/AVISO</option>
-					<option>NASA/GRACE</option>
-					<option>NOAA/NODC</option>
-					<option>NASA/CERES</option>
-					<option>NASA/AIRS</option>
-					<option>NASA/MLS</option>
-					<option>ARGO/ARGO</option>
-				</optgroup>
-				<optgroup label="Reanalysis">
-					<option>ECMWF/interim</option>
-				</optgroup>
-		</select></td>
-	</tr>
-	<tr>
-		<td>variable name:</td>
-		<td><select name="var1" , id="var1" onchange="select_var1(1)">
-				<option>Precipitation Flux</option>
-				<option>Total Cloud Fraction</option>
-				<option>Surface Temperature</option>
-				<option>Sea Surface Temperature</option>
-				<option>Eastward Near-Surface Wind</option>
-				<option>Northward Near-Surface Wind</option>
-				<option>Near-Surface Wind Speed</option>
-				<option>Sea Surface Height</option>
-				<option>Leaf Area Index</option>
-				<option>Equivalent Water Height Over Land</option>
-				<option>Equivalent Water Height Over Ocean</option>
-				<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-				<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-				<option>Surface Downwelling Longwave Radiation</option>
-				<option>Surface Downwelling Shortwave Radiation</option>
-				<option>Surface Upwelling Longwave Radiation</option>
-				<option>Surface Upwelling Shortwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-				<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-				<option>TOA Incident Shortwave Radiation</option>
-				<option>TOA Outgoing Longwave Radiation</option>
-				<option>TOA Outgoing Shortwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-				<option>Air Temperature</option>
-				<option>Specific Humidity</option>
-				<option>Cloud Ice Water Content</option>
-				<option>Cloud Liquid Water Content</option>
-				<option>Ocean Temperature</option>
-				<option>Ocean Salinity</option>
-				<option>Vertical Wind Velocity</option>
-				<option>Relative Humidity</option>
-		</select></td>
-		<td>variable name:</td>
-		<td><select name="var2" , id="var2" onchange="select_var1(2)">
-				<option>Precipitation Flux</option>
-				<option>Total Cloud Fraction</option>
-				<option>Surface Temperature</option>
-				<option>Sea Surface Temperature</option>
-				<option>Eastward Near-Surface Wind</option>
-				<option>Northward Near-Surface Wind</option>
-				<option>Near-Surface Wind Speed</option>
-				<option>Sea Surface Height</option>
-				<option>Leaf Area Index</option>
-				<option>Equivalent Water Height Over Land</option>
-				<option>Equivalent Water Height Over Ocean</option>
-				<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-				<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-				<option>Surface Downwelling Longwave Radiation</option>
-				<option>Surface Downwelling Shortwave Radiation</option>
-				<option>Surface Upwelling Longwave Radiation</option>
-				<option>Surface Upwelling Shortwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-				<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-				<option>TOA Incident Shortwave Radiation</option>
-				<option>TOA Outgoing Longwave Radiation</option>
-				<option>TOA Outgoing Shortwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-				<option>Air Temperature</option>
-				<option>Specific Humidity</option>
-				<option>Cloud Ice Water Content</option>
-				<option>Cloud Liquid Water Content</option>
-				<option>Ocean Temperature</option>
-				<option>Ocean Salinity</option>
-				<option>Vertical Wind Velocity</option>
-				<option>Relative Humidity</option>
-		</select></td>
-	</tr>
-	<tr>
-		<td>atmosphere pressure range (hPa) <br> or ocean pressure
-			range (dbar):
-		</td>
-		<td><input id="pres1" value="200, 900" alt="pressure" /></td>
-		<td>atmosphere pressure level (hPa) <br> or ocean pressure
-			level (dbar):
-		</td>
-		<td><input id="pres2" value="500" alt="pressure" /></td>
-	</tr>
-	<tr>
-	</tr>
-	<tr>
-		<td>start year-month:</td>
-		<td><input id="t0" value="2004-01" alt="start" /></td>
-		<td>end year-month:</td>
-		<td><input id="t1" value="2004-12" alt="end" /></td>
-	</tr>
-	<tr>
-		<td>select months:</td>
-		<td><select name="months" id="months" onchange="select_months()">
-				<option id="all">select all</option>
-				<option id="none">select none</option>
-				<option id="summer">Summer:Jun-Jul-Aug</option>
-				<option id="autum">Autumn:Sep-Oct-Nov</option>
-				<option id="winter">Winter:Dec-Jan-Feb</option>
-				<option id="spring">Spring:Mar-Apr-May</option>
-		</select></td>
-		<td></td>
-		<td>
-	</tr>
-	<tr>
-		<td><label><input type="checkbox" name="option1" id="Jan"
-				value="Jan" /> Jan<br></label> <label><input type="checkbox"
-				name="option1" id="Feb" value="Feb" /> Feb<br></label> <label><input
-				type="checkbox" name="option1" id="Mar" value="Mar" /> Mar<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Apr"
-				value="Apr" /> Apr<br></label> <label><input type="checkbox"
-				name="option1" id="May" value="May" /> May<br></label> <label><input
-				type="checkbox" name="option1" id="Jun" value="Jun" /> Jun<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Jul"
-				value="Jul" /> Jul<br></label> <label><input type="checkbox"
-				name="option1" id="Aug" value="Aug" /> Aug<br></label> <label><input
-				type="checkbox" name="option1" id="Sep" value="Sep" /> Sep<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Oct"
-				value="Oct" /> Oct<br></label> <label><input type="checkbox"
-				name="option1" id="Nov" value="Nov" /> Nov<br></label> <label><input
-				type="checkbox" name="option1" id="Dec" value="Dec" /> Dec<br></label>
-		</td>
-	</tr>
-	<tr>
-		<td>start lat (deg):</td>
-		<td><input id="lat0" value="-90" /></td>
-		<td>end lat (deg):</td>
-		<td><input id="lat1" value="90" /></td>
-	</tr>
-	<tr>
-		<td>start lon (deg):</td>
-		<td><input id="lon0" value="0" /></td>
-		<td>end lon (deg):</td>
-		<td><input id="lon1" value="360" /></td>
-	</tr>
-	<tr>
-		<td colspan="1" rowspan="3">display option:</td>
-		<td colspan="3">
-			<form>
-				X-axis (sampling variable) scale: <input type="radio" name="scale1"
-					value="linear" id="radioXLin" checked>linear <input
-					type="radio" name="scale1" value="logarithmic" id="radioXLog">logarithmic
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="3">
-			<form>
-				Y-axis (sampled variable or pressure) scale: <input type="radio"
-					name="scale1" value="linear" id="radioYLin" checked>linear
-				<input type="radio" name="scale1" value="logarithmic" id="radioYLog">logarithmic
-			</form>
-	</tr>
-	<tr>
-		<td colspan="3">
-			<form>
-				Z-axis (color) scale: <input type="radio" name="scale1"
-					value="linear" id="radioZLin" checked>linear <input
-					type="radio" name="scale1" value="logarithmic" id="radioZLog">logarithmic
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="1" rowspan="2">sampling variable binning
-			specification:</td>
-		<td colspan="3">
-			<form>
-				default: <input onclick="setDefault()" type="radio" name="default1"
-					value="" id="radioDef" checked>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="3">customized: <input onclick="setCustomized()"
-			type="radio" name="default1" value="" id="radioCus"> Min: <input
-			id="min1" value="" alt="" /> Max: <input id="max1" value="" alt="" />
-			number of bins: <input id="bins1" value="" alt="" />
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="1">Execution purpose</td>
-		<td colspan="3">
-			<form>
-				<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2" align="center"><input id="conditionalSamp"
-			type="submit" value="            Run  Again            "
-			style="height: 28px" /></td>
-		<form>
-			<td colspan="2" align="center"><input id="download_data"
-				type="button" value="Download Data" style="height: 28px" /></td>
-		</form>
-	</tr>
-	<tr>
-		<td colspan="4">
-			<div id="Image">Image Here</div>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="data_url"
-				cols="150" rows="2">Data URL Here</textarea></td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea id="Response" cols="150"
-				rows="6">Service Response Text Here</textarea></td>
-	</tr>
-</table>
-}



[27/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/jquery-1.4.4.js
----------------------------------------------------------------------
diff --git a/public/html/js/jquery-1.4.4.js b/public/html/js/jquery-1.4.4.js
deleted file mode 100644
index a4f1145..0000000
--- a/public/html/js/jquery-1.4.4.js
+++ /dev/null
@@ -1,7179 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.4
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Nov 11 19:04:53 2010 -0500
- */
-(function( window, undefined ) {
-
-// Use the correct document accordingly with window argument (sandbox)
-var document = window.document;
-var jQuery = (function() {
-
-// Define a local copy of jQuery
-var jQuery = function( selector, context ) {
-		// The jQuery object is actually just the init constructor 'enhanced'
-		return new jQuery.fn.init( selector, context );
-	},
-
-	// Map over jQuery in case of overwrite
-	_jQuery = window.jQuery,
-
-	// Map over the $ in case of overwrite
-	_$ = window.$,
-
-	// A central reference to the root jQuery(document)
-	rootjQuery,
-
-	// A simple way to check for HTML strings or ID strings
-	// (both of which we optimize for)
-	quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,
-
-	// Is it a simple selector
-	isSimple = /^.[^:#\[\.,]*$/,
-
-	// Check if a string has a non-whitespace character in it
-	rnotwhite = /\S/,
-	rwhite = /\s/,
-
-	// Used for trimming whitespace
-	trimLeft = /^\s+/,
-	trimRight = /\s+$/,
-
-	// Check for non-word characters
-	rnonword = /\W/,
-
-	// Check for digits
-	rdigit = /\d/,
-
-	// Match a standalone tag
-	rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-
-	// JSON RegExp
-	rvalidchars = /^[\],:{}\s]*$/,
-	rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
-	rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
-	rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
-
-	// Useragent RegExp
-	rwebkit = /(webkit)[ \/]([\w.]+)/,
-	ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
-	rmsie = /(msie) ([\w.]+)/,
-	rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
-
-	// Keep a UserAgent string for use with jQuery.browser
-	userAgent = navigator.userAgent,
-
-	// For matching the engine and version of the browser
-	browserMatch,
-	
-	// Has the ready events already been bound?
-	readyBound = false,
-	
-	// The functions to execute on DOM ready
-	readyList = [],
-
-	// The ready event handler
-	DOMContentLoaded,
-
-	// Save a reference to some core methods
-	toString = Object.prototype.toString,
-	hasOwn = Object.prototype.hasOwnProperty,
-	push = Array.prototype.push,
-	slice = Array.prototype.slice,
-	trim = String.prototype.trim,
-	indexOf = Array.prototype.indexOf,
-	
-	// [[Class]] -> type pairs
-	class2type = {};
-
-jQuery.fn = jQuery.prototype = {
-	init: function( selector, context ) {
-		var match, elem, ret, doc;
-
-		// Handle $(""), $(null), or $(undefined)
-		if ( !selector ) {
-			return this;
-		}
-
-		// Handle $(DOMElement)
-		if ( selector.nodeType ) {
-			this.context = this[0] = selector;
-			this.length = 1;
-			return this;
-		}
-		
-		// The body element only exists once, optimize finding it
-		if ( selector === "body" && !context && document.body ) {
-			this.context = document;
-			this[0] = document.body;
-			this.selector = "body";
-			this.length = 1;
-			return this;
-		}
-
-		// Handle HTML strings
-		if ( typeof selector === "string" ) {
-			// Are we dealing with HTML string or an ID?
-			match = quickExpr.exec( selector );
-
-			// Verify a match, and that no context was specified for #id
-			if ( match && (match[1] || !context) ) {
-
-				// HANDLE: $(html) -> $(array)
-				if ( match[1] ) {
-					doc = (context ? context.ownerDocument || context : document);
-
-					// If a single string is passed in and it's a single tag
-					// just do a createElement and skip the rest
-					ret = rsingleTag.exec( selector );
-
-					if ( ret ) {
-						if ( jQuery.isPlainObject( context ) ) {
-							selector = [ document.createElement( ret[1] ) ];
-							jQuery.fn.attr.call( selector, context, true );
-
-						} else {
-							selector = [ doc.createElement( ret[1] ) ];
-						}
-
-					} else {
-						ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
-						selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes;
-					}
-					
-					return jQuery.merge( this, selector );
-					
-				// HANDLE: $("#id")
-				} else {
-					elem = document.getElementById( match[2] );
-
-					// Check parentNode to catch when Blackberry 4.6 returns
-					// nodes that are no longer in the document #6963
-					if ( elem && elem.parentNode ) {
-						// Handle the case where IE and Opera return items
-						// by name instead of ID
-						if ( elem.id !== match[2] ) {
-							return rootjQuery.find( selector );
-						}
-
-						// Otherwise, we inject the element directly into the jQuery object
-						this.length = 1;
-						this[0] = elem;
-					}
-
-					this.context = document;
-					this.selector = selector;
-					return this;
-				}
-
-			// HANDLE: $("TAG")
-			} else if ( !context && !rnonword.test( selector ) ) {
-				this.selector = selector;
-				this.context = document;
-				selector = document.getElementsByTagName( selector );
-				return jQuery.merge( this, selector );
-
-			// HANDLE: $(expr, $(...))
-			} else if ( !context || context.jquery ) {
-				return (context || rootjQuery).find( selector );
-
-			// HANDLE: $(expr, context)
-			// (which is just equivalent to: $(context).find(expr)
-			} else {
-				return jQuery( context ).find( selector );
-			}
-
-		// HANDLE: $(function)
-		// Shortcut for document ready
-		} else if ( jQuery.isFunction( selector ) ) {
-			return rootjQuery.ready( selector );
-		}
-
-		if (selector.selector !== undefined) {
-			this.selector = selector.selector;
-			this.context = selector.context;
-		}
-
-		return jQuery.makeArray( selector, this );
-	},
-
-	// Start with an empty selector
-	selector: "",
-
-	// The current version of jQuery being used
-	jquery: "1.4.4",
-
-	// The default length of a jQuery object is 0
-	length: 0,
-
-	// The number of elements contained in the matched element set
-	size: function() {
-		return this.length;
-	},
-
-	toArray: function() {
-		return slice.call( this, 0 );
-	},
-
-	// Get the Nth element in the matched element set OR
-	// Get the whole matched element set as a clean array
-	get: function( num ) {
-		return num == null ?
-
-			// Return a 'clean' array
-			this.toArray() :
-
-			// Return just the object
-			( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );
-	},
-
-	// Take an array of elements and push it onto the stack
-	// (returning the new matched element set)
-	pushStack: function( elems, name, selector ) {
-		// Build a new jQuery matched element set
-		var ret = jQuery();
-
-		if ( jQuery.isArray( elems ) ) {
-			push.apply( ret, elems );
-		
-		} else {
-			jQuery.merge( ret, elems );
-		}
-
-		// Add the old object onto the stack (as a reference)
-		ret.prevObject = this;
-
-		ret.context = this.context;
-
-		if ( name === "find" ) {
-			ret.selector = this.selector + (this.selector ? " " : "") + selector;
-		} else if ( name ) {
-			ret.selector = this.selector + "." + name + "(" + selector + ")";
-		}
-
-		// Return the newly-formed element set
-		return ret;
-	},
-
-	// Execute a callback for every element in the matched set.
-	// (You can seed the arguments with an array of args, but this is
-	// only used internally.)
-	each: function( callback, args ) {
-		return jQuery.each( this, callback, args );
-	},
-	
-	ready: function( fn ) {
-		// Attach the listeners
-		jQuery.bindReady();
-
-		// If the DOM is already ready
-		if ( jQuery.isReady ) {
-			// Execute the function immediately
-			fn.call( document, jQuery );
-
-		// Otherwise, remember the function for later
-		} else if ( readyList ) {
-			// Add the function to the wait list
-			readyList.push( fn );
-		}
-
-		return this;
-	},
-	
-	eq: function( i ) {
-		return i === -1 ?
-			this.slice( i ) :
-			this.slice( i, +i + 1 );
-	},
-
-	first: function() {
-		return this.eq( 0 );
-	},
-
-	last: function() {
-		return this.eq( -1 );
-	},
-
-	slice: function() {
-		return this.pushStack( slice.apply( this, arguments ),
-			"slice", slice.call(arguments).join(",") );
-	},
-
-	map: function( callback ) {
-		return this.pushStack( jQuery.map(this, function( elem, i ) {
-			return callback.call( elem, i, elem );
-		}));
-	},
-	
-	end: function() {
-		return this.prevObject || jQuery(null);
-	},
-
-	// For internal use only.
-	// Behaves like an Array's method, not like a jQuery method.
-	push: push,
-	sort: [].sort,
-	splice: [].splice
-};
-
-// Give the init function the jQuery prototype for later instantiation
-jQuery.fn.init.prototype = jQuery.fn;
-
-jQuery.extend = jQuery.fn.extend = function() {
-	 var options, name, src, copy, copyIsArray, clone,
-		target = arguments[0] || {},
-		i = 1,
-		length = arguments.length,
-		deep = false;
-
-	// Handle a deep copy situation
-	if ( typeof target === "boolean" ) {
-		deep = target;
-		target = arguments[1] || {};
-		// skip the boolean and the target
-		i = 2;
-	}
-
-	// Handle case when target is a string or something (possible in deep copy)
-	if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
-		target = {};
-	}
-
-	// extend jQuery itself if only one argument is passed
-	if ( length === i ) {
-		target = this;
-		--i;
-	}
-
-	for ( ; i < length; i++ ) {
-		// Only deal with non-null/undefined values
-		if ( (options = arguments[ i ]) != null ) {
-			// Extend the base object
-			for ( name in options ) {
-				src = target[ name ];
-				copy = options[ name ];
-
-				// Prevent never-ending loop
-				if ( target === copy ) {
-					continue;
-				}
-
-				// Recurse if we're merging plain objects or arrays
-				if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
-					if ( copyIsArray ) {
-						copyIsArray = false;
-						clone = src && jQuery.isArray(src) ? src : [];
-
-					} else {
-						clone = src && jQuery.isPlainObject(src) ? src : {};
-					}
-
-					// Never move original objects, clone them
-					target[ name ] = jQuery.extend( deep, clone, copy );
-
-				// Don't bring in undefined values
-				} else if ( copy !== undefined ) {
-					target[ name ] = copy;
-				}
-			}
-		}
-	}
-
-	// Return the modified object
-	return target;
-};
-
-jQuery.extend({
-	noConflict: function( deep ) {
-		window.$ = _$;
-
-		if ( deep ) {
-			window.jQuery = _jQuery;
-		}
-
-		return jQuery;
-	},
-	
-	// Is the DOM ready to be used? Set to true once it occurs.
-	isReady: false,
-
-	// A counter to track how many items to wait for before
-	// the ready event fires. See #6781
-	readyWait: 1,
-	
-	// Handle when the DOM is ready
-	ready: function( wait ) {
-		// A third-party is pushing the ready event forwards
-		if ( wait === true ) {
-			jQuery.readyWait--;
-		}
-
-		// Make sure that the DOM is not already loaded
-		if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) {
-			// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
-			if ( !document.body ) {
-				return setTimeout( jQuery.ready, 1 );
-			}
-
-			// Remember that the DOM is ready
-			jQuery.isReady = true;
-
-			// If a normal DOM Ready event fired, decrement, and wait if need be
-			if ( wait !== true && --jQuery.readyWait > 0 ) {
-				return;
-			}
-
-			// If there are functions bound, to execute
-			if ( readyList ) {
-				// Execute all of them
-				var fn,
-					i = 0,
-					ready = readyList;
-
-				// Reset the list of functions
-				readyList = null;
-
-				while ( (fn = ready[ i++ ]) ) {
-					fn.call( document, jQuery );
-				}
-
-				// Trigger any bound ready events
-				if ( jQuery.fn.trigger ) {
-					jQuery( document ).trigger( "ready" ).unbind( "ready" );
-				}
-			}
-		}
-	},
-	
-	bindReady: function() {
-		if ( readyBound ) {
-			return;
-		}
-
-		readyBound = true;
-
-		// Catch cases where $(document).ready() is called after the
-		// browser event has already occurred.
-		if ( document.readyState === "complete" ) {
-			// Handle it asynchronously to allow scripts the opportunity to delay ready
-			return setTimeout( jQuery.ready, 1 );
-		}
-
-		// Mozilla, Opera and webkit nightlies currently support this event
-		if ( document.addEventListener ) {
-			// Use the handy event callback
-			document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
-			
-			// A fallback to window.onload, that will always work
-			window.addEventListener( "load", jQuery.ready, false );
-
-		// If IE event model is used
-		} else if ( document.attachEvent ) {
-			// ensure firing before onload,
-			// maybe late but safe also for iframes
-			document.attachEvent("onreadystatechange", DOMContentLoaded);
-			
-			// A fallback to window.onload, that will always work
-			window.attachEvent( "onload", jQuery.ready );
-
-			// If IE and not a frame
-			// continually check to see if the document is ready
-			var toplevel = false;
-
-			try {
-				toplevel = window.frameElement == null;
-			} catch(e) {}
-
-			if ( document.documentElement.doScroll && toplevel ) {
-				doScrollCheck();
-			}
-		}
-	},
-
-	// See test/unit/core.js for details concerning isFunction.
-	// Since version 1.3, DOM methods and functions like alert
-	// aren't supported. They return false on IE (#2968).
-	isFunction: function( obj ) {
-		return jQuery.type(obj) === "function";
-	},
-
-	isArray: Array.isArray || function( obj ) {
-		return jQuery.type(obj) === "array";
-	},
-
-	// A crude way of determining if an object is a window
-	isWindow: function( obj ) {
-		return obj && typeof obj === "object" && "setInterval" in obj;
-	},
-
-	isNaN: function( obj ) {
-		return obj == null || !rdigit.test( obj ) || isNaN( obj );
-	},
-
-	type: function( obj ) {
-		return obj == null ?
-			String( obj ) :
-			class2type[ toString.call(obj) ] || "object";
-	},
-
-	isPlainObject: function( obj ) {
-		// Must be an Object.
-		// Because of IE, we also have to check the presence of the constructor property.
-		// Make sure that DOM nodes and window objects don't pass through, as well
-		if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
-			return false;
-		}
-		
-		// Not own constructor property must be Object
-		if ( obj.constructor &&
-			!hasOwn.call(obj, "constructor") &&
-			!hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
-			return false;
-		}
-		
-		// Own properties are enumerated firstly, so to speed up,
-		// if last one is own, then all properties are own.
-	
-		var key;
-		for ( key in obj ) {}
-		
-		return key === undefined || hasOwn.call( obj, key );
-	},
-
-	isEmptyObject: function( obj ) {
-		for ( var name in obj ) {
-			return false;
-		}
-		return true;
-	},
-	
-	error: function( msg ) {
-		throw msg;
-	},
-	
-	parseJSON: function( data ) {
-		if ( typeof data !== "string" || !data ) {
-			return null;
-		}
-
-		// Make sure leading/trailing whitespace is removed (IE can't handle it)
-		data = jQuery.trim( data );
-		
-		// Make sure the incoming data is actual JSON
-		// Logic borrowed from http://json.org/json2.js
-		if ( rvalidchars.test(data.replace(rvalidescape, "@")
-			.replace(rvalidtokens, "]")
-			.replace(rvalidbraces, "")) ) {
-
-			// Try to use the native JSON parser first
-			return window.JSON && window.JSON.parse ?
-				window.JSON.parse( data ) :
-				(new Function("return " + data))();
-
-		} else {
-			jQuery.error( "Invalid JSON: " + data );
-		}
-	},
-
-	noop: function() {},
-
-	// Evalulates a script in a global context
-	globalEval: function( data ) {
-		if ( data && rnotwhite.test(data) ) {
-			// Inspired by code by Andrea Giammarchi
-			// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
-			var head = document.getElementsByTagName("head")[0] || document.documentElement,
-				script = document.createElement("script");
-
-			script.type = "text/javascript";
-
-			if ( jQuery.support.scriptEval ) {
-				script.appendChild( document.createTextNode( data ) );
-			} else {
-				script.text = data;
-			}
-
-			// Use insertBefore instead of appendChild to circumvent an IE6 bug.
-			// This arises when a base node is used (#2709).
-			head.insertBefore( script, head.firstChild );
-			head.removeChild( script );
-		}
-	},
-
-	nodeName: function( elem, name ) {
-		return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
-	},
-
-	// args is for internal usage only
-	each: function( object, callback, args ) {
-		var name, i = 0,
-			length = object.length,
-			isObj = length === undefined || jQuery.isFunction(object);
-
-		if ( args ) {
-			if ( isObj ) {
-				for ( name in object ) {
-					if ( callback.apply( object[ name ], args ) === false ) {
-						break;
-					}
-				}
-			} else {
-				for ( ; i < length; ) {
-					if ( callback.apply( object[ i++ ], args ) === false ) {
-						break;
-					}
-				}
-			}
-
-		// A special, fast, case for the most common use of each
-		} else {
-			if ( isObj ) {
-				for ( name in object ) {
-					if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
-						break;
-					}
-				}
-			} else {
-				for ( var value = object[0];
-					i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {}
-			}
-		}
-
-		return object;
-	},
-
-	// Use native String.trim function wherever possible
-	trim: trim ?
-		function( text ) {
-			return text == null ?
-				"" :
-				trim.call( text );
-		} :
-
-		// Otherwise use our own trimming functionality
-		function( text ) {
-			return text == null ?
-				"" :
-				text.toString().replace( trimLeft, "" ).replace( trimRight, "" );
-		},
-
-	// results is for internal usage only
-	makeArray: function( array, results ) {
-		var ret = results || [];
-
-		if ( array != null ) {
-			// The window, strings (and functions) also have 'length'
-			// The extra typeof function check is to prevent crashes
-			// in Safari 2 (See: #3039)
-			// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
-			var type = jQuery.type(array);
-
-			if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) {
-				push.call( ret, array );
-			} else {
-				jQuery.merge( ret, array );
-			}
-		}
-
-		return ret;
-	},
-
-	inArray: function( elem, array ) {
-		if ( array.indexOf ) {
-			return array.indexOf( elem );
-		}
-
-		for ( var i = 0, length = array.length; i < length; i++ ) {
-			if ( array[ i ] === elem ) {
-				return i;
-			}
-		}
-
-		return -1;
-	},
-
-	merge: function( first, second ) {
-		var i = first.length,
-			j = 0;
-
-		if ( typeof second.length === "number" ) {
-			for ( var l = second.length; j < l; j++ ) {
-				first[ i++ ] = second[ j ];
-			}
-		
-		} else {
-			while ( second[j] !== undefined ) {
-				first[ i++ ] = second[ j++ ];
-			}
-		}
-
-		first.length = i;
-
-		return first;
-	},
-
-	grep: function( elems, callback, inv ) {
-		var ret = [], retVal;
-		inv = !!inv;
-
-		// Go through the array, only saving the items
-		// that pass the validator function
-		for ( var i = 0, length = elems.length; i < length; i++ ) {
-			retVal = !!callback( elems[ i ], i );
-			if ( inv !== retVal ) {
-				ret.push( elems[ i ] );
-			}
-		}
-
-		return ret;
-	},
-
-	// arg is for internal usage only
-	map: function( elems, callback, arg ) {
-		var ret = [], value;
-
-		// Go through the array, translating each of the items to their
-		// new value (or values).
-		for ( var i = 0, length = elems.length; i < length; i++ ) {
-			value = callback( elems[ i ], i, arg );
-
-			if ( value != null ) {
-				ret[ ret.length ] = value;
-			}
-		}
-
-		return ret.concat.apply( [], ret );
-	},
-
-	// A global GUID counter for objects
-	guid: 1,
-
-	proxy: function( fn, proxy, thisObject ) {
-		if ( arguments.length === 2 ) {
-			if ( typeof proxy === "string" ) {
-				thisObject = fn;
-				fn = thisObject[ proxy ];
-				proxy = undefined;
-
-			} else if ( proxy && !jQuery.isFunction( proxy ) ) {
-				thisObject = proxy;
-				proxy = undefined;
-			}
-		}
-
-		if ( !proxy && fn ) {
-			proxy = function() {
-				return fn.apply( thisObject || this, arguments );
-			};
-		}
-
-		// Set the guid of unique handler to the same of original handler, so it can be removed
-		if ( fn ) {
-			proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;
-		}
-
-		// So proxy can be declared as an argument
-		return proxy;
-	},
-
-	// Mutifunctional method to get and set values to a collection
-	// The value/s can be optionally by executed if its a function
-	access: function( elems, key, value, exec, fn, pass ) {
-		var length = elems.length;
-	
-		// Setting many attributes
-		if ( typeof key === "object" ) {
-			for ( var k in key ) {
-				jQuery.access( elems, k, key[k], exec, fn, value );
-			}
-			return elems;
-		}
-	
-		// Setting one attribute
-		if ( value !== undefined ) {
-			// Optionally, function values get executed if exec is true
-			exec = !pass && exec && jQuery.isFunction(value);
-		
-			for ( var i = 0; i < length; i++ ) {
-				fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
-			}
-		
-			return elems;
-		}
-	
-		// Getting an attribute
-		return length ? fn( elems[0], key ) : undefined;
-	},
-
-	now: function() {
-		return (new Date()).getTime();
-	},
-
-	// Use of jQuery.browser is frowned upon.
-	// More details: http://docs.jquery.com/Utilities/jQuery.browser
-	uaMatch: function( ua ) {
-		ua = ua.toLowerCase();
-
-		var match = rwebkit.exec( ua ) ||
-			ropera.exec( ua ) ||
-			rmsie.exec( ua ) ||
-			ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
-			[];
-
-		return { browser: match[1] || "", version: match[2] || "0" };
-	},
-
-	browser: {}
-});
-
-// Populate the class2type map
-jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
-	class2type[ "[object " + name + "]" ] = name.toLowerCase();
-});
-
-browserMatch = jQuery.uaMatch( userAgent );
-if ( browserMatch.browser ) {
-	jQuery.browser[ browserMatch.browser ] = true;
-	jQuery.browser.version = browserMatch.version;
-}
-
-// Deprecated, use jQuery.browser.webkit instead
-if ( jQuery.browser.webkit ) {
-	jQuery.browser.safari = true;
-}
-
-if ( indexOf ) {
-	jQuery.inArray = function( elem, array ) {
-		return indexOf.call( array, elem );
-	};
-}
-
-// Verify that \s matches non-breaking spaces
-// (IE fails on this test)
-if ( !rwhite.test( "\xA0" ) ) {
-	trimLeft = /^[\s\xA0]+/;
-	trimRight = /[\s\xA0]+$/;
-}
-
-// All jQuery objects should point back to these
-rootjQuery = jQuery(document);
-
-// Cleanup functions for the document ready method
-if ( document.addEventListener ) {
-	DOMContentLoaded = function() {
-		document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
-		jQuery.ready();
-	};
-
-} else if ( document.attachEvent ) {
-	DOMContentLoaded = function() {
-		// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
-		if ( document.readyState === "complete" ) {
-			document.detachEvent( "onreadystatechange", DOMContentLoaded );
-			jQuery.ready();
-		}
-	};
-}
-
-// The DOM ready check for Internet Explorer
-function doScrollCheck() {
-	if ( jQuery.isReady ) {
-		return;
-	}
-
-	try {
-		// If IE is used, use the trick by Diego Perini
-		// http://javascript.nwbox.com/IEContentLoaded/
-		document.documentElement.doScroll("left");
-	} catch(e) {
-		setTimeout( doScrollCheck, 1 );
-		return;
-	}
-
-	// and execute any waiting functions
-	jQuery.ready();
-}
-
-// Expose jQuery to the global object
-return (window.jQuery = window.$ = jQuery);
-
-})();
-
-
-(function() {
-
-	jQuery.support = {};
-
-	var root = document.documentElement,
-		script = document.createElement("script"),
-		div = document.createElement("div"),
-		id = "script" + jQuery.now();
-
-	div.style.display = "none";
-	div.innerHTML = "   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-
-	var all = div.getElementsByTagName("*"),
-		a = div.getElementsByTagName("a")[0],
-		select = document.createElement("select"),
-		opt = select.appendChild( document.createElement("option") );
-
-	// Can't get basic test support
-	if ( !all || !all.length || !a ) {
-		return;
-	}
-
-	jQuery.support = {
-		// IE strips leading whitespace when .innerHTML is used
-		leadingWhitespace: div.firstChild.nodeType === 3,
-
-		// Make sure that tbody elements aren't automatically inserted
-		// IE will insert them into empty tables
-		tbody: !div.getElementsByTagName("tbody").length,
-
-		// Make sure that link elements get serialized correctly by innerHTML
-		// This requires a wrapper element in IE
-		htmlSerialize: !!div.getElementsByTagName("link").length,
-
-		// Get the style information from getAttribute
-		// (IE uses .cssText insted)
-		style: /red/.test( a.getAttribute("style") ),
-
-		// Make sure that URLs aren't manipulated
-		// (IE normalizes it by default)
-		hrefNormalized: a.getAttribute("href") === "/a",
-
-		// Make sure that element opacity exists
-		// (IE uses filter instead)
-		// Use a regex to work around a WebKit issue. See #5145
-		opacity: /^0.55$/.test( a.style.opacity ),
-
-		// Verify style float existence
-		// (IE uses styleFloat instead of cssFloat)
-		cssFloat: !!a.style.cssFloat,
-
-		// Make sure that if no value is specified for a checkbox
-		// that it defaults to "on".
-		// (WebKit defaults to "" instead)
-		checkOn: div.getElementsByTagName("input")[0].value === "on",
-
-		// Make sure that a selected-by-default option has a working selected property.
-		// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
-		optSelected: opt.selected,
-
-		// Will be defined later
-		deleteExpando: true,
-		optDisabled: false,
-		checkClone: false,
-		scriptEval: false,
-		noCloneEvent: true,
-		boxModel: null,
-		inlineBlockNeedsLayout: false,
-		shrinkWrapBlocks: false,
-		reliableHiddenOffsets: true
-	};
-
-	// Make sure that the options inside disabled selects aren't marked as disabled
-	// (WebKit marks them as diabled)
-	select.disabled = true;
-	jQuery.support.optDisabled = !opt.disabled;
-
-	script.type = "text/javascript";
-	try {
-		script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
-	} catch(e) {}
-
-	root.insertBefore( script, root.firstChild );
-
-	// Make sure that the execution of code works by injecting a script
-	// tag with appendChild/createTextNode
-	// (IE doesn't support this, fails, and uses .text instead)
-	if ( window[ id ] ) {
-		jQuery.support.scriptEval = true;
-		delete window[ id ];
-	}
-
-	// Test to see if it's possible to delete an expando from an element
-	// Fails in Internet Explorer
-	try {
-		delete script.test;
-
-	} catch(e) {
-		jQuery.support.deleteExpando = false;
-	}
-
-	root.removeChild( script );
-
-	if ( div.attachEvent && div.fireEvent ) {
-		div.attachEvent("onclick", function click() {
-			// Cloning a node shouldn't copy over any
-			// bound event handlers (IE does this)
-			jQuery.support.noCloneEvent = false;
-			div.detachEvent("onclick", click);
-		});
-		div.cloneNode(true).fireEvent("onclick");
-	}
-
-	div = document.createElement("div");
-	div.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>";
-
-	var fragment = document.createDocumentFragment();
-	fragment.appendChild( div.firstChild );
-
-	// WebKit doesn't clone checked state correctly in fragments
-	jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked;
-
-	// Figure out if the W3C box model works as expected
-	// document.body must exist before we can do this
-	jQuery(function() {
-		var div = document.createElement("div");
-		div.style.width = div.style.paddingLeft = "1px";
-
-		document.body.appendChild( div );
-		jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
-
-		if ( "zoom" in div.style ) {
-			// Check if natively block-level elements act like inline-block
-			// elements when setting their display to 'inline' and giving
-			// them layout
-			// (IE < 8 does this)
-			div.style.display = "inline";
-			div.style.zoom = 1;
-			jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2;
-
-			// Check if elements with layout shrink-wrap their children
-			// (IE 6 does this)
-			div.style.display = "";
-			div.innerHTML = "<div style='width:4px;'></div>";
-			jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2;
-		}
-
-		div.innerHTML = "<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";
-		var tds = div.getElementsByTagName("td");
-
-		// Check if table cells still have offsetWidth/Height when they are set
-		// to display:none and there are still other visible table cells in a
-		// table row; if so, offsetWidth/Height are not reliable for use when
-		// determining if an element has been hidden directly using
-		// display:none (it is still safe to use offsets if a parent element is
-		// hidden; don safety goggles and see bug #4512 for more information).
-		// (only IE 8 fails this test)
-		jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0;
-
-		tds[0].style.display = "";
-		tds[1].style.display = "none";
-
-		// Check if empty table cells still have offsetWidth/Height
-		// (IE < 8 fail this test)
-		jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0;
-		div.innerHTML = "";
-
-		document.body.removeChild( div ).style.display = "none";
-		div = tds = null;
-	});
-
-	// Technique from Juriy Zaytsev
-	// http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/
-	var eventSupported = function( eventName ) {
-		var el = document.createElement("div");
-		eventName = "on" + eventName;
-
-		var isSupported = (eventName in el);
-		if ( !isSupported ) {
-			el.setAttribute(eventName, "return;");
-			isSupported = typeof el[eventName] === "function";
-		}
-		el = null;
-
-		return isSupported;
-	};
-
-	jQuery.support.submitBubbles = eventSupported("submit");
-	jQuery.support.changeBubbles = eventSupported("change");
-
-	// release memory in IE
-	root = script = div = all = a = null;
-})();
-
-
-
-var windowData = {},
-	rbrace = /^(?:\{.*\}|\[.*\])$/;
-
-jQuery.extend({
-	cache: {},
-
-	// Please use with caution
-	uuid: 0,
-
-	// Unique for each copy of jQuery on the page	
-	expando: "jQuery" + jQuery.now(),
-
-	// The following elements throw uncatchable exceptions if you
-	// attempt to add expando properties to them.
-	noData: {
-		"embed": true,
-		// Ban all objects except for Flash (which handle expandos)
-		"object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
-		"applet": true
-	},
-
-	data: function( elem, name, data ) {
-		if ( !jQuery.acceptData( elem ) ) {
-			return;
-		}
-
-		elem = elem == window ?
-			windowData :
-			elem;
-
-		var isNode = elem.nodeType,
-			id = isNode ? elem[ jQuery.expando ] : null,
-			cache = jQuery.cache, thisCache;
-
-		if ( isNode && !id && typeof name === "string" && data === undefined ) {
-			return;
-		}
-
-		// Get the data from the object directly
-		if ( !isNode ) {
-			cache = elem;
-
-		// Compute a unique ID for the element
-		} else if ( !id ) {
-			elem[ jQuery.expando ] = id = ++jQuery.uuid;
-		}
-
-		// Avoid generating a new cache unless none exists and we
-		// want to manipulate it.
-		if ( typeof name === "object" ) {
-			if ( isNode ) {
-				cache[ id ] = jQuery.extend(cache[ id ], name);
-
-			} else {
-				jQuery.extend( cache, name );
-			}
-
-		} else if ( isNode && !cache[ id ] ) {
-			cache[ id ] = {};
-		}
-
-		thisCache = isNode ? cache[ id ] : cache;
-
-		// Prevent overriding the named cache with undefined values
-		if ( data !== undefined ) {
-			thisCache[ name ] = data;
-		}
-
-		return typeof name === "string" ? thisCache[ name ] : thisCache;
-	},
-
-	removeData: function( elem, name ) {
-		if ( !jQuery.acceptData( elem ) ) {
-			return;
-		}
-
-		elem = elem == window ?
-			windowData :
-			elem;
-
-		var isNode = elem.nodeType,
-			id = isNode ? elem[ jQuery.expando ] : elem,
-			cache = jQuery.cache,
-			thisCache = isNode ? cache[ id ] : id;
-
-		// If we want to remove a specific section of the element's data
-		if ( name ) {
-			if ( thisCache ) {
-				// Remove the section of cache data
-				delete thisCache[ name ];
-
-				// If we've removed all the data, remove the element's cache
-				if ( isNode && jQuery.isEmptyObject(thisCache) ) {
-					jQuery.removeData( elem );
-				}
-			}
-
-		// Otherwise, we want to remove all of the element's data
-		} else {
-			if ( isNode && jQuery.support.deleteExpando ) {
-				delete elem[ jQuery.expando ];
-
-			} else if ( elem.removeAttribute ) {
-				elem.removeAttribute( jQuery.expando );
-
-			// Completely remove the data cache
-			} else if ( isNode ) {
-				delete cache[ id ];
-
-			// Remove all fields from the object
-			} else {
-				for ( var n in elem ) {
-					delete elem[ n ];
-				}
-			}
-		}
-	},
-
-	// A method for determining if a DOM node can handle the data expando
-	acceptData: function( elem ) {
-		if ( elem.nodeName ) {
-			var match = jQuery.noData[ elem.nodeName.toLowerCase() ];
-
-			if ( match ) {
-				return !(match === true || elem.getAttribute("classid") !== match);
-			}
-		}
-
-		return true;
-	}
-});
-
-jQuery.fn.extend({
-	data: function( key, value ) {
-		var data = null;
-
-		if ( typeof key === "undefined" ) {
-			if ( this.length ) {
-				var attr = this[0].attributes, name;
-				data = jQuery.data( this[0] );
-
-				for ( var i = 0, l = attr.length; i < l; i++ ) {
-					name = attr[i].name;
-
-					if ( name.indexOf( "data-" ) === 0 ) {
-						name = name.substr( 5 );
-						dataAttr( this[0], name, data[ name ] );
-					}
-				}
-			}
-
-			return data;
-
-		} else if ( typeof key === "object" ) {
-			return this.each(function() {
-				jQuery.data( this, key );
-			});
-		}
-
-		var parts = key.split(".");
-		parts[1] = parts[1] ? "." + parts[1] : "";
-
-		if ( value === undefined ) {
-			data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
-
-			// Try to fetch any internally stored data first
-			if ( data === undefined && this.length ) {
-				data = jQuery.data( this[0], key );
-				data = dataAttr( this[0], key, data );
-			}
-
-			return data === undefined && parts[1] ?
-				this.data( parts[0] ) :
-				data;
-
-		} else {
-			return this.each(function() {
-				var $this = jQuery( this ),
-					args = [ parts[0], value ];
-
-				$this.triggerHandler( "setData" + parts[1] + "!", args );
-				jQuery.data( this, key, value );
-				$this.triggerHandler( "changeData" + parts[1] + "!", args );
-			});
-		}
-	},
-
-	removeData: function( key ) {
-		return this.each(function() {
-			jQuery.removeData( this, key );
-		});
-	}
-});
-
-function dataAttr( elem, key, data ) {
-	// If nothing was found internally, try to fetch any
-	// data from the HTML5 data-* attribute
-	if ( data === undefined && elem.nodeType === 1 ) {
-		data = elem.getAttribute( "data-" + key );
-
-		if ( typeof data === "string" ) {
-			try {
-				data = data === "true" ? true :
-				data === "false" ? false :
-				data === "null" ? null :
-				!jQuery.isNaN( data ) ? parseFloat( data ) :
-					rbrace.test( data ) ? jQuery.parseJSON( data ) :
-					data;
-			} catch( e ) {}
-
-			// Make sure we set the data so it isn't changed later
-			jQuery.data( elem, key, data );
-
-		} else {
-			data = undefined;
-		}
-	}
-
-	return data;
-}
-
-
-
-
-jQuery.extend({
-	queue: function( elem, type, data ) {
-		if ( !elem ) {
-			return;
-		}
-
-		type = (type || "fx") + "queue";
-		var q = jQuery.data( elem, type );
-
-		// Speed up dequeue by getting out quickly if this is just a lookup
-		if ( !data ) {
-			return q || [];
-		}
-
-		if ( !q || jQuery.isArray(data) ) {
-			q = jQuery.data( elem, type, jQuery.makeArray(data) );
-
-		} else {
-			q.push( data );
-		}
-
-		return q;
-	},
-
-	dequeue: function( elem, type ) {
-		type = type || "fx";
-
-		var queue = jQuery.queue( elem, type ),
-			fn = queue.shift();
-
-		// If the fx queue is dequeued, always remove the progress sentinel
-		if ( fn === "inprogress" ) {
-			fn = queue.shift();
-		}
-
-		if ( fn ) {
-			// Add a progress sentinel to prevent the fx queue from being
-			// automatically dequeued
-			if ( type === "fx" ) {
-				queue.unshift("inprogress");
-			}
-
-			fn.call(elem, function() {
-				jQuery.dequeue(elem, type);
-			});
-		}
-	}
-});
-
-jQuery.fn.extend({
-	queue: function( type, data ) {
-		if ( typeof type !== "string" ) {
-			data = type;
-			type = "fx";
-		}
-
-		if ( data === undefined ) {
-			return jQuery.queue( this[0], type );
-		}
-		return this.each(function( i ) {
-			var queue = jQuery.queue( this, type, data );
-
-			if ( type === "fx" && queue[0] !== "inprogress" ) {
-				jQuery.dequeue( this, type );
-			}
-		});
-	},
-	dequeue: function( type ) {
-		return this.each(function() {
-			jQuery.dequeue( this, type );
-		});
-	},
-
-	// Based off of the plugin by Clint Helfers, with permission.
-	// http://blindsignals.com/index.php/2009/07/jquery-delay/
-	delay: function( time, type ) {
-		time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;
-		type = type || "fx";
-
-		return this.queue( type, function() {
-			var elem = this;
-			setTimeout(function() {
-				jQuery.dequeue( elem, type );
-			}, time );
-		});
-	},
-
-	clearQueue: function( type ) {
-		return this.queue( type || "fx", [] );
-	}
-});
-
-
-
-
-var rclass = /[\n\t]/g,
-	rspaces = /\s+/,
-	rreturn = /\r/g,
-	rspecialurl = /^(?:href|src|style)$/,
-	rtype = /^(?:button|input)$/i,
-	rfocusable = /^(?:button|input|object|select|textarea)$/i,
-	rclickable = /^a(?:rea)?$/i,
-	rradiocheck = /^(?:radio|checkbox)$/i;
-
-jQuery.props = {
-	"for": "htmlFor",
-	"class": "className",
-	readonly: "readOnly",
-	maxlength: "maxLength",
-	cellspacing: "cellSpacing",
-	rowspan: "rowSpan",
-	colspan: "colSpan",
-	tabindex: "tabIndex",
-	usemap: "useMap",
-	frameborder: "frameBorder"
-};
-
-jQuery.fn.extend({
-	attr: function( name, value ) {
-		return jQuery.access( this, name, value, true, jQuery.attr );
-	},
-
-	removeAttr: function( name, fn ) {
-		return this.each(function(){
-			jQuery.attr( this, name, "" );
-			if ( this.nodeType === 1 ) {
-				this.removeAttribute( name );
-			}
-		});
-	},
-
-	addClass: function( value ) {
-		if ( jQuery.isFunction(value) ) {
-			return this.each(function(i) {
-				var self = jQuery(this);
-				self.addClass( value.call(this, i, self.attr("class")) );
-			});
-		}
-
-		if ( value && typeof value === "string" ) {
-			var classNames = (value || "").split( rspaces );
-
-			for ( var i = 0, l = this.length; i < l; i++ ) {
-				var elem = this[i];
-
-				if ( elem.nodeType === 1 ) {
-					if ( !elem.className ) {
-						elem.className = value;
-
-					} else {
-						var className = " " + elem.className + " ",
-							setClass = elem.className;
-
-						for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
-							if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
-								setClass += " " + classNames[c];
-							}
-						}
-						elem.className = jQuery.trim( setClass );
-					}
-				}
-			}
-		}
-
-		return this;
-	},
-
-	removeClass: function( value ) {
-		if ( jQuery.isFunction(value) ) {
-			return this.each(function(i) {
-				var self = jQuery(this);
-				self.removeClass( value.call(this, i, self.attr("class")) );
-			});
-		}
-
-		if ( (value && typeof value === "string") || value === undefined ) {
-			var classNames = (value || "").split( rspaces );
-
-			for ( var i = 0, l = this.length; i < l; i++ ) {
-				var elem = this[i];
-
-				if ( elem.nodeType === 1 && elem.className ) {
-					if ( value ) {
-						var className = (" " + elem.className + " ").replace(rclass, " ");
-						for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
-							className = className.replace(" " + classNames[c] + " ", " ");
-						}
-						elem.className = jQuery.trim( className );
-
-					} else {
-						elem.className = "";
-					}
-				}
-			}
-		}
-
-		return this;
-	},
-
-	toggleClass: function( value, stateVal ) {
-		var type = typeof value,
-			isBool = typeof stateVal === "boolean";
-
-		if ( jQuery.isFunction( value ) ) {
-			return this.each(function(i) {
-				var self = jQuery(this);
-				self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal );
-			});
-		}
-
-		return this.each(function() {
-			if ( type === "string" ) {
-				// toggle individual class names
-				var className,
-					i = 0,
-					self = jQuery( this ),
-					state = stateVal,
-					classNames = value.split( rspaces );
-
-				while ( (className = classNames[ i++ ]) ) {
-					// check each className given, space seperated list
-					state = isBool ? state : !self.hasClass( className );
-					self[ state ? "addClass" : "removeClass" ]( className );
-				}
-
-			} else if ( type === "undefined" || type === "boolean" ) {
-				if ( this.className ) {
-					// store className if set
-					jQuery.data( this, "__className__", this.className );
-				}
-
-				// toggle whole className
-				this.className = this.className || value === false ? "" : jQuery.data( this, "__className__" ) || "";
-			}
-		});
-	},
-
-	hasClass: function( selector ) {
-		var className = " " + selector + " ";
-		for ( var i = 0, l = this.length; i < l; i++ ) {
-			if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
-				return true;
-			}
-		}
-
-		return false;
-	},
-
-	val: function( value ) {
-		if ( !arguments.length ) {
-			var elem = this[0];
-
-			if ( elem ) {
-				if ( jQuery.nodeName( elem, "option" ) ) {
-					// attributes.value is undefined in Blackberry 4.7 but
-					// uses .value. See #6932
-					var val = elem.attributes.value;
-					return !val || val.specified ? elem.value : elem.text;
-				}
-
-				// We need to handle select boxes special
-				if ( jQuery.nodeName( elem, "select" ) ) {
-					var index = elem.selectedIndex,
-						values = [],
-						options = elem.options,
-						one = elem.type === "select-one";
-
-					// Nothing was selected
-					if ( index < 0 ) {
-						return null;
-					}
-
-					// Loop through all the selected options
-					for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
-						var option = options[ i ];
-
-						// Don't return options that are disabled or in a disabled optgroup
-						if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && 
-								(!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
-
-							// Get the specific value for the option
-							value = jQuery(option).val();
-
-							// We don't need an array for one selects
-							if ( one ) {
-								return value;
-							}
-
-							// Multi-Selects return an array
-							values.push( value );
-						}
-					}
-
-					return values;
-				}
-
-				// Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
-				if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) {
-					return elem.getAttribute("value") === null ? "on" : elem.value;
-				}
-				
-
-				// Everything else, we just grab the value
-				return (elem.value || "").replace(rreturn, "");
-
-			}
-
-			return undefined;
-		}
-
-		var isFunction = jQuery.isFunction(value);
-
-		return this.each(function(i) {
-			var self = jQuery(this), val = value;
-
-			if ( this.nodeType !== 1 ) {
-				return;
-			}
-
-			if ( isFunction ) {
-				val = value.call(this, i, self.val());
-			}
-
-			// Treat null/undefined as ""; convert numbers to string
-			if ( val == null ) {
-				val = "";
-			} else if ( typeof val === "number" ) {
-				val += "";
-			} else if ( jQuery.isArray(val) ) {
-				val = jQuery.map(val, function (value) {
-					return value == null ? "" : value + "";
-				});
-			}
-
-			if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {
-				this.checked = jQuery.inArray( self.val(), val ) >= 0;
-
-			} else if ( jQuery.nodeName( this, "select" ) ) {
-				var values = jQuery.makeArray(val);
-
-				jQuery( "option", this ).each(function() {
-					this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
-				});
-
-				if ( !values.length ) {
-					this.selectedIndex = -1;
-				}
-
-			} else {
-				this.value = val;
-			}
-		});
-	}
-});
-
-jQuery.extend({
-	attrFn: {
-		val: true,
-		css: true,
-		html: true,
-		text: true,
-		data: true,
-		width: true,
-		height: true,
-		offset: true
-	},
-		
-	attr: function( elem, name, value, pass ) {
-		// don't set attributes on text and comment nodes
-		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
-			return undefined;
-		}
-
-		if ( pass && name in jQuery.attrFn ) {
-			return jQuery(elem)[name](value);
-		}
-
-		var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ),
-			// Whether we are setting (or getting)
-			set = value !== undefined;
-
-		// Try to normalize/fix the name
-		name = notxml && jQuery.props[ name ] || name;
-
-		// These attributes require special treatment
-		var special = rspecialurl.test( name );
-
-		// Safari mis-reports the default selected property of an option
-		// Accessing the parent's selectedIndex property fixes it
-		if ( name === "selected" && !jQuery.support.optSelected ) {
-			var parent = elem.parentNode;
-			if ( parent ) {
-				parent.selectedIndex;
-
-				// Make sure that it also works with optgroups, see #5701
-				if ( parent.parentNode ) {
-					parent.parentNode.selectedIndex;
-				}
-			}
-		}
-
-		// If applicable, access the attribute via the DOM 0 way
-		// 'in' checks fail in Blackberry 4.7 #6931
-		if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) {
-			if ( set ) {
-				// We can't allow the type property to be changed (since it causes problems in IE)
-				if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) {
-					jQuery.error( "type property can't be changed" );
-				}
-
-				if ( value === null ) {
-					if ( elem.nodeType === 1 ) {
-						elem.removeAttribute( name );
-					}
-
-				} else {
-					elem[ name ] = value;
-				}
-			}
-
-			// browsers index elements by id/name on forms, give priority to attributes.
-			if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) {
-				return elem.getAttributeNode( name ).nodeValue;
-			}
-
-			// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
-			// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
-			if ( name === "tabIndex" ) {
-				var attributeNode = elem.getAttributeNode( "tabIndex" );
-
-				return attributeNode && attributeNode.specified ?
-					attributeNode.value :
-					rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
-						0 :
-						undefined;
-			}
-
-			return elem[ name ];
-		}
-
-		if ( !jQuery.support.style && notxml && name === "style" ) {
-			if ( set ) {
-				elem.style.cssText = "" + value;
-			}
-
-			return elem.style.cssText;
-		}
-
-		if ( set ) {
-			// convert the value to a string (all browsers do this but IE) see #1070
-			elem.setAttribute( name, "" + value );
-		}
-
-		// Ensure that missing attributes return undefined
-		// Blackberry 4.7 returns "" from getAttribute #6938
-		if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) {
-			return undefined;
-		}
-
-		var attr = !jQuery.support.hrefNormalized && notxml && special ?
-				// Some attributes require a special call on IE
-				elem.getAttribute( name, 2 ) :
-				elem.getAttribute( name );
-
-		// Non-existent attributes return null, we normalize to undefined
-		return attr === null ? undefined : attr;
-	}
-});
-
-
-
-
-var rnamespaces = /\.(.*)$/,
-	rformElems = /^(?:textarea|input|select)$/i,
-	rperiod = /\./g,
-	rspace = / /g,
-	rescape = /[^\w\s.|`]/g,
-	fcleanup = function( nm ) {
-		return nm.replace(rescape, "\\$&");
-	},
-	focusCounts = { focusin: 0, focusout: 0 };
-
-/*
- * A number of helper functions used for managing events.
- * Many of the ideas behind this code originated from
- * Dean Edwards' addEvent library.
- */
-jQuery.event = {
-
-	// Bind an event to an element
-	// Original by Dean Edwards
-	add: function( elem, types, handler, data ) {
-		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
-			return;
-		}
-
-		// For whatever reason, IE has trouble passing the window object
-		// around, causing it to be cloned in the process
-		if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) {
-			elem = window;
-		}
-
-		if ( handler === false ) {
-			handler = returnFalse;
-		} else if ( !handler ) {
-			// Fixes bug #7229. Fix recommended by jdalton
-		  return;
-		}
-
-		var handleObjIn, handleObj;
-
-		if ( handler.handler ) {
-			handleObjIn = handler;
-			handler = handleObjIn.handler;
-		}
-
-		// Make sure that the function being executed has a unique ID
-		if ( !handler.guid ) {
-			handler.guid = jQuery.guid++;
-		}
-
-		// Init the element's event structure
-		var elemData = jQuery.data( elem );
-
-		// If no elemData is found then we must be trying to bind to one of the
-		// banned noData elements
-		if ( !elemData ) {
-			return;
-		}
-
-		// Use a key less likely to result in collisions for plain JS objects.
-		// Fixes bug #7150.
-		var eventKey = elem.nodeType ? "events" : "__events__",
-			events = elemData[ eventKey ],
-			eventHandle = elemData.handle;
-			
-		if ( typeof events === "function" ) {
-			// On plain objects events is a fn that holds the the data
-			// which prevents this data from being JSON serialized
-			// the function does not need to be called, it just contains the data
-			eventHandle = events.handle;
-			events = events.events;
-
-		} else if ( !events ) {
-			if ( !elem.nodeType ) {
-				// On plain objects, create a fn that acts as the holder
-				// of the values to avoid JSON serialization of event data
-				elemData[ eventKey ] = elemData = function(){};
-			}
-
-			elemData.events = events = {};
-		}
-
-		if ( !eventHandle ) {
-			elemData.handle = eventHandle = function() {
-				// Handle the second event of a trigger and when
-				// an event is called after a page has unloaded
-				return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
-					jQuery.event.handle.apply( eventHandle.elem, arguments ) :
-					undefined;
-			};
-		}
-
-		// Add elem as a property of the handle function
-		// This is to prevent a memory leak with non-native events in IE.
-		eventHandle.elem = elem;
-
-		// Handle multiple events separated by a space
-		// jQuery(...).bind("mouseover mouseout", fn);
-		types = types.split(" ");
-
-		var type, i = 0, namespaces;
-
-		while ( (type = types[ i++ ]) ) {
-			handleObj = handleObjIn ?
-				jQuery.extend({}, handleObjIn) :
-				{ handler: handler, data: data };
-
-			// Namespaced event handlers
-			if ( type.indexOf(".") > -1 ) {
-				namespaces = type.split(".");
-				type = namespaces.shift();
-				handleObj.namespace = namespaces.slice(0).sort().join(".");
-
-			} else {
-				namespaces = [];
-				handleObj.namespace = "";
-			}
-
-			handleObj.type = type;
-			if ( !handleObj.guid ) {
-				handleObj.guid = handler.guid;
-			}
-
-			// Get the current list of functions bound to this event
-			var handlers = events[ type ],
-				special = jQuery.event.special[ type ] || {};
-
-			// Init the event handler queue
-			if ( !handlers ) {
-				handlers = events[ type ] = [];
-
-				// Check for a special event handler
-				// Only use addEventListener/attachEvent if the special
-				// events handler returns false
-				if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
-					// Bind the global event handler to the element
-					if ( elem.addEventListener ) {
-						elem.addEventListener( type, eventHandle, false );
-
-					} else if ( elem.attachEvent ) {
-						elem.attachEvent( "on" + type, eventHandle );
-					}
-				}
-			}
-			
-			if ( special.add ) { 
-				special.add.call( elem, handleObj ); 
-
-				if ( !handleObj.handler.guid ) {
-					handleObj.handler.guid = handler.guid;
-				}
-			}
-
-			// Add the function to the element's handler list
-			handlers.push( handleObj );
-
-			// Keep track of which events have been used, for global triggering
-			jQuery.event.global[ type ] = true;
-		}
-
-		// Nullify elem to prevent memory leaks in IE
-		elem = null;
-	},
-
-	global: {},
-
-	// Detach an event or set of events from an element
-	remove: function( elem, types, handler, pos ) {
-		// don't do events on text and comment nodes
-		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
-			return;
-		}
-
-		if ( handler === false ) {
-			handler = returnFalse;
-		}
-
-		var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType,
-			eventKey = elem.nodeType ? "events" : "__events__",
-			elemData = jQuery.data( elem ),
-			events = elemData && elemData[ eventKey ];
-
-		if ( !elemData || !events ) {
-			return;
-		}
-		
-		if ( typeof events === "function" ) {
-			elemData = events;
-			events = events.events;
-		}
-
-		// types is actually an event object here
-		if ( types && types.type ) {
-			handler = types.handler;
-			types = types.type;
-		}
-
-		// Unbind all events for the element
-		if ( !types || typeof types === "string" && types.charAt(0) === "." ) {
-			types = types || "";
-
-			for ( type in events ) {
-				jQuery.event.remove( elem, type + types );
-			}
-
-			return;
-		}
-
-		// Handle multiple events separated by a space
-		// jQuery(...).unbind("mouseover mouseout", fn);
-		types = types.split(" ");
-
-		while ( (type = types[ i++ ]) ) {
-			origType = type;
-			handleObj = null;
-			all = type.indexOf(".") < 0;
-			namespaces = [];
-
-			if ( !all ) {
-				// Namespaced event handlers
-				namespaces = type.split(".");
-				type = namespaces.shift();
-
-				namespace = new RegExp("(^|\\.)" + 
-					jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)");
-			}
-
-			eventType = events[ type ];
-
-			if ( !eventType ) {
-				continue;
-			}
-
-			if ( !handler ) {
-				for ( j = 0; j < eventType.length; j++ ) {
-					handleObj = eventType[ j ];
-
-					if ( all || namespace.test( handleObj.namespace ) ) {
-						jQuery.event.remove( elem, origType, handleObj.handler, j );
-						eventType.splice( j--, 1 );
-					}
-				}
-
-				continue;
-			}
-
-			special = jQuery.event.special[ type ] || {};
-
-			for ( j = pos || 0; j < eventType.length; j++ ) {
-				handleObj = eventType[ j ];
-
-				if ( handler.guid === handleObj.guid ) {
-					// remove the given handler for the given type
-					if ( all || namespace.test( handleObj.namespace ) ) {
-						if ( pos == null ) {
-							eventType.splice( j--, 1 );
-						}
-
-						if ( special.remove ) {
-							special.remove.call( elem, handleObj );
-						}
-					}
-
-					if ( pos != null ) {
-						break;
-					}
-				}
-			}
-
-			// remove generic event handler if no more handlers exist
-			if ( eventType.length === 0 || pos != null && eventType.length === 1 ) {
-				if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
-					jQuery.removeEvent( elem, type, elemData.handle );
-				}
-
-				ret = null;
-				delete events[ type ];
-			}
-		}
-
-		// Remove the expando if it's no longer used
-		if ( jQuery.isEmptyObject( events ) ) {
-			var handle = elemData.handle;
-			if ( handle ) {
-				handle.elem = null;
-			}
-
-			delete elemData.events;
-			delete elemData.handle;
-
-			if ( typeof elemData === "function" ) {
-				jQuery.removeData( elem, eventKey );
-
-			} else if ( jQuery.isEmptyObject( elemData ) ) {
-				jQuery.removeData( elem );
-			}
-		}
-	},
-
-	// bubbling is internal
-	trigger: function( event, data, elem /*, bubbling */ ) {
-		// Event object or event type
-		var type = event.type || event,
-			bubbling = arguments[3];
-
-		if ( !bubbling ) {
-			event = typeof event === "object" ?
-				// jQuery.Event object
-				event[ jQuery.expando ] ? event :
-				// Object literal
-				jQuery.extend( jQuery.Event(type), event ) :
-				// Just the event type (string)
-				jQuery.Event(type);
-
-			if ( type.indexOf("!") >= 0 ) {
-				event.type = type = type.slice(0, -1);
-				event.exclusive = true;
-			}
-
-			// Handle a global trigger
-			if ( !elem ) {
-				// Don't bubble custom events when global (to avoid too much overhead)
-				event.stopPropagation();
-
-				// Only trigger if we've ever bound an event for it
-				if ( jQuery.event.global[ type ] ) {
-					jQuery.each( jQuery.cache, function() {
-						if ( this.events && this.events[type] ) {
-							jQuery.event.trigger( event, data, this.handle.elem );
-						}
-					});
-				}
-			}
-
-			// Handle triggering a single element
-
-			// don't do events on text and comment nodes
-			if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
-				return undefined;
-			}
-
-			// Clean up in case it is reused
-			event.result = undefined;
-			event.target = elem;
-
-			// Clone the incoming data, if any
-			data = jQuery.makeArray( data );
-			data.unshift( event );
-		}
-
-		event.currentTarget = elem;
-
-		// Trigger the event, it is assumed that "handle" is a function
-		var handle = elem.nodeType ?
-			jQuery.data( elem, "handle" ) :
-			(jQuery.data( elem, "__events__" ) || {}).handle;
-
-		if ( handle ) {
-			handle.apply( elem, data );
-		}
-
-		var parent = elem.parentNode || elem.ownerDocument;
-
-		// Trigger an inline bound script
-		try {
-			if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) {
-				if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) {
-					event.result = false;
-					event.preventDefault();
-				}
-			}
-
-		// prevent IE from throwing an error for some elements with some event types, see #3533
-		} catch (inlineError) {}
-
-		if ( !event.isPropagationStopped() && parent ) {
-			jQuery.event.trigger( event, data, parent, true );
-
-		} else if ( !event.isDefaultPrevented() ) {
-			var old,
-				target = event.target,
-				targetType = type.replace( rnamespaces, "" ),
-				isClick = jQuery.nodeName( target, "a" ) && targetType === "click",
-				special = jQuery.event.special[ targetType ] || {};
-
-			if ( (!special._default || special._default.call( elem, event ) === false) && 
-				!isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) {
-
-				try {
-					if ( target[ targetType ] ) {
-						// Make sure that we don't accidentally re-trigger the onFOO events
-						old = target[ "on" + targetType ];
-
-						if ( old ) {
-							target[ "on" + targetType ] = null;
-						}
-
-						jQuery.event.triggered = true;
-						target[ targetType ]();
-					}
-
-				// prevent IE from throwing an error for some elements with some event types, see #3533
-				} catch (triggerError) {}
-
-				if ( old ) {
-					target[ "on" + targetType ] = old;
-				}
-
-				jQuery.event.triggered = false;
-			}
-		}
-	},
-
-	handle: function( event ) {
-		var all, handlers, namespaces, namespace_re, events,
-			namespace_sort = [],
-			args = jQuery.makeArray( arguments );
-
-		event = args[0] = jQuery.event.fix( event || window.event );
-		event.currentTarget = this;
-
-		// Namespaced event handlers
-		all = event.type.indexOf(".") < 0 && !event.exclusive;
-
-		if ( !all ) {
-			namespaces = event.type.split(".");
-			event.type = namespaces.shift();
-			namespace_sort = namespaces.slice(0).sort();
-			namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)");
-		}
-
-		event.namespace = event.namespace || namespace_sort.join(".");
-
-		events = jQuery.data(this, this.nodeType ? "events" : "__events__");
-
-		if ( typeof events === "function" ) {
-			events = events.events;
-		}
-
-		handlers = (events || {})[ event.type ];
-
-		if ( events && handlers ) {
-			// Clone the handlers to prevent manipulation
-			handlers = handlers.slice(0);
-
-			for ( var j = 0, l = handlers.length; j < l; j++ ) {
-				var handleObj = handlers[ j ];
-
-				// Filter the functions by class
-				if ( all || namespace_re.test( handleObj.namespace ) ) {
-					// Pass in a reference to the handler function itself
-					// So that we can later remove it
-					event.handler = handleObj.handler;
-					event.data = handleObj.data;
-					event.handleObj = handleObj;
-	
-					var ret = handleObj.handler.apply( this, args );
-
-					if ( ret !== undefined ) {
-						event.result = ret;
-						if ( ret === false ) {
-							event.preventDefault();
-							event.stopPropagation();
-						}
-					}
-
-					if ( event.isImmediatePropagationStopped() ) {
-						break;
-					}
-				}
-			}
-		}
-
-		return event.result;
-	},
-
-	props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-
-	fix: function( event ) {
-		if ( event[ jQuery.expando ] ) {
-			return event;
-		}
-
-		// store a copy of the original event object
-		// and "clone" to set read-only properties
-		var originalEvent = event;
-		event = jQuery.Event( originalEvent );
-
-		for ( var i = this.props.length, prop; i; ) {
-			prop = this.props[ --i ];
-			event[ prop ] = originalEvent[ prop ];
-		}
-
-		// Fix target property, if necessary
-		if ( !event.target ) {
-			// Fixes #1925 where srcElement might not be defined either
-			event.target = event.srcElement || document;
-		}
-
-		// check if target is a textnode (safari)
-		if ( event.target.nodeType === 3 ) {
-			event.target = event.target.parentNode;
-		}
-
-		// Add relatedTarget, if necessary
-		if ( !event.relatedTarget && event.fromElement ) {
-			event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;
-		}
-
-		// Calculate pageX/Y if missing and clientX/Y available
-		if ( event.pageX == null && event.clientX != null ) {
-			var doc = document.documentElement,
-				body = document.body;
-
-			event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
-			event.pageY = event.clientY + (doc && doc.scrollTop  || body && body.scrollTop  || 0) - (doc && doc.clientTop  || body && body.clientTop  || 0);
-		}
-
-		// Add which for key events
-		if ( event.which == null && (event.charCode != null || event.keyCode != null) ) {
-			event.which = event.charCode != null ? event.charCode : event.keyCode;
-		}
-
-		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
-		if ( !event.metaKey && event.ctrlKey ) {
-			event.metaKey = event.ctrlKey;
-		}
-
-		// Add which for click: 1 === left; 2 === middle; 3 === right
-		// Note: button is not normalized, so don't use it
-		if ( !event.which && event.button !== undefined ) {
-			event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
-		}
-
-		return event;
-	},
-
-	// Deprecated, use jQuery.guid instead
-	guid: 1E8,
-
-	// Deprecated, use jQuery.proxy instead
-	proxy: jQuery.proxy,
-
-	special: {
-		ready: {
-			// Make sure the ready event is setup
-			setup: jQuery.bindReady,
-			teardown: jQuery.noop
-		},
-
-		live: {
-			add: function( handleObj ) {
-				jQuery.event.add( this,
-					liveConvert( handleObj.origType, handleObj.selector ),
-					jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); 
-			},
-
-			remove: function( handleObj ) {
-				jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj );
-			}
-		},
-
-		beforeunload: {
-			setup: function( data, namespaces, eventHandle ) {
-				// We only want to do this special case on windows
-				if ( jQuery.isWindow( this ) ) {
-					this.onbeforeunload = eventHandle;
-				}
-			},
-
-			teardown: function( namespaces, eventHandle ) {
-				if ( this.onbeforeunload === eventHandle ) {
-					this.onbeforeunload = null;
-				}
-			}
-		}
-	}
-};
-
-jQuery.removeEvent = document.removeEventListener ?
-	function( elem, type, handle ) {
-		if ( elem.removeEventListener ) {
-			elem.removeEventListener( type, handle, false );
-		}
-	} : 
-	function( elem, type, handle ) {
-		if ( elem.detachEvent ) {
-			elem.detachEvent( "on" + type, handle );
-		}
-	};
-
-jQuery.Event = function( src ) {
-	// Allow instantiation without the 'new' keyword
-	if ( !this.preventDefault ) {
-		return new jQuery.Event( src );
-	}
-
-	// Event object
-	if ( src && src.type ) {
-		this.originalEvent = src;
-		this.type = src.type;
-	// Event type
-	} else {
-		this.type = src;
-	}
-
-	// timeStamp is buggy for some events on Firefox(#3843)
-	// So we won't rely on the native value
-	this.timeStamp = jQuery.now();
-
-	// Mark it as fixed
-	this[ jQuery.expando ] = true;
-};
-
-function returnFalse() {
-	return false;
-}
-function returnTrue() {
-	return true;
-}
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
-	preventDefault: function() {
-		this.isDefaultPrevented = returnTrue;
-
-		var e = this.originalEvent;
-		if ( !e ) {
-			return;
-		}
-		
-		// if preventDefault exists run it on the original event
-		if ( e.preventDefault ) {
-			e.preventDefault();
-
-		// otherwise set the returnValue property of the original event to false (IE)
-		} else {
-			e.returnValue = false;
-		}
-	},
-	stopPropagation: function() {
-		this.isPropagationStopped = returnTrue;
-
-		var e = this.originalEvent;
-		if ( !e ) {
-			return;
-		}
-		// if stopPropagation exists run it on the original event
-		if ( e.stopPropagation ) {
-			e.stopPropagation();
-		}
-		// otherwise set the cancelBubble property of the original event to true (IE)
-		e.cancelBubble = true;
-	},
-	stopImmediatePropagation: function() {
-		this.isImmediatePropagationStopped = returnTrue;
-		this.stopPropagation();
-	},
-	isDefaultPrevented: returnFalse,
-	isPropagationStopped: returnFalse,
-	isImmediatePropagationStopped: returnFalse
-};
-
-// Checks if an event happened on an element within another element
-// Used in jQuery.event.special.mouseenter and mouseleave handlers
-var withinElement = function( event ) {
-	// Check if mouse(over|out) are still within the same parent element
-	var parent = event.relatedTarget;
-
-	// Firefox sometimes assigns relatedTarget a XUL element
-	// which we cannot access the parentNode property of
-	try {
-		// Traverse up the tree
-		while ( parent && parent !== this ) {
-			parent = parent.parentNode;
-		}
-
-		if ( parent !== this ) {
-			// set the correct event type
-			event.type = event.data;
-
-			// handle event if we actually just moused on to a non sub-element
-			jQuery.event.handle.apply( this, arguments );
-		}
-
-	// assuming we've left the element since we most likely mousedover a xul element
-	} catch(e) { }
-},
-
-// In case of event delegation, we only need to rename the event.type,
-// liveHandler will take care of the rest.
-delegate = function( event ) {
-	event.type = event.data;
-	jQuery.event.handle.apply( this, arguments );
-};
-
-// Create mouseenter and mouseleave events
-jQuery.each({
-	mouseenter: "mouseover",
-	mouseleave: "mouseout"
-}, function( orig, fix ) {
-	jQuery.event.special[ orig ] = {
-		setup: function( data ) {
-			jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig );
-		},
-		teardown: function( data ) {
-			jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement );
-		}
-	};
-});
-
-// submit delegation
-if ( !jQuery.support.submitBubbles ) {
-
-	jQuery.event.special.submit = {
-		setup: function( data, namespaces ) {
-			if ( this.nodeName.toLowerCase() !== "form" ) {
-				jQuery.event.add(this, "click.specialSubmit", function( e ) {
-					var elem = e.target,
-						type = elem.type;
-
-					if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) {
-						e.liveFired = undefined;
-						return trigger( "submit", this, arguments );
-					}
-				});
-	 
-				jQuery.event.add(this, "keypress.specialSubmit", function( e ) {
-					var elem = e.target,
-						type = elem.type;
-
-					if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) {
-						e.liveFired = undefined;
-						return trigger( "submit", this, arguments );
-					}
-				});
-
-			} else {
-				return false;
-			}
-		},
-
-		teardown: function( namespaces ) {
-			jQuery.event.remove( this, ".specialSubmit" );
-		}
-	};
-
-}
-
-// change delegation, happens here so we have bind.
-if ( !jQuery.support.changeBubbles ) {
-
-	var changeFilters,
-
-	getVal = function( elem ) {
-		var type = elem.type, val = elem.value;
-
-		if ( type === "radio" || type === "checkbox" ) {
-			val = elem.checked;
-
-		} else if ( type === "select-multiple" ) {
-			val = elem.selectedIndex > -1 ?
-				jQuery.map( elem.options, function( elem ) {
-					return elem.selected;
-				}).join("-") :
-				"";
-
-		} else if ( elem.nodeName.toLowerCase() === "select" ) {
-			val = elem.selectedIndex;
-		}
-
-		return val;
-	},
-
-	testChange = function testChange( e ) {
-		var elem = e.target, data, val;
-
-		if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) {
-			return;
-		}
-
-		data = jQuery.data( elem, "_change_data" );
-		val = getVal(elem);
-
-		// the current data will be also retrieved by beforeactivate
-		if ( e.type !== "focusout" || elem.type !== "radio" ) {
-			jQuery.data( elem, "_change_data", val );
-		}
-		
-		if ( data === undefined || val === data ) {
-			return;
-		}
-
-		if ( data != null || val ) {
-			e.type = "change";
-			e.liveFired = undefined;
-			return jQuery.event.trigger( e, arguments[1], elem );
-		}
-	};
-
-	jQuery.event.special.change = {
-		filters: {
-			focusout: testChange, 
-
-			beforedeactivate: testChange,
-
-			click: function( e ) {
-				var elem = e.target, type = elem.type;
-
-				if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) {
-					return testChange.call( this, e );
-				}
-			},
-
-			// Change has to be called before submit
-			// Keydown will be called before keypress, which is used in submit-event delegation
-			keydown: function( e ) {
-				var elem = e.target, type = elem.type;
-
-				if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") ||
-					(e.keyCode === 32 && (type === "checkbox" || type === "radio")) ||
-					type === "select-multiple" ) {
-					return testChange.call( this, e );
-				}
-			},
-
-			// Beforeactivate happens also before the previous element is blurred
-			// with this event you can't trigger a change event, but you can store
-			// information
-			beforeactivate: function( e ) {
-				var elem = e.target;
-				jQuery.data( elem, "_change_data", getVal(elem) );
-			}
-		},
-
-		setup: function( data, namespaces ) {
-			if ( this.type === "file" ) {
-				return false;
-			}
-
-			for ( var type in changeFilters ) {
-				jQuery.event.add( this, type + ".specialChange", changeFilters[type] );
-			}
-
-			return rformElems.test( this.nodeName );
-		},
-
-		teardown: function( namespaces ) {
-			jQuery.event.remove( this, ".specialChange" );
-
-			return rformElems.test( this.nodeName );
-		}
-	};
-
-	changeFilters = jQuery.event.special.change.filters;
-
-	// Handle when the input is .focus()'d
-	changeFilters.focus = changeFilters.beforeactivate;
-}
-
-function trigger( type, elem, args ) {
-	args[0].type = type;
-	return jQuery.event.handle.apply( elem, args );
-}
-
-// Create "bubbling" focus and blur events
-if ( document.addEventListener ) {
-	jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
-		jQuery.event.special[ fix ] = {
-			setup: function() {
-				if ( focusCounts[fix]++ === 0 ) {
-					document.addEventListener( orig, handler, true );
-				}
-			}, 
-			teardown: function() { 
-				if ( --focusCounts[fix] === 0 ) {
-					document.removeEventListener( orig, handler, true );
-				}
-			}
-		};
-
-		function handler( e ) { 
-			e = jQuery.event.fix( e );
-			e.type = fix;
-			return jQuery.event.trigger( e, null, e.target );
-		}
-	});
-}
-
-jQuery.each(["bind", "one"], function( i, name ) {
-	jQuery.fn[ name ] = function( type, data, fn ) {
-		// Handle object literals
-		if ( typeof type === "object" ) {
-			for ( var key in type ) {
-				this[ name ](key, data, type[key], fn);
-			}
-			return this;
-		}
-		
-		if ( jQuery.isFunction( data ) || data === false ) {
-			fn = data;
-			data = undefined;
-		}
-
-		var handler = name === "one" ? jQuery.proxy( fn, function( event ) {
-			jQuery( this ).unbind( event, handler );
-			return fn.apply( this, arguments );
-		}) : fn;
-
-		if ( type === "unload" && name !== "one" ) {
-			this.one( type, data, fn );
-
-		} else {
-			for ( var i = 0, l = this.length; i < l; i++ ) {
-				jQuery.event.add( this[i], type, handler, data );
-			}
-		}
-
-		return this;
-	};
-});
-
-jQuery.fn.extend({
-	unbind: function( type, fn ) {
-		// Handle object literals
-		if ( typeof type === "object" && !type.preventDefault ) {
-			for ( var key in type ) {
-				this.unbind(key, type[key]);
-			}
-
-		} else {
-			for ( var i = 0, l = this.length; i < l; i++ ) {
-				jQuery.event.remove( this[i], type, fn );
-			}
-		}
-
-		return this;
-	},
-	
-	delegate: function( selector, types, data, fn ) {
-		return this.live( types, data, fn, selector );
-	},
-	
-	undelegate: function( selector, types, fn ) {
-		if ( arguments.length === 0 ) {
-				return this.unbind( "live" );
-		
-		} else {
-			return this.die( types, null, fn, selector );
-		}
-	},
-	
-	trigger: function( type, data ) {
-		return this.each(function() {
-			jQuery.event.trigger( type, data, this );
-		});
-	},
-
-	triggerHandler: function( type, data ) {
-		if ( this[0] ) {
-			var event = jQuery.Event( type );
-			event.preventDefault();
-			event.stopPropagation();
-			jQuery.event.trigger( event, data, this[0] );
-			return event.result;
-		}
-	},
-
-	toggle: function( fn ) {
-		// Save reference to arguments for access in closure
-		var args = arguments,
-			i = 1;
-
-		// link all the functions, so any of them can unbind this click handler
-		while ( i < args.length ) {
-			jQuery.proxy( fn, args[ i++ ] );
-		}
-
-		return this.click( jQuery.proxy( fn, function( event ) {
-			// Figure out which function to execute
-			var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i;
-			jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 );
-
-			// Make sure that clicks stop
-			event.preventDefault();
-
-			// and execute the function
-			return args[ lastToggle ].apply( this, arguments ) || false;
-		}));
-	},
-
-	hover: function( fnOver, fnOut ) {
-		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
-	}
-});
-
-var liveMap = {
-	focus: "focusin",
-	blur: "focusout",
-	mouseenter: "mouseover",
-	mouseleave: "mouseout"
-};
-
-jQuery.each(["live", "die"], function( i, name ) {
-	jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) {
-		var type, i = 0, match, namespaces, preType,
-			selector = origSelector || this.selector,
-			context = origSelector ? this : jQuery( this.context );
-		
-		if ( typeof types === "object" && !types.preventDefault ) {
-			for ( var key in types ) {
-				context[ name ]( key, data, types[key], selector );
-			}
-			
-			return this;
-		}
-
-		if ( jQuery.isFunction( data ) ) {
-			fn = data;
-			data = undefined;
-		}
-
-		types = (types || "").split(" ");
-
-		while ( (type = types[ i++ ]) != null ) {
-			match = rnamespaces.exec( type );
-			namespaces = "";
-
-			if ( match )  {
-				namespaces = match[0];
-				type = type.replace( rnamespaces, "" );
-			}
-
-			if ( type === "hover" ) {
-				types.push( "mouseenter" + namespaces, "mouseleave" + namespaces );
-				continue;
-			}
-
-			preType = type;
-
-			if ( type === "focus" || type === "blur" ) {
-				types.push( liveMap[ type ] + namespaces );
-				type = type + namespaces;
-
-			} else {
-				type = (liveMap[ type ] || type) + namespaces;
-			}
-
-			if ( name === "live" ) {
-				// bind live handler
-				for ( var j = 0, l = context.length; j < l; j++ ) {
-					jQuery.event.add( context[j], "live." + liveConvert( type, selector ),
-						{ data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } );
-				}
-
-			} else {
-				// unbind live handler
-				context.unbind( "live." + liveConvert( type, selector ), fn );
-			}
-		}
-		
-		return this;
-	};
-});
-
-function liveHandler( event ) {
-	var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret,
-		elems = [],
-		selectors = [],
-		events = jQuery.data( this, this.nodeType ? "events" : "__events__" );
-
-	if ( typeof events === "function" ) {
-		events = events.events;
-	}
-
-	// Make sure we avoid non-left-click bubbling in Firefox (#3861)
-	if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) {
-		return;
-	}
-	
-	if ( event.namespace ) {
-		namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)");
-	}
-
-	event.liveFired = this;
-
-	var live = events.live.slice(0);
-
-	for ( j = 0; j < live.length; j++ ) {
-		handleObj = live[j];
-
-		if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) {
-			selectors.push( handleObj.selector );
-
-		} else {
-			live.splice( j--, 1 );
-		}
-	}
-
-	match = jQuery( event.target ).closest( selectors, event.currentTarget );
-
-	for ( i = 0, l = match.length; i < l; i++ ) {
-		close = match[i];
-
-		for ( j = 0; j < live.length; j++ ) {
-			handleObj = live[j];
-
-			if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) ) {
-				elem = close.elem;
-				related = null;
-
-				// Those two events require additional checking
-				if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) {
-					event.type = handleObj.preType;
-					related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0];
-				}
-
-				if ( !related || related !== elem ) {
-					elems.push({ elem: elem, handleObj: handleObj, level: close.level });
-				}
-			}
-		}
-	}
-
-	for ( i = 0, l = elems.length; i < l; i++ ) {
-		match = elems[i];
-
-		if ( maxLevel && match.level > maxLevel ) {
-			break;
-		}
-
-		event.currentTarget = match.elem;
-		event.data = match.handleObj.data;
-		event.handleObj = match.handleObj;
-
-		ret = match.handleObj.origHandler.apply( match.elem, arguments );
-
-		if ( ret === false || event.isPropagationStopped() ) {
-			maxLevel = match.level;
-
-			if ( ret === false ) {
-				stop = false;
-			}
-			if ( event.isImmediatePropagationStopped() ) {
-				break;
-			}
-		}
-	}
-
-	return stop;
-}
-
-function liveConvert( type, selector ) {
-	return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&");
-}
-
-jQuery.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").split(" "), function( i, name ) {
-
-	// Handle event binding
-	jQuery.fn[ name ] = function( data, fn ) {
-		if ( fn == null ) {
-			fn = data;
-			data = null;
-		}
-
-		return arguments.length > 0 ?
-			this.bind( name, data, fn ) :
-			this.trigger( name );
-	};
-
-	if ( jQuery.attrFn ) {
-		jQuery.attrFn[ name ] = true;
-	}
-});
-
-// Prevent memory leaks in IE
-// Window isn't included so as not to unbind existing unload events
-// More info:
-//  - http://isaacschlueter.com/2006/10/msie-memory-leaks/
-if ( window.attachEvent && !window.addEventListener ) {
-	jQuery(window).bind("unload", function() {
-		for ( var id in jQuery.cache ) {
-			if ( jQuery.cache[ id ].handle ) {
-				// Try/Catch is to handle iframes being unloaded, see #4280
-				try {
-					jQuery.event.remove( jQuery.cache[ id ].handle.elem );
-				} catch(e) {}
-			}
-		}
-	});
-}
-
-
-/*!
- * Sizzle CSS Selector Engine - v1.0
- *  Copyright 2009, The Dojo Foundation
- *  Released under the MIT, BSD, and GPL Licenses.
- *  More information: http://sizzlejs.com/
- */
-(function(){
-
-var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
-	done = 0,
-	toString = Object.prototype.toString,
-	hasDuplicate = false,
-	baseHasDuplicate = true;
-
-// Here we check if the JavaScript engine is using some sort of
-// optimization where it does not always call our comparision
-// function. If that is the case, discard the hasDuplicate value.
-//   Thus far that includes Google Chrome.
-[0, 0].sort(function() {
-	baseHasDuplicate = false;
-	return 0;
-});
-
-var Sizzle = function( selector, context, results, seed ) {
-	results = results || [];
-	context = context || document;
-
-	var origContext = context;
-
-	if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
-		return [];
-	}
-	
-	if ( !selector || typeof selector !== "string" ) {
-		return results;
-	}
-
-	var m, set, checkSet, extra, ret, cur, pop, i,
-		prune = true,
-		contextXML = Sizzle.isXML( context ),
-		parts = [],
-		soFar = selector;
-	
-	// Reset the position of the chunker regexp (start from head)
-	do {
-		chunker.exec( "" );
-		m = chunker.exec( soFar );
-
-		if ( m ) {
-			soFar = m[3];
-		
-			parts.push( m[1] );
-		
-			if ( m[2] ) {
-				extra = m[3];
-				break;
-			}
-		}
-	} while ( m );
-
-	if ( parts.length > 1 && origPOS.exec( selector ) ) {
-
-		if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
-			set = posProcess( parts[0] + parts[1], context );
-
-		} else {
-			set = Expr.relative[ parts[0] ] ?
-				[ context ] :
-				Sizzle( parts.shift(), context );
-
-			while ( parts.length ) {
-				selector = parts.shift();
-
-				if ( Expr.relative[ selector ] ) {
-					selector += parts.shift();
-				}
-				
-				set = posProcess( selector, set );
-			}
-		}
-
-	} else {
-		// Take a shortcut and set the context if the root selector is an ID
-		// (but not if it'll be faster if the inner selector is an ID)
-		if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
-				Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
-
-			ret = Sizzle.find( parts.shift(), context, contextXML );
-			context = ret.expr ?
-				Sizzle.filter( ret.expr, ret.set )[0] :
-				ret.set[0];
-		}
-
-		if ( context ) {
-			ret = seed ?
-				{ expr: parts.pop(), set: makeArray(seed) } :
-				Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
-
-			set = ret.expr ?
-				Sizzle.filter( ret.expr, ret.set ) :
-				ret.set;
-
-			if ( parts.length > 0 ) {
-				checkSet = makeArray( set );
-
-			} else {
-				prune = false;
-			}
-
-			while ( parts.length ) {
-				cur = parts.pop();
-				pop = cur;
-
-				if ( !Expr.relative[ cur ] ) {
-					cur = "";
-				} else {
-					pop = parts.pop();
-				}
-
-				if ( pop == null ) {
-					pop = context;
-				}
-
-				Expr.relative[ cur ]( checkSet, pop, contextXML );
-			}
-
-		} else {
-			checkSet = parts = [];
-		}
-	}
-
-	if ( !checkSet ) {
-		checkSet = set;
-	}
-
-	if ( !checkSet ) {
-		Sizzle.error( cur || selector );
-	}
-
-	if ( toString.call(checkSet) === "[object Array]" ) {
-		if ( !prune ) {
-			results.push.apply( results, checkSet );
-
-		} else if ( context && context.nodeType === 1 ) {
-			for ( i = 0; checkSet[i] != null; i++ ) {
-				if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {
-					results.push( set[i] );
-				}
-			}
-
-		} else {
-			for ( i = 0; checkSet[i] != null; i++ ) {
-				if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
-					results.push( set[i] );
-				}
-			}
-		}
-
-	} else {
-		makeArray( checkSet, results );
-	}
-
-	if ( extra ) {
-		Sizzle( extra, origContext, results, seed );
-		Sizzle.uniqueSort( results );
-	}
-
-	return results;
-};
-
-Sizzle.uniqueSort = function( results ) {
-	if ( sortOrder ) {
-		hasDuplicate = baseHasDuplicate;
-		results.sort( sortOrder );
-
-		if ( hasDuplicate ) {
-			for ( var i = 1; i < results.length; i++ ) {
-				if ( results[i] === results[ i - 1 ] ) {
-					results.splice( i--, 1 );
-				}
-			}
-		}
-	}
-
-	return results;
-};
-
-Sizzle.matches = function( expr, set ) {
-	return Sizzle( expr, null, null, set );
-};
-
-Sizzle.matchesSelector = function( node, expr ) {
-	return Sizzle( expr, null, null, [node] ).length > 0;
-};
-
-Sizzle.find = function( expr, context, isXML ) {
-	var set;
-
-	if ( !expr ) {
-		return [];
-	}
-
-	for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
-		var match,
-			type = Expr.order[i];
-		
-		if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
-			var left = match[1];
-			match.splice( 1, 1 );
-
-			if ( left.substr( left.length - 1 ) !== "\\" ) {
-				match[1] = (match[1] || "").replace(/\\/g, "");
-				set = Expr.find[ type ]( match, context, isXML );
-
-				if ( set != null ) {
-					expr = expr.replace( Expr.match[ type ], "" );
-					break;
-				}
-			}
-		}
-	}
-
-	if ( !set ) {
-		set = context.getElementsByTagName( "*" );
-	}
-
-	return { set: set, expr: expr };
-};
-
-Sizzle.filter = function( expr, set, inplace, not ) {
-	var match, anyFound,
-		old = expr,
-		result = [],
-		curLoop = set,
-		isXMLFilter = set && set[0] && Sizzle.isXML( set[0] );
-
-	while ( expr && set.length ) {
-		for ( var type in Expr.filter ) {
-			if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
-				var found, item,
-					filter = Expr.filter[ type ],
-					left = match[1];
-
-				anyFound = false;
-
-				match.splice(1,1);
-
-				if ( left.substr( left.length - 1 ) === "\\" ) {
-					continue;
-				}
-
-				if ( curLoop === result ) {
-					result = [];
-				}
-
-				if ( Expr.preFilter[ type ] ) {
-					match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
-
-					if ( !match ) {
-						anyFound = found = true;
-
-					} else if ( match === true ) {
-						continue;
-					}
-				}
-
-				if ( match ) {
-					for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
-						if ( item ) {
-							found = filter( item, match, i, curLoop );
-							var pass = not ^ !!found;
-
-							if ( inplace && found != null ) {
-								if ( pass ) {
-									anyFound = true;
-
-								} else {
-									curLoop[i] = false;
-								}
-
-							} else if ( pass ) {
-								result.push( item );
-								anyFound = true;
-							}
-						}
-					}
-				}
-
-				if ( found !== undefined ) {
-					if ( !inplace ) {
-						curLoop = result;
-					}
-
-					expr = expr.replace( Expr.match[ type ], "" );
-
-					if ( !anyFound ) {
-						return [];
-					}
-
-					break;
-				}
-			}
-		}
-
-		// Improper expression
-		if ( expr === old ) {
-			if ( anyFound == null ) {
-				Sizzle.error( expr );
-
-			} else {
-				break;
-			}
-		}
-
-		old = expr;
-	}
-
-	return curLoop;
-};
-
-Sizzle.error = function( msg ) {
-	throw "Syntax error, unrecognized expression: " + msg;
-};
-
-var Expr = Sizzle.selectors = {
-	order: [ "ID", "NAME", "TAG" ],
-
-	match: {
-		ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
-		CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
-		NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
-		ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
-		TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
-		CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
-		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
-		PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
-	},
-
-	leftMatch: {},
-
-	attrMap: {
-		"class": "className",
-		"for": "htmlFor"
-	},
-
-	attrHandle: {
-		href: function( elem ) {
-			return elem.getAttribute( "href" );
-		}
-	},
-
-	relative: {
-		"+": function(checkSet, part){
-			var isPartStr = typeof part === "string",
-				isTag = isPartStr && !/\W/.test( part ),
-				isPartStrNotTag = isPartStr && !isTag;
-
-			if ( isTag ) {
-				part = part.toLowerCase();
-			}
-
-			for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
-				if ( (elem = checkSet[i]) ) {
-					while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
-
-					checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
-						elem || false :
-						elem === part;
-				}
-			}
-
-			if ( isPartStrNotTag ) {
-				Sizzle.filter( part, checkSet, true );
-			}
-		},
-
-		">": function( checkSet, part ) {
-			va

<TRUNCATED>


[05/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/js/jquery-1.6.4.min.js
----------------------------------------------------------------------
diff --git a/public/js/jquery-1.6.4.min.js b/public/js/jquery-1.6.4.min.js
deleted file mode 100644
index 628ed9b..0000000
--- a/public/js/jquery-1.6.4.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v1.6.4 http://jquery.com/ | http://jquery.org/license */
-(function(a,b){function cu(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cr(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cq(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cp(){cn=b}function co(){setTimeout(cp,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p
 ;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bA.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e i
 n b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bW(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bP,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bW(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bW(a,c,d,e,"*",g));return l}function bV(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bL),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function by(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bt:bu;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bv(a,b,b);if(d<0||d==null)d=a.
 style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bd,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bk(a){f.nodeName(a,"input")?bj(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bj)}function bj(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bi(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="op
 tion")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bf(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function V(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(Q.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function
 (a,d){return f.inArray(a,b)>=0===c})}function U(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function M(a,b){return(a&&a!=="*"?a+".":"")+b.replace(y,"`").replace(z,"&")}function L(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(w,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++
 ){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function D(){return!0}function C(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d
 :parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if
 (!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.4",length:0,size:function(){return this.length},t
 oArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=argumen
 ts.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;B.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachE
 vent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("
 return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:H?function(a){return a==null?"":H.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:fu
 nction(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?F.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(!b)return-1;if(I)return I.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=G.call(arguments,2),g=function(){return a.apply(c,f.concat(
 G.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){J["[object "+b+"]"]=b.toLowerCase()}),A=e.uaMatch(z),A.browser&&(e.brow
 ser[A.browser]=!0,e.browser.version=A.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?C=function(){c.removeEventListener("DOMContentLoaded",C,!1),e.ready()}:c.attachEvent&&(C=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",C),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferr
 ed(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g+"With"](this===b?d:this,[h])}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].pro
 mise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles
 :!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-1000px",top:"-1000px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.
 insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=
 null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i=f.expando,j=typeof c=="string",k=a.nodeType,l=k?f.cache:a,m=k?a[f.expando]:a[f.expando]&&f.expando;if((!m||e&&m&&l[m]&&!l[m][i])&&j&&d===b)return;m||(k?a[f.expando]=m=++f.uuid:m=f.expando),l[m]||(l[m]={},k||(l[m].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?l[m][i]=f.extend(l[m][i],c):l[m]=f.extend(l[m],c);g=l[m],e&&(g[i]||(g[i]={}),g=g[i]),d!==b&&(g[f.camelCase(c)]=d);if(c==="events"&&!g[c])return g[i]&&g[i].events;j?(h=g[c],h==null&&(h=g[f.camelCase(c)])):h=g;return h}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e=f.expando,g=a.nodeType,h=g?f.cache:a,i=g?a[f.exp
 ando]:f.expando;if(!h[i])return;if(b){d=c?h[i][e]:h[i];if(d){d[b]||(b=f.camelCase(b)),delete d[b];if(!l(d))return}}if(c){delete h[i][e];if(!l(h[i]))return}var j=h[i][e];f.support.deleteExpando||!h.setInterval?delete h[i]:h[i]=null,j?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=j):g&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHa
 ndler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue")
 )}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidd
 en|loop|multiple|open|readonly|required|scoped|selected)$/i,u,v;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.l
 ength;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e
 .type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d}
 ,set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=v:u&&(i=u)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.attr(a,b,""),a.removeAttribute(b),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type propert
 y can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(u&&f.nodeName(a,"button"))return u.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(u&&f.nodeName(a,"button"))return u.set(a,b,c);a.value=b}}},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(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==null?g:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.tes
 t(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabIndex=f.propHooks.tabIndex,v={get:function(a,c){var d;return f.prop(a,c)===!0||(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(u=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.
 toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=/\.(.*)$/,x=/^(?:textarea|input|select)$/i,y=/\./g,z=/ /g,A=/[^\w\s.|`]/g,B=function(a){return a.replace(A,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=C;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.
 triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=C);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"
 +f.map(m.slice(0).sort(),B).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete 
-t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)=
 ==!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode cl
 ientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKe
 y=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,M(a.origType,a.selector),f.extend({},a,{handler:L,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,M(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?D:C):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype
 ={preventDefault:function(){this.isDefaultPrevented=D;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=D;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=D,this.stopPropagation()},isDefaultPrevented:C,isPropagationStopped:C,isImmediatePropagationStopped:C};var E=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},F=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?F:E,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?F:E)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.eve
 nt.add(this,"click.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="submit"||c==="image")&&f(b).closest("form").length&&J("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&J("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var G,H=function(a){var b=f.nodeName(a,"input")?a.type:"",c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},I=function(c){var d=c.target,e,g;if(!!x.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=H(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g==
 =e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:I,beforedeactivate:I,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&I.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&I.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",H(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in G)f.event.add(this,c+".specialChange",G[c]);return x.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return x.test(this.nodeName)}},G=f.event.special.change.filters,G.focus=G.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f
 .event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return t
 his.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var K={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||C,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=w.exec(h),k="",j&&(k=j[0],h=h.replace(w,""));if(h==="hover"){a.push("mouseenter"+k,"m
 ouseleave"+k);continue}l=h,K[h]?(a.push(K[h]+k),h=h+k):h=(K[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+M(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+M(h,m),e)}return this}}),f.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".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1
 ;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.
 set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.sp
 lice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[
 \w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(
 d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(
 h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},f
 ilters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a)
 {return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function
 (a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g
 .length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosi
 tion(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||
 typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w
 \-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[tes
 t!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||
 a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var N=/Until$/,O=/^(?:parents|prevUntil|prevAll)/,P=/,/,Q=/^.[^:#\[\.,]*$/,R=Array.prototype.slice,S=f.expr.match.POS,T={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b
 .length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(V(this,a,!1),"not",a)},filter:function(a){return this.pushStack(V(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=S.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=S.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-
 1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(U(c[0])||U(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"i
 frame")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=R.call(arguments);N.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!T[a]?f.unique(e):e,(this.length>1||P.test(d))&&O.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|ob
 ject|embed|option|style)/i,bb=/checked\s*(?:[^=]|=\s*.checked.)/i,bc=/\/(java|ecma)script/i,bd=/^\s*<!(?:\[CDATA\[|\-\-)/,be={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].owner
 Document).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a
 .push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhites
 pace||!X.test(a))&&!be[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bb.test(j))return this.each(function(){f(this).domMan
 ip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bf(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bl)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!ba.test(a[0])&&(f.support.checkClone||!bb.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean
-(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)g[h]&&bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j+
 +){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=be[l]||be._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bk(k[i]);else bk(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bc.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j
 ]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bm=/alpha\([^)]*\)/i,bn=/opacity=([^)]*)/,bo=/([A-Z]|^ms)/g,bp=/^-?\d+(?:px)?$/i,bq=/^-?\d/,br=/^([\-+])=([\-+.\de]+)/,bs={position:"absolute",visibility:"hidden",display:"block"},bt=["Left","Right"],bu=["Top","Bottom"],bv,bw,bx;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{op
 acity:{get:function(a,b){if(b){var c=bv(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=br.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bv)return bv(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a)
 ;for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return by(a,b,d);f.swap(a,bs,function(){e=by(a,b,d)});return e}},set:function(a,b){if(!bp.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bm,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bv(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComput
 edStyle&&(bw=function(a,c){var d,e,g;c=c.replace(bo,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bx=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bp.test(d)&&bq.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bv=bw||bx,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bz=/%20/g,bA=/\[\]$/,bB=/\r?\n/g,bC=/#.*$/,bD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bE=/^(?:color|date|datetime|datetime-local|emai
 l|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bF=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bG=/^(?:GET|HEAD)$/,bH=/^\/\//,bI=/\?/,bJ=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bK=/^(?:select|textarea)/i,bL=/\s+/,bM=/([?&])_=[^&]*/,bN=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bO=f.fn.load,bP={},bQ={},bR,bS,bT=["*/"]+["*"];try{bR=e.href}catch(bU){bR=c.createElement("a"),bR.href="",bR=bR.href}bS=bN.exec(bR.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bO)return bO.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bJ,"")).find(g):c)),d&&i.ea
 ch(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bK.test(this.nodeName)||bE.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bB,"\r\n")}}):{name:b.name,value:c.replace(bB,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?bX(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),bX(a,b);re
 turn a},ajaxSettings:{url:bR,isLocal:bF.test(bS[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bT},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bV(bP),ajaxTransport:bV(bQ),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?bZ(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=b$(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w)
 ,o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bD.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[
 j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bC,"").replace(bH,bS[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bL),d.crossDomain==null&&(r=bN.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bS[1]&&r[2]==bS[2]&&(r[3]||(r[1]==="http:"?80:443))==(bS[3]||(bS[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bW(bP,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bG.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bI.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bM,"$1_="+x);d.url=y+(y===d.url?(bI.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.e
 tag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bT+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bW(bQ,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bz,"+")}}),f.extend({active:0,lastModified:{},e
 tag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text 
 script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.suppo
 rt.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj
 =/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cq("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cr(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cq("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:fu
 nction(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cq("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overf
 low,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cr(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cq("show",1),slideUp:cq("hide",1),slideToggle:cq("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fade
 Toggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.el
 em[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return d.step(a)}var d=this,e=f.fx;this.startTime=cn||co(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&f.timers.push(g)&&!cl&&(cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||co(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.
 support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){
 return a===b.elem}).length});var cs=/^t(?:able|d|h)$/i,ct=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cu(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h
 =g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cs.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f
 .css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.rem

<TRUNCATED>


[42/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/ConditionalSampling.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/ConditionalSampling.java b/app/models/metadata/ConditionalSampling.java
deleted file mode 100644
index d8ef86c..0000000
--- a/app/models/metadata/ConditionalSampling.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-import java.util.ArrayList;
-
-public class ConditionalSampling {
-	private String dataSourceP = "";
-	private String variableNameP = "";
-	private String pressureRangeP = "";
-	private String dataSourceE = "";
-	private String variableNameE = "";
-	private String pressureRangeE = "";
-	private String startYearMonth = "";
-	private String endYearMonth = "";
-	private String selectMonths = "";
-	private ArrayList<String> month = new ArrayList<String>();
-	private String startLat = "";
-	private String endLat = "";
-	private String startLon = "";
-	private String endLon = "";
-	private String X;
-	private String Y;
-	private String Z;
-	private String bin_min;
-	private String bin_max;
-	private String bin_n;
-	private String customized;
-	private String executionPurpose = "";
-	private String image = "";
-	private String dataURL = "";
-	private String serviceResponseText = "";
-	
-	public String getBin_min() {
-		return bin_min;
-	}
-	public void setBin_min(String bin_min) {
-		this.bin_min = bin_min;
-	}
-	public String getBin_max() {
-		return bin_max;
-	}
-	public void setBin_max(String bin_max) {
-		this.bin_max = bin_max;
-	}
-	public String getBin_n() {
-		return bin_n;
-	}
-	public void setBin_n(String bin_n) {
-		this.bin_n = bin_n;
-	}
-	public String getVariableNameP() {
-		return variableNameP;
-	}
-	public void setVariableNameP(String variableNameP) {
-		this.variableNameP = variableNameP;
-	}
-	public String getPressureRangeP() {
-		return pressureRangeP;
-	}
-	public void setPressureRangeP(String pressureRangeP) {
-		this.pressureRangeP = pressureRangeP;
-	}
-	public String getDataSourceE() {
-		return dataSourceE;
-	}
-	public void setDataSourceE(String dataSourceE) {
-		this.dataSourceE = dataSourceE;
-	}
-	public String getPressureRangeE() {
-		return pressureRangeE;
-	}
-	public void setPressureRangeE(String pressureRangeE) {
-		this.pressureRangeE = pressureRangeE;
-	}
-	public String getStartLon() {
-		return startLon;
-	}
-	public void setStartLon(String startLon) {
-		this.startLon = startLon;
-	}
-	public String getEndLon() {
-		return endLon;
-	}
-	public void setEndLon(String endLon) {
-		this.endLon = endLon;
-	}
-	public String getX() {
-		return X;
-	}
-	public void setX(String x) {
-		X = x;
-	}
-	public String getY() {
-		return Y;
-	}
-	public void setY(String y) {
-		Y = y;
-	}
-	public String getZ() {
-		return Z;
-	}
-	public void setZ(String z) {
-		Z = z;
-	}
-	public String getCustomized() {
-		return customized;
-	}
-	public void setCustomized(String customized) {
-		this.customized = customized;
-	}
-	public String getDataSourceP() {
-		return dataSourceP;
-	}
-	public void setDataSourceP(String dataSource) {
-		this.dataSourceP = dataSource;
-	}
-	public String getVariableNameE() {
-		return variableNameE;
-	}
-	public void setVariableNameE(String variableName) {
-		this.variableNameE = variableName;
-	}
-	public String getStartYearMonth() {
-		return startYearMonth;
-	}
-	public void setStartYearMonth(String startYearMonth) {
-		this.startYearMonth = startYearMonth;
-	}
-	public String getEndYearMonth() {
-		return endYearMonth;
-	}
-	public void setEndYearMonth(String endYearMonth) {
-		this.endYearMonth = endYearMonth;
-	}
-	public String getSelectMonths() {
-		return selectMonths;
-	}
-	public void setSelectMonths(String selectMonths) {
-		this.selectMonths = selectMonths;
-	}
-	public void changeSelectMonths(){
-
-		if(month.contains("1")&&month.contains("2")&&month.contains("3")&&month.contains("4")&&month.contains("5")&&month.contains("6")&&month.contains("7")&&month.contains("8")&&month.contains("9")&&month.contains("10")&&month.contains("11")&&month.contains("12")){
-			this.selectMonths = "select all";
-		}
-		else if(month.contains("6") && month.contains("7") && month.contains("8")){
-			this.selectMonths = "Summer:Jun-Jul-Aug";
-		}
-		else if(month.contains("9") && month.contains("10") && month.contains("11")){
-			this.selectMonths = "Autumn:Sep-Oct-Nov";
-		}
-		else if(month.contains("12") && month.contains("1") && month.contains("2")){
-			this.selectMonths = "Winter:Dec-Jan-Feb";
-		}
-		else if(month.contains("3") && month.contains("4") && month.contains("5")){
-			this.selectMonths = "Spring:Mar-Apr-May";
-		}
-		else{
-			this.selectMonths = "select none";
-		}
-		
-	}
-	public String getMonth() {
-		return month.toString().replace("[", "").replace("]", "");
-	}
-	public void setMonth(ArrayList<String> month) {
-		this.month = month;
-	}
-	public void addMonth(String oneMonth){
-		month.add(oneMonth);
-	}
-	public String getStartLat() {
-		return startLat;
-	}
-	public void setStartLat(String startLat) {
-		this.startLat = startLat;
-	}
-	public String getEndLat() {
-		return endLat;
-	}
-	public void setEndLat(String endLat) {
-		this.endLat = endLat;
-	}
-	
-	public String getExecutionPurpose() {
-		return executionPurpose;
-	}
-	public void setExecutionPurpose(String executionPurpose) {
-		this.executionPurpose = executionPurpose;
-	}
-	public String getImage() {
-		return image;
-	}
-	public void setImage(String image) {
-		this.image = image;
-	}
-	public String getDataURL() {
-		return dataURL;
-	}
-	public void setDataURL(String dataURL) {
-		this.dataURL = dataURL;
-	}
-	public String getServiceResponseText() {
-		return serviceResponseText;
-	}
-	public void setServiceResponseText(String serviceResponseText) {
-		this.serviceResponseText = serviceResponseText;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/ConditionalSampling2Var.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/ConditionalSampling2Var.java b/app/models/metadata/ConditionalSampling2Var.java
deleted file mode 100644
index 30a9e24..0000000
--- a/app/models/metadata/ConditionalSampling2Var.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-import java.util.ArrayList;
-
-public class ConditionalSampling2Var {
-	// Physical Variable
-	private String dataSourceP = "";
-	private String variableNameP = "";
-	private String pressureRange1 = "";
-	private String pressureRange2 = "";
-	
-	// Environmental Variable 1
-	private String dataSourceE1 = "";
-	private String variableNameE1 = "";
-	private String bin_min1;
-	private String bin_max1;
-	private String bin_n1;
-	private String customized1;
-	private String enableVarPlev1 = "";
-	
-	// Environmental Variable 2
-	private String dataSourceE2 = "";
-	private String variableNameE2 = "";
-	private String bin_min2;
-	private String bin_max2;
-	private String bin_n2;
-	private String customized2;
-	private String enableVarPlev2 = "";
-	
-	
-	private String startYearMonth = "";
-	private String endYearMonth = "";
-	private String selectMonths = "";
-	private ArrayList<String> month = new ArrayList<String>();
-	private String startLat = "";
-	private String endLat = "";
-	private String startLon = "";
-	private String endLon = "";
-	private String X;
-	private String Y;
-	private String Z;
-	private String executionPurpose = "";
-	private String image = "";
-	private String dataURL = "";
-	private String serviceResponseText = "";
-	
-	public String getDataSourceP() {
-		return dataSourceP;
-	}
-	public void setDataSourceP(String dataSourceP) {
-		this.dataSourceP = dataSourceP;
-	}
-	public String getVariableNameP() {
-		return variableNameP;
-	}
-	public void setVariableNameP(String variableNameP) {
-		this.variableNameP = variableNameP;
-	}
-	public String getPressureRange1() {
-		return pressureRange1;
-	}
-	public void setPressureRange1(String pressureRange1) {
-		this.pressureRange1 = pressureRange1;
-	}
-	public String getDataSourceE1() {
-		return dataSourceE1;
-	}
-	public void setDataSourceE1(String dataSourceE1) {
-		this.dataSourceE1 = dataSourceE1;
-	}
-	public String getVariableNameE1() {
-		return variableNameE1;
-	}
-	public void setVariableNameE1(String variableNameE1) {
-		this.variableNameE1 = variableNameE1;
-	}
-	public String getPressureRange2() {
-		return pressureRange2;
-	}
-	public void setPressureRange2(String pressureRange2) {
-		this.pressureRange2 = pressureRange2;
-	}
-	public String getBin_min1() {
-		return bin_min1;
-	}
-	public void setBin_min1(String bin_min1) {
-		this.bin_min1 = bin_min1;
-	}
-	public String getBin_max1() {
-		return bin_max1;
-	}
-	public void setBin_max1(String bin_max1) {
-		this.bin_max1 = bin_max1;
-	}
-	public String getBin_n1() {
-		return bin_n1;
-	}
-	public void setBin_n1(String bin_n1) {
-		this.bin_n1 = bin_n1;
-	}
-	public String getCustomized1() {
-		return customized1;
-	}
-	public void setCustomized1(String customized1) {
-		this.customized1 = customized1;
-	}
-	public String getDataSourceE2() {
-		return dataSourceE2;
-	}
-	public void setDataSourceE2(String dataSourceE2) {
-		this.dataSourceE2 = dataSourceE2;
-	}
-	public String getVariableNameE2() {
-		return variableNameE2;
-	}
-	public void setVariableNameE2(String variableNameE2) {
-		this.variableNameE2 = variableNameE2;
-	}
-	public String getBin_min2() {
-		return bin_min2;
-	}
-	public void setBin_min2(String bin_min2) {
-		this.bin_min2 = bin_min2;
-	}
-	public String getBin_max2() {
-		return bin_max2;
-	}
-	public void setBin_max2(String bin_max2) {
-		this.bin_max2 = bin_max2;
-	}
-	public String getBin_n2() {
-		return bin_n2;
-	}
-	public void setBin_n2(String bin_n2) {
-		this.bin_n2 = bin_n2;
-	}
-	public String getCustomized2() {
-		return customized2;
-	}
-	public void setCustomized2(String customized2) {
-		this.customized2 = customized2;
-	}
-	public String getStartYearMonth() {
-		return startYearMonth;
-	}
-	public void setStartYearMonth(String startYearMonth) {
-		this.startYearMonth = startYearMonth;
-	}
-	public String getEndYearMonth() {
-		return endYearMonth;
-	}
-	public void setEndYearMonth(String endYearMonth) {
-		this.endYearMonth = endYearMonth;
-	}
-	public String getSelectMonths() {
-		return selectMonths;
-	}
-	public void setSelectMonths(String selectMonths) {
-		this.selectMonths = selectMonths;
-	}
-	public void changeSelectMonths(){
-		if(month.contains("1")&&month.contains("2")&&month.contains("3")&&month.contains("4")&&month.contains("5")&&month.contains("6")&&month.contains("7")&&month.contains("8")&&month.contains("9")&&month.contains("10")&&month.contains("11")&&month.contains("12")){
-			this.selectMonths = "select all";
-		}
-		else if(month.contains("6") && month.contains("7") && month.contains("8")){
-			this.selectMonths = "Summer:Jun-Jul-Aug";
-		}
-		else if(month.contains("9") && month.contains("10") && month.contains("11")){
-			this.selectMonths = "Autumn:Sep-Oct-Nov";
-		}
-		else if(month.contains("12") && month.contains("1") && month.contains("2")){
-			this.selectMonths = "Winter:Dec-Jan-Feb";
-		}
-		else if(month.contains("3") && month.contains("4") && month.contains("5")){
-			this.selectMonths = "Spring:Mar-Apr-May";
-		}
-		else{
-			this.selectMonths = "select none";
-		}
-	}
-	public String getMonth() {
-		return month.toString().replace("[", "").replace("]", "");
-	}
-	public void setMonth(ArrayList<String> month) {
-		this.month = month;
-	}
-	public void addMonth(String oneMonth){
-		month.add(oneMonth);
-	}
-	public String getStartLat() {
-		return startLat;
-	}
-	public void setStartLat(String startLat) {
-		this.startLat = startLat;
-	}
-	public String getEndLat() {
-		return endLat;
-	}
-	public void setEndLat(String endLat) {
-		this.endLat = endLat;
-	}
-	public String getStartLon() {
-		return startLon;
-	}
-	public void setStartLon(String startLon) {
-		this.startLon = startLon;
-	}
-	public String getEndLon() {
-		return endLon;
-	}
-	public void setEndLon(String endLon) {
-		this.endLon = endLon;
-	}
-	public String getX() {
-		return X;
-	}
-	public void setX(String x) {
-		X = x;
-	}
-	public String getY() {
-		return Y;
-	}
-	public void setY(String y) {
-		Y = y;
-	}
-	public String getZ() {
-		return Z;
-	}
-	public void setZ(String z) {
-		Z = z;
-	}
-	public String getExecutionPurpose() {
-		return executionPurpose;
-	}
-	public void setExecutionPurpose(String executionPurpose) {
-		this.executionPurpose = executionPurpose;
-	}
-	public String getImage() {
-		return image;
-	}
-	public void setImage(String image) {
-		this.image = image;
-	}
-	public String getDataURL() {
-		return dataURL;
-	}
-	public void setDataURL(String dataURL) {
-		this.dataURL = dataURL;
-	}
-	public String getServiceResponseText() {
-		return serviceResponseText;
-	}
-	public void setServiceResponseText(String serviceResponseText) {
-		this.serviceResponseText = serviceResponseText;
-	}
-	public String getEnableVarPlev1() {
-		return enableVarPlev1;
-	}
-	public void setEnableVarPlev1(String enableVarPlev1) {
-		this.enableVarPlev1 = enableVarPlev1;
-	}
-	public String getEnableVarPlev2() {
-		return enableVarPlev2;
-	}
-	public void setEnableVarPlev2(String enableVarPlev2) {
-		this.enableVarPlev2 = enableVarPlev2;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/CorrelationMap.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/CorrelationMap.java b/app/models/metadata/CorrelationMap.java
deleted file mode 100644
index f2c0061..0000000
--- a/app/models/metadata/CorrelationMap.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-public class CorrelationMap {
-	
-	// Source 1
-	String source1;
-	String variableName1;
-	String pressureLevel1;
-	String startYear;
-	String startLat;
-	String startLon;
-	
-	// Source 2
-	String source2;
-	String variableName2;
-	String pressureLevel2;
-	String endYear;
-	String endLat;
-	String endLon;
-	
-	String laggedTime;
-	String executionPurpose;
-	String image;
-	String dataUrl;
-	String serviceResponse;
-	
-	
-	public String getSource1() {
-		return source1;
-	}
-	public void setSource1(String source1) {
-		this.source1 = source1;
-	}
-	public String getVariableName1() {
-		return variableName1;
-	}
-	public void setVariableName1(String variableName1) {
-		this.variableName1 = variableName1;
-	}
-	public String getPressureLevel1() {
-		return pressureLevel1;
-	}
-	public void setPressureLevel1(String pressureLevel1) {
-		this.pressureLevel1 = pressureLevel1;
-	}
-	public String getStartYear() {
-		return startYear;
-	}
-	public void setStartYear(String startYear) {
-		this.startYear = startYear;
-	}
-	public String getStartLat() {
-		return startLat;
-	}
-	public void setStartLat(String startLat) {
-		this.startLat = startLat;
-	}
-	public String getStartLon() {
-		return startLon;
-	}
-	public void setStartLon(String startLon) {
-		this.startLon = startLon;
-	}
-	public String getSource2() {
-		return source2;
-	}
-	public void setSource2(String source2) {
-		this.source2 = source2;
-	}
-	public String getVariableName2() {
-		return variableName2;
-	}
-	public void setVariableName2(String variableName2) {
-		this.variableName2 = variableName2;
-	}
-	public String getPressureLevel2() {
-		return pressureLevel2;
-	}
-	public void setPressureLevel2(String pressureLevel2) {
-		this.pressureLevel2 = pressureLevel2;
-	}
-	public String getEndYear() {
-		return endYear;
-	}
-	public void setEndYear(String endYear) {
-		this.endYear = endYear;
-	}
-	public String getEndLat() {
-		return endLat;
-	}
-	public void setEndLat(String endLat) {
-		this.endLat = endLat;
-	}
-	public String getEndLon() {
-		return endLon;
-	}
-	public void setEndLon(String endLon) {
-		this.endLon = endLon;
-	}
-	public String getLaggedTime() {
-		return laggedTime;
-	}
-	public void setLaggedTime(String laggedTime) {
-		this.laggedTime = laggedTime;
-	}
-	public String getExecutionPurpose() {
-		return executionPurpose;
-	}
-	public void setExecutionPurpose(String executionPurpose) {
-		this.executionPurpose = executionPurpose;
-	}
-	public String getImage() {
-		return image;
-	}
-	public void setImage(String image) {
-		this.image = image;
-	}
-	public String getDataURL() {
-		return dataUrl;
-	}
-	public void setDataURL(String dataUrl) {
-		this.dataUrl = dataUrl;
-	}
-	public String getServiceResponseText() {
-		return serviceResponse;
-	}
-	public void setServiceResponseText(String serviceResponse) {
-		this.serviceResponse = serviceResponse;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/DiffPlotTwoTimeAveragedVar.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/DiffPlotTwoTimeAveragedVar.java b/app/models/metadata/DiffPlotTwoTimeAveragedVar.java
deleted file mode 100644
index f6ef290..0000000
--- a/app/models/metadata/DiffPlotTwoTimeAveragedVar.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-public class DiffPlotTwoTimeAveragedVar {
-	String source1;
-	String varibaleName1;
-	String pressureLevel1;
-	String startYear;
-	String startLat;
-	String startLon;
-	
-	String source2;
-	String varibaleName2;
-	String pressureLevel2;
-	String endYear;
-	String endLat;
-	String endLon;
-	
-	String executionPurpose;
-	String image;
-	String dataUrl;
-	String serviceResponse;
-	
-	
-	public String getEndYear() {
-		return endYear;
-	}
-	public void setEndYear(String endYear) {
-		this.endYear = endYear;
-	}
-	public String getEndLat() {
-		return endLat;
-	}
-	public void setEndLat(String endLat) {
-		this.endLat = endLat;
-	}
-	public String getEndLon() {
-		return endLon;
-	}
-	public void setEndLon(String endLon) {
-		this.endLon = endLon;
-	}
-	public String getSource1() {
-		return source1;
-	}
-	public void setSource1(String source1) {
-		this.source1 = source1;
-	}
-	public String getVaribaleName1() {
-		return varibaleName1;
-	}
-	public void setVaribaleName1(String varibaleName1) {
-		this.varibaleName1 = varibaleName1;
-	}
-	public String getPressureLevel1() {
-		return pressureLevel1;
-	}
-	public void setPressureLevel1(String pressureLevel1) {
-		this.pressureLevel1 = pressureLevel1;
-	}
-	public String getStartYear() {
-		return startYear;
-	}
-	public void setStartYear(String startYear) {
-		this.startYear = startYear;
-	}
-	public String getStartLat() {
-		return startLat;
-	}
-	public void setStartLat(String startLat) {
-		this.startLat = startLat;
-	}
-	public String getStartLon() {
-		return startLon;
-	}
-	public void setStartLon(String startLon) {
-		this.startLon = startLon;
-	}
-	public String getSource2() {
-		return source2;
-	}
-	public void setSource2(String source2) {
-		this.source2 = source2;
-	}
-	public String getVaribaleName2() {
-		return varibaleName2;
-	}
-	public void setVaribaleName2(String varibaleName2) {
-		this.varibaleName2 = varibaleName2;
-	}
-	public String getPressureLevel2() {
-		return pressureLevel2;
-	}
-	public void setPressureLevel2(String pressureLevel2) {
-		this.pressureLevel2 = pressureLevel2;
-	}
-	public String getExecutionPurpose() {
-		return executionPurpose;
-	}
-	public void setExecutionPurpose(String executionPurpose) {
-		this.executionPurpose = executionPurpose;
-	}
-	public String getImage() {
-		return image;
-	}
-	public void setImage(String image) {
-		this.image = image;
-	}
-	public String getDataUrl() {
-		return dataUrl;
-	}
-	public void setDataUrl(String dataUrl) {
-		this.dataUrl = dataUrl;
-	}
-	public String getServiceResponse() {
-		return serviceResponse;
-	}
-	public void setServiceResponse(String serviceResponse) {
-		this.serviceResponse = serviceResponse;
-	}
-	
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/RegridAndDownload.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/RegridAndDownload.java b/app/models/metadata/RegridAndDownload.java
deleted file mode 100644
index 935d8a6..0000000
--- a/app/models/metadata/RegridAndDownload.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-public class RegridAndDownload {
-	private String dataSource = "";
-	private String variableName = "";
-	private String startYearMonth = "";
-	private String endYearMonth = "";
-	private String startLat = "";
-	private String endLat = "";
-	private String deltaLat = "";
-	private String startLon = "";
-	private String endLon = "";
-	private String deltaLon = "";
-	private String pressureLevel = "";
-	private String executionPurpose = "";
-	private String dataURL = "";
-	private String serviceResponseText = "";
-	
-	public String getVariableName() {
-		return variableName;
-	}
-	public void setVariableName(String variableName) {
-		this.variableName = variableName;
-	}
-	public String getStartYearMonth() {
-		return startYearMonth;
-	}
-	public void setStartYearMonth(String startYearMonth) {
-		this.startYearMonth = startYearMonth;
-	}
-	public String getEndYearMonth() {
-		return endYearMonth;
-	}
-	public void setEndYearMonth(String endYearMonth) {
-		this.endYearMonth = endYearMonth;
-	}
-	public String getStartLat() {
-		return startLat;
-	}
-	public void setStartLat(String startLat) {
-		this.startLat = startLat;
-	}
-	public String getEndLat() {
-		return endLat;
-	}
-	public void setEndLat(String endLat) {
-		this.endLat = endLat;
-	}
-	public String getDeltaLat() {
-		return deltaLat;
-	}
-	public void setDeltaLat(String deltaLat) {
-		this.deltaLat = deltaLat;
-	}
-	public String getStartLon() {
-		return startLon;
-	}
-	public void setStartLon(String startLon) {
-		this.startLon = startLon;
-	}
-	public String getEndLon() {
-		return endLon;
-	}
-	public void setEndLon(String endLon) {
-		this.endLon = endLon;
-	}
-	public String getDeltaLon() {
-		return deltaLon;
-	}
-	public void setDeltaLon(String deltaLon) {
-		this.deltaLon = deltaLon;
-	}
-	public String getPressureLevel() {
-		return pressureLevel;
-	}
-	public void setPressureLevel(String pressureLevel) {
-		this.pressureLevel = pressureLevel;
-	}
-	public String getExecutionPurpose() {
-		return executionPurpose;
-	}
-	public void setExecutionPurpose(String executionPurpose) {
-		this.executionPurpose = executionPurpose;
-	}
-	public String getDataURL() {
-		return dataURL;
-	}
-	public void setDataURL(String dataURL) {
-		this.dataURL = dataURL;
-	}
-	public String getServiceResponseText() {
-		return serviceResponseText;
-	}
-	public void setServiceResponseText(String serviceResponseText) {
-		this.serviceResponseText = serviceResponseText;
-	}		
-	public String getDataSource() {
-		return dataSource;
-	}
-	public void setDataSource(String dataSource) {
-		this.dataSource = dataSource;
-	}
-	
-	
-	
-	
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/ScatterHistogramTwoVar.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/ScatterHistogramTwoVar.java b/app/models/metadata/ScatterHistogramTwoVar.java
deleted file mode 100644
index abcbcd3..0000000
--- a/app/models/metadata/ScatterHistogramTwoVar.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-public class ScatterHistogramTwoVar {
-
-	String source1;
-	String varibaleName1;
-	String pressureLevel1;
-	String startYear;
-	String startLat;
-	String startLon;
-	
-	String source2;
-	String varibaleName2;
-	String pressureLevel2;
-	String endYear;
-	String endLat;
-	String endLon;
-	
-	String samples;
-	String executionPurpose;
-	String image;
-	String dataUrl;
-	String serviceResponse;
-	
-	
-	public String getEndYear() {
-		return endYear;
-	}
-	public void setEndYear(String endYear) {
-		this.endYear = endYear;
-	}
-	public String getEndLat() {
-		return endLat;
-	}
-	public void setEndLat(String endLat) {
-		this.endLat = endLat;
-	}
-	public String getEndLon() {
-		return endLon;
-	}
-	public void setEndLon(String endLon) {
-		this.endLon = endLon;
-	}
-	public String getSource1() {
-		return source1;
-	}
-	public void setSource1(String source1) {
-		this.source1 = source1;
-	}
-	public String getVaribaleName1() {
-		return varibaleName1;
-	}
-	public void setVaribaleName1(String varibaleName1) {
-		this.varibaleName1 = varibaleName1;
-	}
-	public String getPressureLevel1() {
-		return pressureLevel1;
-	}
-	public void setPressureLevel1(String pressureLevel1) {
-		this.pressureLevel1 = pressureLevel1;
-	}
-	public String getStartYear() {
-		return startYear;
-	}
-	public void setStartYear(String startYear) {
-		this.startYear = startYear;
-	}
-	public String getStartLat() {
-		return startLat;
-	}
-	public void setStartLat(String startLat) {
-		this.startLat = startLat;
-	}
-	public String getStartLon() {
-		return startLon;
-	}
-	public void setStartLon(String startLon) {
-		this.startLon = startLon;
-	}
-	public String getSource2() {
-		return source2;
-	}
-	public void setSource2(String source2) {
-		this.source2 = source2;
-	}
-	public String getVaribaleName2() {
-		return varibaleName2;
-	}
-	public void setVaribaleName2(String varibaleName2) {
-		this.varibaleName2 = varibaleName2;
-	}
-	public String getPressureLevel2() {
-		return pressureLevel2;
-	}
-	public void setPressureLevel2(String pressureLevel2) {
-		this.pressureLevel2 = pressureLevel2;
-	}
-	public String getSamples() {
-		return samples;
-	}
-	public void setSamples(String samples) {
-		this.samples = samples;
-	}
-	public String getExecutionPurpose() {
-		return executionPurpose;
-	}
-	public void setExecutionPurpose(String executionPurpose) {
-		this.executionPurpose = executionPurpose;
-	}
-	public String getImage() {
-		return image;
-	}
-	public void setImage(String image) {
-		this.image = image;
-	}
-	public String getDataUrl() {
-		return dataUrl;
-	}
-	public void setDataUrl(String dataUrl) {
-		this.dataUrl = dataUrl;
-	}
-	public String getServiceResponse() {
-		return serviceResponse;
-	}
-	public void setServiceResponse(String serviceResponse) {
-		this.serviceResponse = serviceResponse;
-	}
-	
-	
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/ServiceLog.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/ServiceLog.java b/app/models/metadata/ServiceLog.java
deleted file mode 100644
index 830362e..0000000
--- a/app/models/metadata/ServiceLog.java
+++ /dev/null
@@ -1,504 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import play.Logger;
-import util.APICall;
-import util.Constants;
-import java.io.UnsupportedEncodingException;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-public class ServiceLog {
-
-	private String serviceExecutionLogId;
-	private String serviceId;
-	private String serviceName;
-	private String userId;
-	private String purpose;
-	private String serviceConfigurationId;
-	private String datasetLogId;
-	private String executionStartTime;
-	private String executionEndTime;
-	private String dataSetStartTime;
-	private String dataSetEndTime;
-	
-	
-	public String getServiceExecutionLogId() {
-		return serviceExecutionLogId;
-	}
-
-	public void setServiceExecutionLogId(String serviceExecutionLogId) {
-		this.serviceExecutionLogId = serviceExecutionLogId;
-	}
-
-	public String getServiceId() {
-		return serviceId;
-	}
-
-	public void setServiceId(String serviceId) {
-		this.serviceId = serviceId;
-	}
-
-	public String getUserId() {
-		return userId;
-	}
-
-	public void setUserId(String userId) {
-		this.userId = userId;
-	}
-
-	public String getPurpose() {
-		return purpose;
-	}
-
-	public void setPurpose(String purpose) {
-		this.purpose = purpose;
-	}
-
-	public String getServiceConfigurationId() {
-		return serviceConfigurationId;
-	}
-
-	public void setServiceConfigurationId(String serviceConfigurationId) {
-		this.serviceConfigurationId = serviceConfigurationId;
-	}
-
-	public String getDatasetLogId() {
-		return datasetLogId;
-	}
-
-	public void setDatasetLogId(String datasetLogId) {
-		this.datasetLogId = datasetLogId;
-	}
-
-	public String getExecutionStartTime() {
-		return executionStartTime;
-	}
-
-	public void setExecutionStartTime(String executionStartTime) {
-		this.executionStartTime = executionStartTime;
-	}
-	
-	public String getExecutionEndTime() {
-		return executionEndTime;
-	}
-
-	public void setExecutionEndTime(String executionEndTime) {
-		this.executionEndTime = executionEndTime;
-	}
-	
-	public String getDataSetStartTime() {
-		return dataSetStartTime;
-	}
-
-	public void setDataSetStartTime(String dataSetStartTime) {
-		this.dataSetStartTime = dataSetStartTime;
-	}
-	
-	public String getDataSetEndTime() {
-		return dataSetEndTime;
-	}
-
-	public void setDataSetEndTime(String dataSetEndTime) {
-		this.dataSetEndTime = dataSetEndTime;
-	}	
-
-	public String getServiceName() {
-		return serviceName;
-	}
-
-	public void setServiceName(String serviceName) {
-		this.serviceName = serviceName;
-	}
-
-	private static final String GET_ALL_SERVICE_LOG = Constants.NEW_BACKEND + Constants.SERVICE_EXECUTION_LOG
-			+ util.Constants.NEW_GET_ALL_SERVICE_LOG;
-
-	private static final String GET_A_SERVICE_LOG = Constants.NEW_BACKEND
-			+ Constants.NEW_GET_A_SERVICE_LOG;
-
-	private static final String EXECUTION_LOG_QUERY = Constants.NEW_BACKEND + Constants.SERVICE_EXECUTION_LOG + Constants.SERVICE_EXECUTION_LOG_QUERY;
-
-	/**
-	 * Generate the list of all service log
-	 *
-	 * @return a list of all the service log
-	 */
-	public static List<ServiceLog> all() {
-
-		List<ServiceLog> serviceLog = new ArrayList<ServiceLog>();
-
-		JsonNode serviceLogNode = APICall
-				.callAPI(GET_ALL_SERVICE_LOG);
-
-		if (serviceLogNode == null || serviceLogNode.has("error")
-				|| !serviceLogNode.isArray()) {
-			return serviceLog;
-		}
-
-		for (int i = 0; i < serviceLogNode.size(); i++) {
-			JsonNode json = serviceLogNode.path(i);
-
-			ServiceLog newServiceLog = deserializeJsonToServiceLog(json);
-			serviceLog.add(newServiceLog);
-		}
-		return serviceLog;
-	}
-	
-	private static ServiceLog deserializeJsonToServiceLog(JsonNode json) {
-		ServiceLog newServiceLog = new ServiceLog();
-		newServiceLog.setServiceExecutionLogId(json.get(
-				"id").asText());
-		newServiceLog.setServiceId(json.get(
-				"climateService").get("id").asText());
-		newServiceLog.setServiceName(json.get("climateService").get("name").asText());
-		newServiceLog.setPurpose(json.get("purpose").asText());
-		newServiceLog.setUserId(json.get("user").get("firstName").asText()+" "+json.get("user").get("lastName").asText());
-		newServiceLog.setServiceConfigurationId(json.get("serviceConfiguration").get("id").asText());
-		String executionStartTime = json.findPath("executionStartTime").asText();
-		String executionEndTime = json.findPath("executionEndTime").asText();	
-		String datasetStudyStartTime = json.findPath("datasetStudyStartTime").asText();
-		String datasetStudyEndTime = json.findPath("datasetStudyEndTime").asText();
-		Date tmpTime = null;
-		
-		try {
-			tmpTime = (new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a")).parse(executionStartTime);		
-			if (tmpTime != null) {
-				newServiceLog.setExecutionStartTime(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(tmpTime));
-			}
-	    } catch (ParseException e) {	    
-	    }
-		
-		try {
-			tmpTime = (new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a")).parse(executionEndTime);			
-			if (tmpTime != null) {
-				newServiceLog.setExecutionEndTime(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(tmpTime));
-			}
-	    } catch (ParseException e) {	    
-	    }
-		
-		try {
-			tmpTime = (new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a")).parse(datasetStudyStartTime);
-			
-			if (tmpTime != null) {
-				newServiceLog.setDataSetStartTime(new SimpleDateFormat("YYYYMM").format(tmpTime));
-			}
-	    } catch (ParseException e){	    
-
-	    }
-		
-		try {
-			tmpTime = (new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a")).parse(datasetStudyEndTime);
-			
-			if (tmpTime != null) {
-				newServiceLog.setDataSetEndTime(new SimpleDateFormat("YYYYMM").format(tmpTime));
-			}
-	    } catch (ParseException e){	    
-
-	    }
-
-		newServiceLog.setDatasetLogId(json.findPath("datasetLogId").asText());
-
-		return newServiceLog;
-	}
-
-
-	/**
-	 * Generate a new list of all service log which sync userId according to the porpose
-	 * 
-	 * @return a list of all the service log
-	 */
-	public static List<ServiceLog> syncDataByPurpose() {
-		APICall.callAPI(Constants.NEW_BACKEND+Constants.SERVICE_EXECUTION_LOG+"replaceUser");
-
-		return all();
-	}
-	public static List<ServiceLog> searchDataSource(String dataSource){
-		List<ServiceLog> serviceLog = new ArrayList<ServiceLog>();
-
-		JsonNode serviceLogNode = APICall
-				.callAPI("http://localhost:9008/searchServiceLogsWithParameter/model/"+dataSource+"/json");
-		if (serviceLogNode == null || serviceLogNode.has("error")
-				|| !serviceLogNode.isArray()) {
-			return serviceLog;
-		}
-
-		for (int i = 0; i < serviceLogNode.size(); i++) {
-			JsonNode json = serviceLogNode.path(i);
-			ServiceLog newServiceLog = deserializeJsonToServiceLog(json);
-			serviceLog.add(newServiceLog);
-		}
-		return serviceLog;
-	}
-
-	public static List<ServiceLog> searchVariableName(String variableName) {
-		List<ServiceLog> serviceLog = new ArrayList<ServiceLog>();
-
-		JsonNode serviceLogNode = APICall
-				.callAPI("http://localhost:9008/searchServiceLogsWithParameter/var/"+variableName+"/json");
-
-		Logger.info(serviceLogNode.toString());
-		if (serviceLogNode == null || serviceLogNode.has("error")
-				|| !serviceLogNode.isArray()) {
-			return serviceLog;
-		}
-
-		for (int i = 0; i < serviceLogNode.size(); i++) {
-			JsonNode json = serviceLogNode.path(i);
-			ServiceLog newServiceLog = deserializeJsonToServiceLog(json);
-			serviceLog.add(newServiceLog);
-		}
-		return serviceLog;
-	}
-
-	public static List<ServiceLog> searchExecutionPurpose(String purpose) {
-		List<ServiceLog> serviceLog = new ArrayList<ServiceLog>();
-
-		JsonNode serviceLogNode = APICall
-				.callAPIParameter("http://localhost:9008/getExecutionLogByPurpose", "purpose", purpose);
-
-		Logger.info(serviceLogNode.toString());
-		if (serviceLogNode == null || serviceLogNode.has("error")
-				|| !serviceLogNode.isArray()) {
-			return serviceLog;
-		}
-		
-		for (int i = 0; i < serviceLogNode.size(); i++) {
-			JsonNode json = serviceLogNode.path(i);
-			ServiceLog newServiceLog = deserializeJsonToServiceLog(json);
-			serviceLog.add(newServiceLog);
-		}
-		return serviceLog;
-	}
-
-	public static List<ServiceLog> searchUserId(String userId) {
-		List<ServiceLog> serviceLog = new ArrayList<ServiceLog>();
-
-		JsonNode serviceLogNode = APICall
-				.callAPI("http://localhost:9008/searchServiceLogsWithParameter/" + userId + "/json");
-		Logger.info(serviceLogNode.toString());
-		if (serviceLogNode == null || serviceLogNode.has("error")
-				|| !serviceLogNode.isArray()) {
-			return serviceLog;
-		}
-
-		for (int i = 0; i < serviceLogNode.size(); i++) {
-			JsonNode json = serviceLogNode.path(i);
-			ServiceLog newServiceLog = deserializeJsonToServiceLog(json);
-			serviceLog.add(newServiceLog);
-		}
-		return serviceLog;
-	}
-
-	public static List<ServiceLog> searchTime(String start, String end) {
-		List<ServiceLog> serviceLog = new ArrayList<ServiceLog>();
-
-		JsonNode serviceLogNode = APICall
-				.callAPI("http://localhost:9008/searchServiceLogsWithParameterRange/startT/"+start+"/endT/"+end+"/json");
-		Logger.info(serviceLogNode.toString());
-		if (serviceLogNode == null || serviceLogNode.has("error")
-				|| !serviceLogNode.isArray()) {
-			return serviceLog;
-		}
-
-		for (int i = 0; i < serviceLogNode.size(); i++) {
-			JsonNode json = serviceLogNode.path(i);
-			ServiceLog newServiceLog = deserializeJsonToServiceLog(json);
-			serviceLog.add(newServiceLog);
-		}
-		return serviceLog;
-	}
-
-	public static List<ServiceLog> searchLatitude(String start, String end) {
-		List<ServiceLog> serviceLog = new ArrayList<ServiceLog>();
-
-		JsonNode serviceLogNode = APICall
-				.callAPI("http://localhost:9008/searchServiceLogsWithParameterRange/start%20lat%20(deg)/" + start + "/end%20lat%20(deg)/" + end + "/json");
-
-		Logger.info(serviceLogNode.toString());
-		if (serviceLogNode == null || serviceLogNode.has("error")
-				|| !serviceLogNode.isArray()) {
-			return serviceLog;
-		}
-
-		for (int i = 0; i < serviceLogNode.size(); i++) {
-			JsonNode json = serviceLogNode.path(i);
-			ServiceLog newServiceLog = deserializeJsonToServiceLog(json);
-			serviceLog.add(newServiceLog);
-		}
-		return serviceLog;
-	}
-
-	public static List<ServiceLog> searchMultiDimension(String dataSource, String variableName, String executionPurpose, String userId, String startTime, String endTime) {
-		List<ServiceLog> serviceLog = new ArrayList<ServiceLog>();
-
-		if (dataSource.equals("")) {
-			dataSource = "null";
-		}
-		if (variableName.equals("")) {
-			variableName = "null";
-		}
-		if (executionPurpose.equals("")) {
-			executionPurpose = "null";
-		}
-		if (userId.equals("")) {
-			userId = "null";
-		}
-		if (startTime.equals("")) {
-			startTime = "null";
-		}
-		if (endTime.equals("")) {
-			endTime = "null";
-		}
-		JsonNode serviceLogNode = APICall
-				.callAPI("http://localhost:9008/searchServiceLogsWithMultipleParameter/userid/" + userId + "/datasource/" + dataSource + "/variablename/" + variableName + "/startyearmonth/" + startTime + "/endyearmonth/" + endTime + "/executionpurpose/" + executionPurpose + "/json");
-
-		Logger.info(serviceLogNode.toString());
-		if (serviceLogNode == null || serviceLogNode.has("error")
-				|| !serviceLogNode.isArray()) {
-			return serviceLog;
-		}
-
-		for (int i = 0; i < serviceLogNode.size(); i++) {
-			JsonNode json = serviceLogNode.path(i);
-			ServiceLog newServiceLog = deserializeJsonToServiceLog(json);
-			serviceLog.add(newServiceLog);
-		}
-		return serviceLog;
-	}
-
-	public static List<ServiceLog> search(String userId, long startTime, long endTime) {
-
-		List<ServiceLog> serviceLog = new ArrayList<ServiceLog>();
-
-		startTime = startTime / 1000;
-		endTime = endTime / 1000;
-
-		JsonNode serviceLogNode = APICall
-				.callAPI(GET_A_SERVICE_LOG + userId + "/" + startTime + "" + "/" + endTime + "" + "/" + util.Constants.FORMAT);
-
-		if (serviceLogNode == null || serviceLogNode.has("error")
-				|| !serviceLogNode.isArray()) {
-			return serviceLog;
-		}
-
-		for (int i = 0; i < serviceLogNode.size(); i++) {
-			JsonNode json = serviceLogNode.path(i);
-			ServiceLog newServiceLog = deserializeJsonToServiceLog(json);
-			serviceLog.add(newServiceLog);
-		}
-		return serviceLog;
-	}
-
-	/**
-	 * Delete a service log
-	 *
-	 * @return
-	 */
-	public static JsonNode deleteServiceLog(String confId) throws UnsupportedEncodingException {
-		return APICall.deleteAPI(Constants.NEW_BACKEND + "serviceExecutionLog/deleteServiceExecutionLogs/"+confId);
-	}
-
-	/**
-	 * Generate a list of climate service names
-	 *
-	 * @return a list of climate service names
-	 */
-	public static List<String> allServiceId() {
-		List<ServiceLog> allList = all();
-		List<String> resultList = new ArrayList<String>();
-		for (ServiceLog element : allList) {
-			String elementName = element.getServiceId();
-			if (elementName != null)
-				resultList.add(elementName);
-		}
-		return resultList;
-	}
-
-	/**
-	 * Search Service Execution Logs in the backend. All parameters are optional
-	 * Actually used in the search page
-	 *
-	 * @param userId
-	 * @param startTime
-	 * @param endTime
-	 * @param executionPurpose
-	 * @param parameters       A key-value pair list of all parameters that hosted by service configuration item including data source , variable name, dataset start/end time
-	 * @return
-	 */
-	
-	
-	public static List<ServiceLog> queryExecutionLogs(String userId, Date startTime, Date endTime, String executionPurpose, String dataSetStartTime, String dataSetEndTime, Map<String, String> parameters) {
-		
-		List<ServiceLog> serviceLog = new ArrayList<ServiceLog>();
-		ObjectMapper mapper = new ObjectMapper();
-		ObjectNode queryJson = mapper.createObjectNode();
-		if (userId != null && !userId.isEmpty()) {
-			queryJson.put("userId", userId);
-		}
-		if (startTime != null ) {
-			queryJson.put("executionStartTime", startTime.getTime());
-		}
-		if (endTime != null) {
-			queryJson.put("executionEndTime", endTime.getTime());
-		}
-		if (dataSetStartTime != null) {
-			queryJson.put("dataSetStartTime", dataSetStartTime);
-		}
-		if (dataSetEndTime != null) {
-			queryJson.put("dataSetEndTime", dataSetEndTime);
-		}
-		if (executionPurpose != null && !executionPurpose.isEmpty()) {
-			queryJson.put("purpose", executionPurpose);
-		}
-
-		if (parameters != null) {
-			ObjectNode paramsNode = mapper.createObjectNode();
-			for (String paramName : parameters.keySet()) {
-				String paramValue = parameters.get(paramName);
-				if (paramValue != null && !paramValue.isEmpty())
-					paramsNode.put(paramName, paramValue);
-			}
-			if (paramsNode.size() > 0) {
-				queryJson.set("parameters", paramsNode);
-			}
-		}
-
-		JsonNode serviceLogNode = APICall.postAPI(EXECUTION_LOG_QUERY, queryJson);
-		if (serviceLogNode == null || serviceLogNode.has("error")
-				|| !serviceLogNode.isArray()) {
-			return serviceLog;
-		}
-
-		for (int i = 0; i < serviceLogNode.size(); i++) {
-			JsonNode json = serviceLogNode.path(i);
-			ServiceLog newServiceLog = deserializeJsonToServiceLog(json);
-			serviceLog.add(newServiceLog);
-		}
-		return serviceLog;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/ThreeDVar2DSlice.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/ThreeDVar2DSlice.java b/app/models/metadata/ThreeDVar2DSlice.java
deleted file mode 100644
index 66d24ab..0000000
--- a/app/models/metadata/ThreeDVar2DSlice.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-import java.util.ArrayList;
-
-public class ThreeDVar2DSlice {
-	private String dataSource = "";
-	private String variableName = "";
-	private String startYearMonth = "";
-	private String endYearMonth = "";
-	private String selectMonths = "";
-	private String pressureLevel = "";
-	private ArrayList<String> month = new ArrayList<String>();
-	private String startLat = "";
-	private String endLat = "";
-	private String startLon = "";
-	private String endLon = "";
-	private String colorScale = "";
-	private String executionPurpose = "";
-	private String image = "";
-	private String dataURL = "";
-	private String serviceResponseText = "";
-	
-	public String getPressureLevel() {
-		return pressureLevel;
-	}
-	public void setPressureLevel(String pressureLevel) {
-		this.pressureLevel = pressureLevel;
-	}
-	public String getStartLon() {
-		return startLon;
-	}
-	public void setStartLon(String startLon) {
-		this.startLon = startLon;
-	}
-	public String getEndLon() {
-		return endLon;
-	}
-	public void setEndLon(String endLon) {
-		this.endLon = endLon;
-	}
-	public String getColorScale() {
-		return colorScale;
-	}
-	public void setColorScale(String colorScale) {
-		this.colorScale = colorScale;
-	}
-	public String getDataSource() {
-		return dataSource;
-	}
-	public void setDataSource(String dataSource) {
-		this.dataSource = dataSource;
-	}
-	public String getVariableName() {
-		return variableName;
-	}
-	public void setVariableName(String variableName) {
-		this.variableName = variableName;
-	}
-	public String getStartYearMonth() {
-		return startYearMonth;
-	}
-	public void setStartYearMonth(String startYearMonth) {
-		this.startYearMonth = startYearMonth;
-	}
-	public String getEndYearMonth() {
-		return endYearMonth;
-	}
-	public void setEndYearMonth(String endYearMonth) {
-		this.endYearMonth = endYearMonth;
-	}
-	public String getSelectMonths() {
-		return selectMonths;
-	}
-	public void setSelectMonths(String selectMonths) {
-		this.selectMonths = selectMonths;
-	}
-	public void changeSelectMonths(){
-
-		if(month.contains("1")&&month.contains("2")&&month.contains("3")&&month.contains("4")&&month.contains("5")&&month.contains("6")&&month.contains("7")&&month.contains("8")&&month.contains("9")&&month.contains("10")&&month.contains("11")&&month.contains("12")){
-			this.selectMonths = "select all";
-		}
-		else if(month.contains("6") && month.contains("7") && month.contains("8")){
-			this.selectMonths = "Summer:Jun-Jul-Aug";
-		}
-		else if(month.contains("9") && month.contains("10") && month.contains("11")){
-			this.selectMonths = "Autumn:Sep-Oct-Nov";
-		}
-		else if(month.contains("12") && month.contains("1") && month.contains("2")){
-			this.selectMonths = "Winter:Dec-Jan-Feb";
-		}
-		else if(month.contains("3") && month.contains("4") && month.contains("5")){
-			this.selectMonths = "Spring:Mar-Apr-May";
-		}
-		else{
-			this.selectMonths = "select none";
-		}
-		
-	}
-	public String getMonth() {
-		return month.toString().replace("[", "").replace("]", "");
-	}
-	public void setMonth(ArrayList<String> month) {
-		this.month = month;
-	}
-	public void addMonth(String oneMonth){
-		month.add(oneMonth);
-	}
-	public String getStartLat() {
-		return startLat;
-	}
-	public void setStartLat(String startLat) {
-		this.startLat = startLat;
-	}
-	public String getEndLat() {
-		return endLat;
-	}
-	public void setEndLat(String endLat) {
-		this.endLat = endLat;
-	}
-	public String getExecutionPurpose() {
-		return executionPurpose;
-	}
-	public void setExecutionPurpose(String executionPurpose) {
-		this.executionPurpose = executionPurpose;
-	}
-	public String getImage() {
-		return image;
-	}
-	public void setImage(String image) {
-		this.image = image;
-	}
-	public String getDataURL() {
-		return dataURL;
-	}
-	public void setDataURL(String dataURL) {
-		this.dataURL = dataURL;
-	}
-	public String getServiceResponseText() {
-		return serviceResponseText;
-	}
-	public void setServiceResponseText(String serviceResponseText) {
-		this.serviceResponseText = serviceResponseText;
-	}
-	
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/ThreeDVarAvgVertical4Profile.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/ThreeDVarAvgVertical4Profile.java b/app/models/metadata/ThreeDVarAvgVertical4Profile.java
deleted file mode 100644
index c3b6ecf..0000000
--- a/app/models/metadata/ThreeDVarAvgVertical4Profile.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-import java.util.ArrayList;
-
-public class ThreeDVarAvgVertical4Profile {
-
-	private String dataSource = "";
-	private String variableName = "";
-	private String startYearMonth = "";
-	private String endYearMonth = "";
-	private String selectMonths = "";
-	private ArrayList<String> month = new ArrayList<String>();
-	private String startLat = "";
-	private String endLat = "";
-	private String startLon = "";
-	private String endLon = "";
-	private String pressureLevelScale = "";
-	private String variableScale = "";
-	private String executionPurpose = "";
-	private String image = "";
-	private String dataURL = "";
-	private String serviceResponseText = "";
-	
-	
-	public String getStartLon() {
-		return startLon;
-	}
-	public void setStartLon(String startLon) {
-		this.startLon = startLon;
-	}
-	public String getEndLon() {
-		return endLon;
-	}
-	public void setEndLon(String endLon) {
-		this.endLon = endLon;
-	}
-	public String getPressureLevelScale() {
-		return pressureLevelScale;
-	}
-	public void setPressureLevelScale(String pressureLevelScale) {
-		this.pressureLevelScale = pressureLevelScale;
-	}
-	public String getDataSource() {
-		return dataSource;
-	}
-	public void setDataSource(String dataSource) {
-		this.dataSource = dataSource;
-	}
-	public String getVariableName() {
-		return variableName;
-	}
-	public void setVariableName(String variableName) {
-		this.variableName = variableName;
-	}
-	public String getStartYearMonth() {
-		return startYearMonth;
-	}
-	public void setStartYearMonth(String startYearMonth) {
-		this.startYearMonth = startYearMonth;
-	}
-	public String getEndYearMonth() {
-		return endYearMonth;
-	}
-	public void setEndYearMonth(String endYearMonth) {
-		this.endYearMonth = endYearMonth;
-	}
-	public String getSelectMonths() {
-		return selectMonths;
-	}
-	public void setSelectMonths(String selectMonths) {
-		this.selectMonths = selectMonths;
-	}
-	public void changeSelectMonths(){
-
-		if(month.contains("1")&&month.contains("2")&&month.contains("3")&&month.contains("4")&&month.contains("5")&&month.contains("6")&&month.contains("7")&&month.contains("8")&&month.contains("9")&&month.contains("10")&&month.contains("11")&&month.contains("12")){
-			this.selectMonths = "select all";
-		}
-		else if(month.contains("6") && month.contains("7") && month.contains("8")){
-			this.selectMonths = "Summer:Jun-Jul-Aug";
-		}
-		else if(month.contains("9") && month.contains("10") && month.contains("11")){
-			this.selectMonths = "Autumn:Sep-Oct-Nov";
-		}
-		else if(month.contains("12") && month.contains("1") && month.contains("2")){
-			this.selectMonths = "Winter:Dec-Jan-Feb";
-		}
-		else if(month.contains("3") && month.contains("4") && month.contains("5")){
-			this.selectMonths = "Spring:Mar-Apr-May";
-		}
-		else{
-			this.selectMonths = "select none";
-		}
-		
-	}
-	public String getMonth() {
-		return month.toString().replace("[", "").replace("]", "");
-	}
-	public void setMonth(ArrayList<String> month) {
-		this.month = month;
-	}
-	public void addMonth(String oneMonth){
-		month.add(oneMonth);
-	}
-	public String getStartLat() {
-		return startLat;
-	}
-	public void setStartLat(String startLat) {
-		this.startLat = startLat;
-	}
-	public String getEndLat() {
-		return endLat;
-	}
-	public void setEndLat(String endLat) {
-		this.endLat = endLat;
-	}
-	public String getVariableScale() {
-		return variableScale;
-	}
-	public void setVariableScale(String variableScale) {
-		this.variableScale = variableScale;
-	}
-	public String getExecutionPurpose() {
-		return executionPurpose;
-	}
-	public void setExecutionPurpose(String executionPurpose) {
-		this.executionPurpose = executionPurpose;
-	}
-	public String getImage() {
-		return image;
-	}
-	public void setImage(String image) {
-		this.image = image;
-	}
-	public String getDataURL() {
-		return dataURL;
-	}
-	public void setDataURL(String dataURL) {
-		this.dataURL = dataURL;
-	}
-	public String getServiceResponseText() {
-		return serviceResponseText;
-	}
-	public void setServiceResponseText(String serviceResponseText) {
-		this.serviceResponseText = serviceResponseText;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/ThreeDVarZonalMean.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/ThreeDVarZonalMean.java b/app/models/metadata/ThreeDVarZonalMean.java
deleted file mode 100644
index 98eb959..0000000
--- a/app/models/metadata/ThreeDVarZonalMean.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-import java.util.ArrayList;
-
-public class ThreeDVarZonalMean {
-	private String dataSource = "";
-	private String variableName = "";
-	private String startYearMonth = "";
-	private String endYearMonth = "";
-	private String pressureRange = "";
-	private String selectMonths = "";
-	private ArrayList<String> month = new ArrayList<String>();
-	private String startLat = "";
-	private String endLat = "";
-	private String pressureScale = "";
-	private String colorScale = "";
-	private String executionPurpose = "";
-	private String image = "";
-	private String dataURL = "";
-	private String serviceResponseText = "";
-	
-	
-	public String getPressureRange() {
-		return pressureRange;
-	}
-	public void setPressureRange(String pressureRange) {
-		this.pressureRange = pressureRange;
-	}
-	public String getPressureScale() {
-		return pressureScale;
-	}
-	public void setPressureScale(String pressureScale) {
-		this.pressureScale = pressureScale;
-	}
-	public String getColorScale() {
-		return colorScale;
-	}
-	public void setColorScale(String colorScale) {
-		this.colorScale = colorScale;
-	}
-	public String getDataSource() {
-		return dataSource;
-	}
-	public void setDataSource(String dataSource) {
-		this.dataSource = dataSource;
-	}
-	public String getVariableName() {
-		return variableName;
-	}
-	public void setVariableName(String variableName) {
-		this.variableName = variableName;
-	}
-	public String getStartYearMonth() {
-		return startYearMonth;
-	}
-	public void setStartYearMonth(String startYearMonth) {
-		this.startYearMonth = startYearMonth;
-	}
-	public String getEndYearMonth() {
-		return endYearMonth;
-	}
-	public void setEndYearMonth(String endYearMonth) {
-		this.endYearMonth = endYearMonth;
-	}
-	public String getSelectMonths() {
-		return selectMonths;
-	}
-	public void setSelectMonths(String selectMonths) {
-		this.selectMonths = selectMonths;
-	}
-	public void changeSelectMonths(){
-
-		if(month.contains("1")&&month.contains("2")&&month.contains("3")&&month.contains("4")&&month.contains("5")&&month.contains("6")&&month.contains("7")&&month.contains("8")&&month.contains("9")&&month.contains("10")&&month.contains("11")&&month.contains("12")){
-			this.selectMonths = "select all";
-		}
-		else if(month.contains("6") && month.contains("7") && month.contains("8")){
-			this.selectMonths = "Summer:Jun-Jul-Aug";
-		}
-		else if(month.contains("9") && month.contains("10") && month.contains("11")){
-			this.selectMonths = "Autumn:Sep-Oct-Nov";
-		}
-		else if(month.contains("12") && month.contains("1") && month.contains("2")){
-			this.selectMonths = "Winter:Dec-Jan-Feb";
-		}
-		else if(month.contains("3") && month.contains("4") && month.contains("5")){
-			this.selectMonths = "Spring:Mar-Apr-May";
-		}
-		else{
-			this.selectMonths = "select none";
-		}
-		
-	}
-	public String getMonth() {
-		return month.toString().replace("[", "").replace("]", "");
-	}
-	public void setMonth(ArrayList<String> month) {
-		this.month = month;
-	}
-	public void addMonth(String oneMonth){
-		month.add(oneMonth);
-	}
-	public String getStartLat() {
-		return startLat;
-	}
-	public void setStartLat(String startLat) {
-		this.startLat = startLat;
-	}
-	public String getEndLat() {
-		return endLat;
-	}
-	public void setEndLat(String endLat) {
-		this.endLat = endLat;
-	}
-	public String getExecutionPurpose() {
-		return executionPurpose;
-	}
-	public void setExecutionPurpose(String executionPurpose) {
-		this.executionPurpose = executionPurpose;
-	}
-	public String getImage() {
-		return image;
-	}
-	public void setImage(String image) {
-		this.image = image;
-	}
-	public String getDataURL() {
-		return dataURL;
-	}
-	public void setDataURL(String dataURL) {
-		this.dataURL = dataURL;
-	}
-	public String getServiceResponseText() {
-		return serviceResponseText;
-	}
-	public void setServiceResponseText(String serviceResponseText) {
-		this.serviceResponseText = serviceResponseText;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/TwoDVarMap.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/TwoDVarMap.java b/app/models/metadata/TwoDVarMap.java
deleted file mode 100644
index 4fc0803..0000000
--- a/app/models/metadata/TwoDVarMap.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-import java.util.ArrayList;
-
-public class TwoDVarMap {
-
-	private String dataSource = "";
-	private String variableName = "";
-	private String startYearMonth = "";
-	private String endYearMonth = "";
-	private String selectMonths = "";
-	private ArrayList<String> month = new ArrayList<String>();
-	private String startLat = "";
-	private String endLat = "";
-	private String startLon = "";
-	private String endLon = "";
-	private String variableScale = "";
-	private String executionPurpose = "";
-	private String image = "";
-	private String dataURL = "";
-	private String serviceResponseText = "";
-	
-	public String getStartLon() {
-		return startLon;
-	}
-	public void setStartLon(String startLon) {
-		this.startLon = startLon;
-	}
-	public String getEndLon() {
-		return endLon;
-	}
-	public void setEndLon(String endLon) {
-		this.endLon = endLon;
-	}
-	public String getDataSource() {
-		return dataSource;
-	}
-	public void setDataSource(String dataSource) {
-		this.dataSource = dataSource;
-	}
-	public String getVariableName() {
-		return variableName;
-	}
-	public void setVariableName(String variableName) {
-		this.variableName = variableName;
-	}
-	public String getStartYearMonth() {
-		return startYearMonth;
-	}
-	public void setStartYearMonth(String startYearMonth) {
-		this.startYearMonth = startYearMonth;
-	}
-	public String getEndYearMonth() {
-		return endYearMonth;
-	}
-	public void setEndYearMonth(String endYearMonth) {
-		this.endYearMonth = endYearMonth;
-	}
-	public String getSelectMonths() {
-		return selectMonths;
-	}
-	public void setSelectMonths(String selectMonths) {
-		this.selectMonths = selectMonths;
-	}
-	public void changeSelectMonths(){
-
-		if(month.contains("1")&&month.contains("2")&&month.contains("3")&&month.contains("4")&&month.contains("5")&&month.contains("6")&&month.contains("7")&&month.contains("8")&&month.contains("9")&&month.contains("10")&&month.contains("11")&&month.contains("12")){
-			this.selectMonths = "select all";
-		}
-		else if(month.contains("6") && month.contains("7") && month.contains("8")){
-			this.selectMonths = "Summer:Jun-Jul-Aug";
-		}
-		else if(month.contains("9") && month.contains("10") && month.contains("11")){
-			this.selectMonths = "Autumn:Sep-Oct-Nov";
-		}
-		else if(month.contains("12") && month.contains("1") && month.contains("2")){
-			this.selectMonths = "Winter:Dec-Jan-Feb";
-		}
-		else if(month.contains("3") && month.contains("4") && month.contains("5")){
-			this.selectMonths = "Spring:Mar-Apr-May";
-		}
-		else{
-			this.selectMonths = "select none";
-		}
-		
-	}
-	public String getMonth() {
-		return month.toString().replace("[", "").replace("]", "");
-	}
-	public void setMonth(ArrayList<String> month) {
-		this.month = month;
-	}
-	public void addMonth(String oneMonth){
-		month.add(oneMonth);
-	}
-	public String getStartLat() {
-		return startLat;
-	}
-	public void setStartLat(String startLat) {
-		this.startLat = startLat;
-	}
-	public String getEndLat() {
-		return endLat;
-	}
-	public void setEndLat(String endLat) {
-		this.endLat = endLat;
-	}
-	public String getVariableScale() {
-		return variableScale;
-	}
-	public void setVariableScale(String variableScale) {
-		this.variableScale = variableScale;
-	}
-	public String getExecutionPurpose() {
-		return executionPurpose;
-	}
-	public void setExecutionPurpose(String executionPurpose) {
-		this.executionPurpose = executionPurpose;
-	}
-	public String getImage() {
-		return image;
-	}
-	public void setImage(String image) {
-		this.image = image;
-	}
-	public String getDataURL() {
-		return dataURL;
-	}
-	public void setDataURL(String dataURL) {
-		this.dataURL = dataURL;
-	}
-	public String getServiceResponseText() {
-		return serviceResponseText;
-	}
-	public void setServiceResponseText(String serviceResponseText) {
-		this.serviceResponseText = serviceResponseText;
-	}
-	
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/TwoDVarTimeSeries.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/TwoDVarTimeSeries.java b/app/models/metadata/TwoDVarTimeSeries.java
deleted file mode 100644
index 97c6f42..0000000
--- a/app/models/metadata/TwoDVarTimeSeries.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-public class TwoDVarTimeSeries {
-	private String dataSource = "";
-	private String variableName = "";
-	private String startYearMonth = "";
-	private String endYearMonth = "";
-	private String startLat = "";
-	private String endLat = "";
-	private String startLon = "";
-	private String endLon = "";
-	private String variableScale = "";
-	private String executionPurpose = "";
-	private String image = "";
-	private String dataURL = "";
-	private String serviceResponseText = "";
-	
-	public String getStartLon() {
-		return startLon;
-	}
-	public void setStartLon(String startLon) {
-		this.startLon = startLon;
-	}
-	public String getEndLon() {
-		return endLon;
-	}
-	public void setEndLon(String endLon) {
-		this.endLon = endLon;
-	}
-	public String getDataSource() {
-		return dataSource;
-	}
-	public void setDataSource(String dataSource) {
-		this.dataSource = dataSource;
-	}
-	public String getVariableName() {
-		return variableName;
-	}
-	public void setVariableName(String variableName) {
-		this.variableName = variableName;
-	}
-	public String getStartYearMonth() {
-		return startYearMonth;
-	}
-	public void setStartYearMonth(String startYearMonth) {
-		this.startYearMonth = startYearMonth;
-	}
-	public String getEndYearMonth() {
-		return endYearMonth;
-	}
-	public void setEndYearMonth(String endYearMonth) {
-		this.endYearMonth = endYearMonth;
-	}
-
-	public String getStartLat() {
-		return startLat;
-	}
-	public void setStartLat(String startLat) {
-		this.startLat = startLat;
-	}
-	public String getEndLat() {
-		return endLat;
-	}
-	public void setEndLat(String endLat) {
-		this.endLat = endLat;
-	}
-	public String getVariableScale() {
-		return variableScale;
-	}
-	public void setVariableScale(String variableScale) {
-		this.variableScale = variableScale;
-	}
-	public String getExecutionPurpose() {
-		return executionPurpose;
-	}
-	public void setExecutionPurpose(String executionPurpose) {
-		this.executionPurpose = executionPurpose;
-	}
-	public String getImage() {
-		return image;
-	}
-	public void setImage(String image) {
-		this.image = image;
-	}
-	public String getDataURL() {
-		return dataURL;
-	}
-	public void setDataURL(String dataURL) {
-		this.dataURL = dataURL;
-	}
-	public String getServiceResponseText() {
-		return serviceResponseText;
-	}
-	public void setServiceResponseText(String serviceResponseText) {
-		this.serviceResponseText = serviceResponseText;
-	}
-	
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/models/metadata/TwoDVarZonalMean.java
----------------------------------------------------------------------
diff --git a/app/models/metadata/TwoDVarZonalMean.java b/app/models/metadata/TwoDVarZonalMean.java
deleted file mode 100644
index 3b57d69..0000000
--- a/app/models/metadata/TwoDVarZonalMean.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package models.metadata;
-
-import java.util.ArrayList;
-
-public class TwoDVarZonalMean {
-
-	private String dataSource = "";
-	private String variableName = "";
-	private String startYearMonth = "";
-	private String endYearMonth = "";
-	private String selectMonths = "";
-	private ArrayList<String> month = new ArrayList<String>();
-	private String startLat = "";
-	private String endLat = "";
-	private String variableScale = "";
-	private String executionPurpose = "";
-	private String image = "";
-	private String dataURL = "";
-	private String serviceResponseText = "";
-	
-	public String getDataSource() {
-		return dataSource;
-	}
-	public void setDataSource(String dataSource) {
-		this.dataSource = dataSource;
-	}
-	public String getVariableName() {
-		return variableName;
-	}
-	public void setVariableName(String variableName) {
-		this.variableName = variableName;
-	}
-	public String getStartYearMonth() {
-		return startYearMonth;
-	}
-	public void setStartYearMonth(String startYearMonth) {
-		this.startYearMonth = startYearMonth;
-	}
-	public String getEndYearMonth() {
-		return endYearMonth;
-	}
-	public void setEndYearMonth(String endYearMonth) {
-		this.endYearMonth = endYearMonth;
-	}
-	public String getSelectMonths() {
-		return selectMonths;
-	}
-	public void setSelectMonths(String selectMonths) {
-		this.selectMonths = selectMonths;
-	}
-	public void changeSelectMonths(){
-
-		if(month.contains("1")&&month.contains("2")&&month.contains("3")&&month.contains("4")&&month.contains("5")&&month.contains("6")&&month.contains("7")&&month.contains("8")&&month.contains("9")&&month.contains("10")&&month.contains("11")&&month.contains("12")){
-			this.selectMonths = "select all";
-		}
-		else if(month.contains("6") && month.contains("7") && month.contains("8")){
-			this.selectMonths = "Summer:Jun-Jul-Aug";
-		}
-		else if(month.contains("9") && month.contains("10") && month.contains("11")){
-			this.selectMonths = "Autumn:Sep-Oct-Nov";
-		}
-		else if(month.contains("12") && month.contains("1") && month.contains("2")){
-			this.selectMonths = "Winter:Dec-Jan-Feb";
-		}
-		else if(month.contains("3") && month.contains("4") && month.contains("5")){
-			this.selectMonths = "Spring:Mar-Apr-May";
-		}
-		else{
-			this.selectMonths = "select none";
-		}
-		
-	}
-	public String getMonth() {
-		return month.toString().replace("[", "").replace("]", "");
-	}
-	public void setMonth(ArrayList<String> month) {
-		this.month = month;
-	}
-	public void addMonth(String oneMonth){
-		month.add(oneMonth);
-	}
-	public String getStartLat() {
-		return startLat;
-	}
-	public void setStartLat(String startLat) {
-		this.startLat = startLat;
-	}
-	public String getEndLat() {
-		return endLat;
-	}
-	public void setEndLat(String endLat) {
-		this.endLat = endLat;
-	}
-	public String getVariableScale() {
-		return variableScale;
-	}
-	public void setVariableScale(String variableScale) {
-		this.variableScale = variableScale;
-	}
-	public String getExecutionPurpose() {
-		return executionPurpose;
-	}
-	public void setExecutionPurpose(String executionPurpose) {
-		this.executionPurpose = executionPurpose;
-	}
-	public String getImage() {
-		return image;
-	}
-	public void setImage(String image) {
-		this.image = image;
-	}
-	public String getDataURL() {
-		return dataURL;
-	}
-	public void setDataURL(String dataURL) {
-		this.dataURL = dataURL;
-	}
-	public String getServiceResponseText() {
-		return serviceResponseText;
-	}
-	public void setServiceResponseText(String serviceResponseText) {
-		this.serviceResponseText = serviceResponseText;
-	}
-	
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/util/APICall.java
----------------------------------------------------------------------
diff --git a/app/util/APICall.java b/app/util/APICall.java
deleted file mode 100644
index 4b182c1..0000000
--- a/app/util/APICall.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package util;
-
-import play.Logger;
-import play.libs.Json;
-import play.libs.WS;
-import play.libs.F.Function;
-import play.libs.F.Promise;
-import scala.Console;
-import com.fasterxml.jackson.databind.*;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class APICall {
-	public static enum ResponseType {
-		SUCCESS, GETERROR, SAVEERROR, DELETEERROR, RESOLVEERROR, TIMEOUT, CONVERSIONERROR, UNKNOWN
-	}
-
-	public static JsonNode callAPI(String apiString) {
-		Logger.info(apiString);
-		Promise<WS.Response> responsePromise = WS
-				.url(apiString).get();
-		final Promise<JsonNode> bodyPromise = responsePromise
-				.map(new Function<WS.Response, JsonNode>() {
-					@Override
-					public JsonNode apply(WS.Response response)
-							throws Throwable {
-						if (response.getStatus() == 200
-								|| response.getStatus() == 201) {
-							return response.asJson();
-						} else {
-							Logger.info(""+response.getStatus());
-							return createResponse(ResponseType.GETERROR);
-						}
-					}
-				});
-
-		try {
-			return bodyPromise.get(10000L);
-		} catch (Exception e) {
-			return createResponse(ResponseType.TIMEOUT);
-		}
-
-	}
-	
-	public static JsonNode callAPIParameter(String apiString, String paraName, String para) {
-		Promise<WS.Response> responsePromise = WS
-				.url(apiString).setQueryParameter(paraName, para).get();
-		Console.print(responsePromise.get());
-		final Promise<JsonNode> bodyPromise = responsePromise
-				.map(new Function<WS.Response, JsonNode>() {
-					@Override
-					public JsonNode apply(WS.Response response)
-							throws Throwable {
-						if (response.getStatus() == 200
-								|| response.getStatus() == 201) {
-							return response.asJson();
-						} else {
-							Logger.info(""+response.getStatus());
-							return createResponse(ResponseType.GETERROR);
-						}
-					}
-				});
-
-		try {
-			return bodyPromise.get(10000L);
-		} catch (Exception e) {
-			return createResponse(ResponseType.TIMEOUT);
-		}
-
-	}
-
-	public static JsonNode postAPI(String apiString, JsonNode jsonData) {
-		Promise<WS.Response> responsePromise = WS.url(apiString).post(jsonData);
-		final Promise<JsonNode> bodyPromise = responsePromise
-				.map(new Function<WS.Response, JsonNode>() {
-					@Override
-					public JsonNode apply(WS.Response response)
-							throws Throwable {
-						if ((response.getStatus() == 201 || response
-								.getStatus() == 200)) {
-							try {
-								return response.asJson();
-							}
-							catch (Exception e){
-								return createResponse(ResponseType.SUCCESS);
-							}
-						} else {
-							return createResponse(ResponseType.SAVEERROR);
-						}
-					}
-				});
-		try {
-			return bodyPromise.get(10000L);
-		} catch (Exception e) {
-			return createResponse(ResponseType.TIMEOUT);
-		}
-	}
-
-	public static JsonNode putAPI(String apiString, JsonNode jsonData) {
-		Promise<WS.Response> responsePromise = WS.url(apiString).put(jsonData);
-		final Promise<JsonNode> bodyPromise = responsePromise
-				.map(new Function<WS.Response, JsonNode>() {
-					@Override
-					public JsonNode apply(WS.Response response)
-							throws Throwable {
-						if ((response.getStatus() == 201 || response
-								.getStatus() == 200)
-								&& !response.getBody().contains("not")) {
-							return createResponse(ResponseType.SUCCESS);
-						} else { 
-							return createResponse(ResponseType.SAVEERROR);
-						}
-					}
-				});
-		try {
-			return bodyPromise.get(10000L);
-		} catch (Exception e) {
-			return createResponse(ResponseType.TIMEOUT);
-		}
-	}
-	
-	public static JsonNode deleteAPI(String apiString) {
-		Promise<WS.Response> responsePromise = WS.url(apiString.replace("+", "%20")).setContentType("text/html").delete();
-		final Promise<JsonNode> bodyPromise = responsePromise
-				.map(new Function<WS.Response, JsonNode>() {
-					@Override
-					public JsonNode apply(WS.Response response)
-							throws Throwable {
-						if ((response.getStatus() == 200 || response
-								.getStatus() == 201)
-								&& !response.getBody().contains("not")) {
-							return createResponse(ResponseType.SUCCESS);
-						} else {
-							return createResponse(ResponseType.DELETEERROR);
-						}
-					}
-				});
-		try {
-			return bodyPromise.get(10000L);
-		} catch (Exception e) {
-			return createResponse(ResponseType.TIMEOUT);
-		}
-
-	}
-
-	public static JsonNode createResponse(ResponseType type) {
-		ObjectNode jsonData = Json.newObject();
-		switch (type) {
-		case SUCCESS:
-			jsonData.put("success", "Success!");
-			break;
-		case GETERROR:
-			jsonData.put("error", "Cannot get data from server");
-			break;
-		case SAVEERROR:
-			jsonData.put("error", "Cannot be saved. The data must be invalid!");
-			break;
-		case DELETEERROR:
-			jsonData.put("error", "Cannot be deleted on server");
-			break;
-		case RESOLVEERROR:
-			jsonData.put("error", "Cannot be resolved on server");
-			break;
-		case TIMEOUT:
-			jsonData.put("error", "No response/Timeout from server");
-			break;
-		case CONVERSIONERROR:
-			jsonData.put("error", "Conversion error");
-			break;
-		default:
-			jsonData.put("error", "Unknown errors");
-			break;
-		}
-		return jsonData;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/util/Constants.java
----------------------------------------------------------------------
diff --git a/app/util/Constants.java b/app/util/Constants.java
deleted file mode 100644
index c287cfe..0000000
--- a/app/util/Constants.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package util;
-
-public class Constants {
-
-	// API 1.3 URL
-	public static final String NEW_API_URL = "http://localhost:9033/";
-
-	// API Call format
-	public static final String FORMAT = "json";
-	
-	// climate service
-	public static final String NEW_GET_CLIMATE_SERVICE = "getAllClimateServices/";
-	public static final String NEW_ADD_CLIMATE_SERVICE = "addClimateService";
-	public static final String NEW_DELETE_CLIMATE_SERVICE = "climateService/deleteClimateService/id/";
-	public static final String NEW_EDIT_CLIMATE_SERVICE = "updateClimateService";
-	
-	//service log
-	public static final String NEW_GET_A_SERVICE_LOG = "getServiceExecutionLogs/";
-
-    public static final String GET_DATASETLIST ="getDatasetList/";
-
-	//New backend API (MySQL database)
-	public static final String NEW_BACKEND = "http://einstein.sv.cmu.edu:9034/";
-	//New service execution log stuff
-	public static final String SERVICE_EXECUTION_LOG =	"serviceExecutionLog/";
-	public static final String SERVICE_EXECUTION_LOG_QUERY =	"queryServiceExecutionLogs";
-	public static final String SERVICE_EXECUTION_LOG_GET= "getServiceExecutionLog/";
-	public static final String NEW_GET_ALL_SERVICE_LOG = "getAllServiceExecutionLog";
-
-	//ServiceConfigItem
-	public static final String CONFIG_ITEM =	"serviceConfigurationItem/";
-	public static final String GET_CONFIG_ITEMS_BY_CONFIG= "serviceConfigurationItemByServiceConfig/";
-
-
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/util/DBHandler.java
----------------------------------------------------------------------
diff --git a/app/util/DBHandler.java b/app/util/DBHandler.java
deleted file mode 100644
index 7528df2..0000000
--- a/app/util/DBHandler.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package util;
-
-public class DBHandler{
-    static final String JDBC_DRIVER = "org.h2.Driver"; //org.h2.Driver
-    static final String DB_URL = "jdbc:h2:~/mytest";
-    
-    static final String USER = "sa";
-    static final String PASS = "";
-    
-	public DBHandler(){
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/util/TimeConvert.java
----------------------------------------------------------------------
diff --git a/app/util/TimeConvert.java b/app/util/TimeConvert.java
deleted file mode 100644
index dad6438..0000000
--- a/app/util/TimeConvert.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package util;
-
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-public class TimeConvert {
-
-	public static final String timeStamptoDate (String timeStamp) {
-		if(timeStamp == ""){
-			return "";
-		}
-		Date date = new Date(Long.parseLong(timeStamp)*1000);
-		DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
-		String time = dateFormat.format(date);
-		return time;
-	}
-	
-	public static final long datetoTimeStamp (String time) throws ParseException{
-		if(time == null || time.equals("")){
-			return 0;
-		}
-		SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss.SSS");
-		String temptime = time + ":00.000";
-		Date parsedDate = dateFormat.parse(temptime);
-		long timeStamp = parsedDate.getTime();
-		return timeStamp;
-		
-	}
-}



[21/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/threeDimZonalMean.html
----------------------------------------------------------------------
diff --git a/public/html/threeDimZonalMean.html b/public/html/threeDimZonalMean.html
deleted file mode 100644
index 97f1100..0000000
--- a/public/html/threeDimZonalMean.html
+++ /dev/null
@@ -1,748 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> -->
-  <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-  <script type="text/javascript" src="js/jquery.flot.min.js"></script>
-  <script type="text/javascript" src="js/json2.js"></script>
-  <script type="text/javascript" src="js/xmisc.js"></script>
-  <script type="text/javascript">
-
-    var Response = null;
-    var variable = "";
-
-    // called on load or reload
-    window.onload = function() {
-      select_all_months();
-      select_data();
-      select_var();
-      // no data to download yet
-      disable_download_button();
-    }
-
-
-    // disable download data button
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=true;
-    }
-
-
-    // enable download data button
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-
-
-    // select all months in the checkboxes
-    function select_all_months()
-    {
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-        document.getElementById('Dec').checked = true;
-    }
-
-    // see if no month is selected
-    function no_month_check()
-    {
-        if (document.getElementById('Jan').checked == false &&
-           document.getElementById('Feb').checked == false &&
-           document.getElementById('Mar').checked == false &&
-           document.getElementById('Apr').checked == false &&
-           document.getElementById('May').checked == false &&
-           document.getElementById('Jun').checked == false &&
-           document.getElementById('Jul').checked == false &&
-           document.getElementById('Aug').checked == false &&
-           document.getElementById('Sep').checked == false &&
-           document.getElementById('Oct').checked == false &&
-           document.getElementById('Nov').checked == false &&
-           document.getElementById('Dec').checked == false) {
-           // alert("No month check!");
-           return true;
-          }
-        else
-           return false;
-    }
-
-    // unselect all months in the checkboxes
-    function reset_months()
-    {
-        document.getElementById('Jan').checked = false;
-        document.getElementById('Feb').checked = false;
-        document.getElementById('Mar').checked = false;
-        document.getElementById('Apr').checked = false;
-        document.getElementById('May').checked = false;
-        document.getElementById('Jun').checked = false;
-        document.getElementById('Jul').checked = false;
-        document.getElementById('Aug').checked = false;
-        document.getElementById('Sep').checked = false;
-        document.getElementById('Oct').checked = false;
-        document.getElementById('Nov').checked = false;
-        document.getElementById('Dec').checked = false;
-    }
-
-    // enable all vars in dropdown menu
-    function reset_vars()
-    {
-      var x=document.getElementById("var");
-
-      x.options[0].disabled=false;
-      x.options[1].disabled=false;
-      x.options[2].disabled=false;
-      x.options[3].disabled=false;
-      x.options[4].disabled=false;
-      x.options[5].disabled=false;
-      x.options[6].disabled=false;
-      x.options[7].disabled=false;
-    }
-
-    // form variable string based on "var" dropdown selection
-    function select_var()
-    {
-      var var_string = $("#var").val();
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      if (var_string == "Air Temperature")
-        variable = "ta";
-      else if (var_string == "Specific Humidity")
-        variable = "hus";
-      else if (var_string == "Cloud Ice Water Content")
-        variable = "cli";
-      else if (var_string == "Cloud Liquid Water Content")
-        variable = "clw";
-      else if (var_string == "Ocean Temperature")
-        variable = "ot";
-      else if (var_string == "Ocean Salinity")
-        variable = "os";
-      else if (var_string == "Vertical Wind Velocity")
-        variable = "wap";
-      else if (var_string == "Relative Humidity")
-        variable = "hur";
-
-      // alert("variable: " + variable)
-    }
-
-    // set up "var" dropdown based status of "data" dropdown
-    function select_data()
-    {
-      var data_string = $("#data").val();
-      var x=document.getElementById("var");
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      // enable all options in "var" dropdown first
-      reset_vars();
-
-      // alert(data_string);
-
-      // disable corresponding "var" options
-      if (data_string == "NASA/AIRS") {
-        x.options[0].selected=true;
-        //x.options[1].selected=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "NASA/MLS") {
-        x.options[0].selected=true;
-        //x.options[1].selected=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "ARGO/ARGO") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].selected=true;
-        //x.options[5].selected=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "ECMWF/interim") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        //x.options[6].disabled=true;
-        //x.options[7].disabled=true;
-        x.options[6].selected=true;
-      }
-      else {
-        x.options[0].selected=true;
-        //x.options[1].selected=true;
-        //x.options[2].selected=true;
-        //x.options[3].selected=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-      }
-
-      // form variable string
-      select_var();
-    }
-
-    // select checkboxes based on "months" dropdown
-    function select_months()
-    {
-      var s1=document.getElementById("months");
-      // alert(s1.selectedIndex);
-      // alert(s1.options[s1.selectedIndex].value);
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      // "select none"
-      if (s1.selectedIndex == 1) {
-        reset_months();
-      }
-      // "select all"
-      if (s1.selectedIndex == 0) {
-        select_all_months();
-      }
-      // "summer"
-      if (s1.selectedIndex == 2) {
-        reset_months();
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-      }
-      // "autumn"
-      if (s1.selectedIndex == 3) {
-        reset_months();
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-      }
-      // "winter"
-      if (s1.selectedIndex == 4) {
-        reset_months();
-        document.getElementById('Dec').checked = true;
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-      }
-      // "spring"
-      if (s1.selectedIndex == 5) {
-        reset_months();
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-      }
-        
-    }
-
-    $(document).ready(function(){
-
-      $("a").click(function(event){
-        alert("As you can see, the link no longer took you to jquery.com");
-        event.preventDefault();
-      });
-
-
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        // alert(durl);
-        window.location.assign(durl);
-      });
-         
-
-      $("#threedvarzonalmean").click(function(event) {
-	Response = null;
-
-        // no data to download yet
-        disable_download_button();
-   
-        // flag error if no month box is checked
-        if (no_month_check()) {
-           // $("#Response").html("<span style='color:red'>Error: please check at least one month.</span>");
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        }
-
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-
-        // sample url: http://cmacws.jpl.nasa.gov:9002/svc/threeDimZonalMean?model=ukmo_hadgem2-a&var=ts&start_time=199001&end_time=199512&lat1=-29&lat2=29&pres1=90&pres2=20months=1,2,4,5,6,10,12
-
-        // form url string
-        var url = "http://" + window.location.hostname + ":9002/svc/threeDimZonalMean?";
-        // alert(url);
-
-        var d1 = $("#data").val();
-        var model1 = d1.replace("/", "_");
-
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-
-        var v1 = $("#var").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(variable);
-
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-
-        var pres = $("#pres").val();
-        var splitty = pres.split(',');
-        if (splitty.length != 2) {
-          alert("pressure level range needs to be two values separated by comma.");
-          return;
-        }
-        else {
-          pres1 = splitty[0];
-          pres2 = splitty[1];
-
-          // alert("variable: " + variable);
-
-          // when variable is the 3D Ocean Salinity or Ocean Temperature
-          if (variable == 'ot' || variable == 'os') {
-            pres1 = pres1 * 10000;  // convert from dbar on GUI
-            pres2 = pres2 * 10000;  // convert from dbar on GUI
-          }
-          // when variable is 2D
-          else {
-            pres1 = pres1 * 100;  // convert from hPa on GUI
-            pres2 = pres2 * 100;  // convert from hPa on GUI
-          }
-        }
-
-        arglist = arglist.concat("&pres1=");
-        arglist = arglist.concat(pres1);
-
-        arglist = arglist.concat("&pres2=");
-        arglist = arglist.concat(pres2);
-
-        var s1 = document.getElementById('months');
-
-        // get months checked by client
-        var month_str = "";
-
-        var mm = document.getElementById('Jan');
-        if (mm.checked == true)
-          month_str = month_str.concat(",1");
-
-        var mm = document.getElementById('Feb');
-        if (mm.checked == true)
-          month_str = month_str.concat(",2");
-
-        var mm = document.getElementById('Mar');
-        if (mm.checked == true)
-          month_str = month_str.concat(",3");
-
-        var mm = document.getElementById('Apr');
-        if (mm.checked == true)
-          month_str = month_str.concat(",4");
-
-        var mm = document.getElementById('May');
-        if (mm.checked == true)
-          month_str = month_str.concat(",5");
-
-        var mm = document.getElementById('Jun');
-        if (mm.checked == true)
-          month_str = month_str.concat(",6");
-
-        var mm = document.getElementById('Jul');
-        if (mm.checked == true)
-          month_str = month_str.concat(",7");
-
-        var mm = document.getElementById('Aug');
-        if (mm.checked == true)
-          month_str = month_str.concat(",8");
-
-        var mm = document.getElementById('Sep');
-        if (mm.checked == true)
-          month_str = month_str.concat(",9");
-
-        var mm = document.getElementById('Oct');
-        if (mm.checked == true)
-          month_str = month_str.concat(",10");
-
-        var mm = document.getElementById('Nov');
-        if (mm.checked == true)
-          month_str = month_str.concat(",11");
-
-        var mm = document.getElementById('Dec');
-        if (mm.checked == true)
-          month_str = month_str.concat(",12");
-
-        // remove the leading ','
-        month_str = month_str.substr(1);
-        // alert(month_str);
-
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-        // alert("arglist: " + arglist);
-
-        arglist = arglist.concat("&scale=");
-        var y = document.getElementById("radioLin").checked;
-        var yval;
-        var z = document.getElementById("radioLin2").checked;
-        var zval;
-        // alert(y);
-        if (y == true)
-          yval = 0;
-        else
-          yval = 2;
-
-        if (z == true)
-          zval = 0;
-        else
-          zval = 4;
-
-        var scale1 =  yval + zval;
-        var scale1_str =  scale1.toString();
-
-        arglist = arglist.concat(scale1_str);
-
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-
-        // url = url + encodeURIComponent(arglist);
-        url = url + encodeURI(arglist);
-        // url = url + arglist;
-        // alert("url: " + url);
-
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        // alert("urlTimeBounds: " + urlTimeBounds);
-
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert("text: " + text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                // $("#Response").html(text);
-
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                // alert("tb: " + tb);
-                // alert("bds: " + bds);
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                // alert("lowerT: " + lowerT);
-                // alert("upperT: " + upperT);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                // alert("t0: " + t0I);
-                // alert("t1: " + t1I);
-
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    // $("#Response").html("<span style='color:red'>" + text + "</span>");
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert(text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                $("#Response").html(text);
-
-                var html1 = "<img src='"+data.url+"' width='680'/>";
-                // alert(html1);
-                $("#Image").html(html1);
-
-                // post dataUrl to textarea and enable download button
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-                $("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-      });
-
-
-    });
-    
-  </script>
-</head>
-<body>
-
-<p>
-
-<table border="1" WIDTH="800">
-
-<tr>
-<td colspan="4">
-<center>
-<b>Service: 3-D Variable Zonal Mean</b> <br><br>
-This service generates a contour plot of zonal-mean vertical profiles of a 3-dimensional variable. <br>
-Select a data source, a variable name, a time range, and a pressure range below.<br><br>
-
-</center>
-</td>
-</tr>
-
-<tr>
-<td>data source:</td><td><select name="data", id="data" onchange="select_data()">
-<optgroup label="Observation">
-<option selected="NASA/AIRS">NASA/AIRS</option>
-<option>NASA/MLS</option>
-<option>ARGO/ARGO</option>
-</optgroup>
-<optgroup label="Model: Historical">
-<option>CCCMA/CANESM2</option>
-<option>GFDL/ESM2G</option>
-<option>GISS/E2-H</option>
-<option>GISS/E2-R</option>
-<option>NCAR/CAM5</option>
-<option>NCC/NORESM</option>
-<option>UKMO/HadGEM2-ES</option>
-</optgroup>
-<optgroup label="Model: AMIP">
-<option>CCCMA/CANAM4</option>
-<option>CSIRO/MK3.6</option>
-<option>GFDL/CM3</option>
-<option>IPSL/CM5A-LR</option>
-<option>MIROC/MIROC5</option>
-<option>UKMO/HadGEM2-A</option>
-</optgroup>
-<optgroup label="Reanalysis">
-<option>ECMWF/interim</option>
-</select></td>
-
-<td>variable name:</td><td><select name="var", id="var" onchange="select_var()">
-<option>Air Temperature</option>
-<option>Specific Humidity</option>
-<option>Cloud Ice Water Content</option>
-<option>Cloud Liquid Water Content</option>
-<option>Ocean Temperature</option>
-<option>Ocean Salinity</option>
-<option>Vertical Wind Velocity</option>
-<option>Relative Humidity</option>
-</select></td>
-
-</tr>
-
-<tr>
-<td>start year-month:</td><td><input id="t0" value="2004-01" alt="start"/></td>
-<td>end year-month:</td><td><input id="t1" value="2004-12" alt="end"/></td>
-</tr>
-
-<tr>
-<td>select months:</td>
-<td><select name="months" id="months" onchange="select_months()">
-<option id="all">select all</option>
-<option id="none">select none</option>
-<option id="summer">Summer:Jun-Jul-Aug</option>
-<option id="autum">Autumn:Sep-Oct-Nov</option>
-<option id="winter">Winter:Dec-Jan-Feb</option>
-<option id="spring">Spring:Mar-Apr-May</option> </select>
-</td>
-<td>   
-atmosphere pressure range (hPa) <br> or ocean pressure range (dbar):
-</td>
-<td><input id="pres" value="200,900" alt="pressure"/></td>
-</tr>
-
-<tr>
-<td>
-<label><input type="checkbox" name="option1" id="Jan" value="Jan" /> Jan<br></label>
-<label><input type="checkbox" name="option1" id="Feb" value="Feb" /> Feb<br></label>
-<label><input type="checkbox" name="option1" id="Mar" value="Mar" /> Mar<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Apr" value="Apr" /> Apr<br></label>
-<label><input type="checkbox" name="option1" id="May" value="May" /> May<br></label>
-<label><input type="checkbox" name="option1" id="Jun" value="Jun" /> Jun<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Jul" value="Jul" /> Jul<br></label>
-<label><input type="checkbox" name="option1" id="Aug" value="Aug" /> Aug<br></label>
-<label><input type="checkbox" name="option1" id="Sep" value="Sep" /> Sep<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Oct" value="Oct" /> Oct<br></label>
-<label><input type="checkbox" name="option1" id="Nov" value="Nov" /> Nov<br></label>
-<label><input type="checkbox" name="option1" id="Dec" value="Dec" /> Dec<br></label>
-</td>
-</tr>
-
-<tr>
-<td>start lat (deg):</td><td><input id="lat0" value="-90"/></td>
-<td>end lat (deg):</td><td><input id="lat1" value="90"/></td>
-</tr>
-
-<tr>
-<td colspan="1">
-pressure level scale:
-</td>
-<td colspan="1">
-<form> <input type="radio" name="scale1" value="linear" id="radioLin">linear
-<input type="radio" name="scale1" value="logarithmic" id="radioLog" checked>logarithmic
-</form>
-</td>
-<td colspan="1">
-color scale:
-</td>
-<td colspan="1">
-<form> <input type="radio" name="scale2" value="linear" id="radioLin2" checked>linear
-<input type="radio" name="scale2" value="logarithmic" id="radioLog2">logarithmic
-</form>
-</td>
-</tr>
-
-<tr>
-<td colspan="1">
-Execution purpose
-</td>
-<td colspan="3">
-<form>
-<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-</form>
-</td>
-</tr>
-
-<tr>
-<td colspan="2" align="center"><input id="threedvarzonalmean" type="submit" value="            Get  Plot            " style="height:28px"/></td>
-<form>
-<td colspan="2" align="center"><input id="download_data" type="button" value="Download Data" style="height:28px"/>
-</td>
-</form>
-
-</tr>
-
-<tr>
-<td colspan="4">
-<div id="Image">Image Here</div>
-</td>
-</tr>
-<tr>
-<td colspan="4" align="center">
-<textarea readonly id="data_url" cols="89" rows="2">Data URL Here</textarea>
-</td>
-</tr>
-<tr>
-<td colspan="4" align="center">
-<textarea readonly id="Response" cols="89" rows="6">Service Response Text Here</textarea>
-</td>
-</tr>
-</p>
-
-</table>
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/twoDimMap.html
----------------------------------------------------------------------
diff --git a/public/html/twoDimMap.html b/public/html/twoDimMap.html
deleted file mode 100644
index 89bb859..0000000
--- a/public/html/twoDimMap.html
+++ /dev/null
@@ -1,1034 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> -->
-  <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-  <script type="text/javascript" src="js/jquery.flot.min.js"></script>
-  <script type="text/javascript" src="js/json2.js"></script>
-  <script type="text/javascript" src="js/xmisc.js"></script>
-  <script type="text/javascript">
-
-    var Response = null;
-    var variable = "";
-
-    // called on load or reload
-    window.onload = function() {
-      select_all_months();
-      select_data();
-      select_var();
-      // no data to download yet
-      disable_download_button();
-    }
-
-    // disable download data button
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=true;
-    }
-
-    // enable download data button
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-
-    // select all months in the checkboxes
-    function select_all_months()
-    {
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-        document.getElementById('Dec').checked = true;
-    }
-
-    // see if no month is selected
-    function no_month_check()
-    {
-        if (document.getElementById('Jan').checked == false &&
-           document.getElementById('Feb').checked == false &&
-           document.getElementById('Mar').checked == false &&
-           document.getElementById('Apr').checked == false &&
-           document.getElementById('May').checked == false &&
-           document.getElementById('Jun').checked == false &&
-           document.getElementById('Jul').checked == false &&
-           document.getElementById('Aug').checked == false &&
-           document.getElementById('Sep').checked == false &&
-           document.getElementById('Oct').checked == false &&
-           document.getElementById('Nov').checked == false &&
-           document.getElementById('Dec').checked == false) {
-           // alert("No month check!");
-           return true;
-          }
-        else
-           return false;
-    }
-
-    // unselect all months in the checkboxes
-    function reset_months()
-    {
-        document.getElementById('Jan').checked = false;
-        document.getElementById('Feb').checked = false;
-        document.getElementById('Mar').checked = false;
-        document.getElementById('Apr').checked = false;
-        document.getElementById('May').checked = false;
-        document.getElementById('Jun').checked = false;
-        document.getElementById('Jul').checked = false;
-        document.getElementById('Aug').checked = false;
-        document.getElementById('Sep').checked = false;
-        document.getElementById('Oct').checked = false;
-        document.getElementById('Nov').checked = false;
-        document.getElementById('Dec').checked = false;
-    }
-
-    // enable all vars in dropdown menu
-    function reset_vars()
-    {
-      var x=document.getElementById("var");
-
-      x.options[0].disabled=false;
-      x.options[1].disabled=false;
-      x.options[2].disabled=false;
-      x.options[3].disabled=false;
-      x.options[4].disabled=false;
-      x.options[5].disabled=false;
-      x.options[6].disabled=false;
-      x.options[7].disabled=false;
-      x.options[8].disabled=false;
-      x.options[9].disabled=false;
-      x.options[10].disabled=false;
-      x.options[11].disabled=false;
-      x.options[12].disabled=false;
-      x.options[13].disabled=false;
-      x.options[14].disabled=false;
-      x.options[15].disabled=false;
-      x.options[16].disabled=false;
-      x.options[17].disabled=false;
-      x.options[18].disabled=false;
-      x.options[19].disabled=false;
-      x.options[20].disabled=false;
-      x.options[21].disabled=false;
-      x.options[22].disabled=false;
-      x.options[23].disabled=false;
-      x.options[24].disabled=false;
-    }
-
-    // form variable string based on "var" dropdown selection
-    function select_var()
-    {
-      var var_string = $("#var").val();
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      if (var_string == "Total Cloud Fraction")
-        variable = "clt";
-      else if (var_string == "Surface Temperature")
-        variable = "ts";
-      else if (var_string == "Sea Surface Temperature")
-        variable = "tos";
-      else if (var_string == "Precipitation Flux")
-        variable = "pr";
-      else if (var_string == "Eastward Near-Surface Wind")
-        variable = "uas";
-      else if (var_string == "Northward Near-Surface Wind")
-        variable = "vas";
-      else if (var_string == "Near-Surface Wind Speed")
-        variable = "sfcWind";
-      else if (var_string == "Sea Surface Height")
-        variable = "zos";
-      else if (var_string == "Leaf Area Index")
-        variable = "lai";
-      else if (var_string == "Equivalent Water Height Over Land")
-        variable = "zl";
-      else if (var_string == "Equivalent Water Height Over Ocean")
-        variable = "zo";
-      else if (var_string == "Ocean Heat Content Anomaly within 700 m Depth")
-        variable = "ohc700";
-      else if (var_string == "Ocean Heat Content Anomaly within 2000 m Depth")
-        variable = "ohc2000";
-      else if (var_string == "Surface Downwelling Longwave Radiation")
-        variable = "rlds";
-      else if (var_string == "Surface Downwelling Shortwave Radiation")
-        variable = "rsds";
-      else if (var_string == "Surface Upwelling Longwave Radiation")
-        variable = "rlus";
-      else if (var_string == "Surface Upwelling Shortwave Radiation")
-        variable = "rsus";
-      else if (var_string == "Surface Downwelling Clear-Sky Longwave Radiation")
-        variable = "rldscs";
-      else if (var_string == "Surface Downwelling Clear-Sky Shortwave Radiation")
-        variable = "rsdscs";
-      else if (var_string == "Surface Upwelling Clear-Sky Shortwave Radiation")
-        variable = "rsuscs";
-      else if (var_string == "TOA Incident Shortwave Radiation")
-        variable = "rsdt";
-      else if (var_string == "TOA Outgoing Clear-Sky Longwave Radiation")
-        variable = "rlutcs";
-      else if (var_string == "TOA Outgoing Longwave Radiation")
-        variable = "rlut";
-      else if (var_string == "TOA Outgoing Clear-Sky Shortwave Radiation")
-        variable = "rsutcs";
-      else if (var_string == "TOA Outgoing Shortwave Radiation")
-        variable = "rsut";
-
-      // alert("variable: " + variable)
-    }
-
-    // set up "var" dropdown based status of "data" dropdown
-    function select_data()
-    {
-      var data_string = $("#data").val();
-      var x=document.getElementById("var");
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      // enable all options in "var" dropdown first
-      reset_vars();
-
-      // alert(data_string);
-
-      // disable corresponding "var" options
-      if (data_string == "NASA/AMSRE") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[3].selected=true;
-      }
-      else if (data_string == "NASA/MODIS") {
-        x.options[0].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[1].selected=true;
-        //x.options[8].selected=true;
-      }
-      else if (data_string == "NASA/TRMM") {
-        x.options[0].selected=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-      }
-      else if (data_string == "NASA/GPCP") {
-        x.options[0].selected=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-      }
-      else if (data_string == "NASA/QuikSCAT") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[4].selected=true;
-        //x.options[5].selected=true;
-        //x.options[6].selected=true;
-      }
-      else if (data_string == "NASA/AVISO") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[7].selected=true;
-      }
-      else if (data_string == "NASA/GRACE") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[9].selected=true;
-        //x.options[10].selected=true;
-      }
-      else if (data_string == "NOAA/NODC") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[11].selected=true;
-        //x.options[12].selected=true;
-      }
-      else if (data_string == "NASA/CERES") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-
-        x.options[13].selected=true;
-      }
-      else if (data_string == "ECMWF/interim") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[3].selected=true;
-      }
-      else if (data_string == "CCCMA/CANAM4" || data_string == "CSIRO/MK3.6") {
-
-        x.options[3].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-
-        x.options[0].selected=true;
-      }
-      // for all other models
-      else {
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-
-        x.options[0].selected=true;
-      }
-
-      // form variable string
-      select_var();
-    }
-
-    // select checkboxes based on "months" dropdown
-    function select_months()
-    {
-      var s1=document.getElementById("months");
-      // alert(s1.selectedIndex);
-      // alert(s1.options[s1.selectedIndex].value);
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      // "select none"
-      if (s1.selectedIndex == 1) {
-        reset_months();
-      }
-      // "select all"
-      if (s1.selectedIndex == 0) {
-        select_all_months();
-      }
-      // "summer"
-      if (s1.selectedIndex == 2) {
-        reset_months();
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-      }
-      // "autumn"
-      if (s1.selectedIndex == 3) {
-        reset_months();
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-      }
-      // "winter"
-      if (s1.selectedIndex == 4) {
-        reset_months();
-        document.getElementById('Dec').checked = true;
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-      }
-      // "spring"
-      if (s1.selectedIndex == 5) {
-        reset_months();
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-      }
-        
-    }
-
-
-
-    $(document).ready(function(){
-
-      $("a").click(function(event){
-        alert("As you can see, the link no longer took you to jquery.com");
-        event.preventDefault();
-      });
-
-
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        // alert(durl);
-        window.location.assign(durl);
-      });
-
-      $("#twodvarmap").click(function(event) {
-	Response = null;
-
-        // no data to download yet
-        disable_download_button();
-
-        // flag error if no month box is checked
-        if (no_month_check()) {
-           // $("#Response").html("<span style='color:red'>Error: please check at least one month.</span>");
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        }
-
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-
-        // sample url: http://cmacws.jpl.nasa.gov:8090/svc/twoDimMap?model=ukmo_hadgem2-a&var=ts&start_time=199001&end_time=199512&lon1=0&lon2=100&lat1=-29&lat2=29&months=1,2,4,5,6,10,12
-
-        // form url string
-        // var url = "http://cmacws.jpl.nasa.gov:8090/svc/twoDimMap?";
-        var url = "http://" + window.location.hostname + ":9002/svc/twoDimMap?";
-        //alert(url);
-
-        var d1 = $("#data").val();
-        var model1 = d1.replace("/", "_");
-        // alert(model1);
-        // alert(d1);
-
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-
-        var v1 = $("#var").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(variable);
-
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-
-        var s1 = document.getElementById('months');
-
-        // get months checked by client
-        var month_str = "";
-
-        var mm = document.getElementById('Jan');
-        if (mm.checked == true)
-          month_str = month_str.concat(",1");
-
-        var mm = document.getElementById('Feb');
-        if (mm.checked == true)
-          month_str = month_str.concat(",2");
-
-        var mm = document.getElementById('Mar');
-        if (mm.checked == true)
-          month_str = month_str.concat(",3");
-
-        var mm = document.getElementById('Apr');
-        if (mm.checked == true)
-          month_str = month_str.concat(",4");
-
-        var mm = document.getElementById('May');
-        if (mm.checked == true)
-          month_str = month_str.concat(",5");
-
-        var mm = document.getElementById('Jun');
-        if (mm.checked == true)
-          month_str = month_str.concat(",6");
-
-        var mm = document.getElementById('Jul');
-        if (mm.checked == true)
-          month_str = month_str.concat(",7");
-
-        var mm = document.getElementById('Aug');
-        if (mm.checked == true)
-          month_str = month_str.concat(",8");
-
-        var mm = document.getElementById('Sep');
-        if (mm.checked == true)
-          month_str = month_str.concat(",9");
-
-        var mm = document.getElementById('Oct');
-        if (mm.checked == true)
-          month_str = month_str.concat(",10");
-
-        var mm = document.getElementById('Nov');
-        if (mm.checked == true)
-          month_str = month_str.concat(",11");
-
-        var mm = document.getElementById('Dec');
-        if (mm.checked == true)
-          month_str = month_str.concat(",12");
-
-        // remove the leading ','
-        month_str = month_str.substr(1);
-        // alert(month_str);
-
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-        // alert("arglist: " + arglist);
-
-        arglist = arglist.concat("&scale=");
-        var z = document.getElementById("radioLin").checked;
-        // alert(z);
-        if (z == true)
-          arglist = arglist.concat('0');
-        else
-          arglist = arglist.concat('4');
-
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-
-        // url = url + encodeURIComponent(arglist);
-        url = url + encodeURI(arglist);
-        // url = url + arglist;
-        //alert("url: " + url);
-
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        // alert("urlTimeBounds: " + urlTimeBounds);
-
-
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert("text: " + text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                // $("#Response").html(text);
-
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                // alert("tb: " + tb);
-                // alert("bds: " + bds);
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                // alert("lowerT: " + lowerT);
-                // alert("upperT: " + upperT);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                // alert("t0: " + t0I);
-                // alert("t1: " + t1I);
-
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    // $("#Response").html("<span style='color:red'>" + text + "</span>");
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert(text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                $("#Response").html(text);
-
-                var html1 = "<img src='"+data.url+"' width='680'/>";
-                // alert(html1);
-                $("#Image").html(html1);
-
-                // post dataUrl to textarea and enable download button
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-      });
-
-
-    });
-    
-  </script>
-</head>
-<body>
-
-<p>
-
-<table border="1">
-
-<tr>
-<td colspan="4">
-<center>
-<b>Service: 2-D Variable Map</b> <br> <br>
-This service generates a map of a 2-dimensional variable with time averaging and spatial subsetting. <br>
-Select a data source (model or observation), a variable name, a time range, and a spatial range (lat-lon box) below.<br><br>
-</center>
-</td>
-</tr>
-
-<tr>
-<td>data source:</td><td><select name="data", id="data" onchange="select_data()">
-<!-- <option>NASA/obs4MIPs</option>  -->
-<optgroup label="Observation">
-<option selected="NASA/MODIS">NASA/MODIS</option>
-<option>NASA/AMSRE</option>
-<option>NASA/TRMM</option>
-<option>NASA/GPCP</option>
-<option>NASA/QuikSCAT</option>
-<option>NASA/AVISO</option>
-<option>NASA/GRACE</option>
-<option>NOAA/NODC</option>
-<option>NASA/CERES</option>
-</optgroup>
-<optgroup label="Model: Historical">
-<option>CCCMA/CANESM2</option>
-<option>GFDL/ESM2G</option>
-<option>GISS/E2-H</option>
-<option>GISS/E2-R</option>
-<option>NCAR/CAM5</option>
-<option>NCC/NORESM</option>
-<option>UKMO/HadGEM2-ES</option>
-</optgroup>
-<optgroup label="Model: AMIP">
-<option>CCCMA/CANAM4</option>
-<option>CSIRO/MK3.6</option>
-<option>GFDL/CM3</option>
-<option>IPSL/CM5A-LR</option>
-<option>MIROC/MIROC5</option>
-<option>UKMO/HadGEM2-A</option>
-</optgroup>
-<optgroup label="Reanalysis">
-<option>ECMWF/interim</option>
-</optgroup>
-</select></td>
-
-<td>variable name:</td><td><select name="var", id="var" onchange="select_var()">
-<option>Precipitation Flux</option>
-<option>Total Cloud Fraction</option>
-<option>Surface Temperature</option>
-<option>Sea Surface Temperature</option>
-<option>Eastward Near-Surface Wind</option>
-<option>Northward Near-Surface Wind</option>
-<option>Near-Surface Wind Speed</option>
-<option>Sea Surface Height</option>
-<option>Leaf Area Index</option>
-<option>Equivalent Water Height Over Land</option>
-<option>Equivalent Water Height Over Ocean</option>
-<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-<option>Surface Downwelling Longwave Radiation</option>
-<option>Surface Downwelling Shortwave Radiation</option>
-<option>Surface Upwelling Longwave Radiation</option>
-<option>Surface Upwelling Shortwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-<option>TOA Incident Shortwave Radiation</option>
-<option>TOA Outgoing Longwave Radiation</option>
-<option>TOA Outgoing Shortwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-</select></td>
-
-</tr>
-
-<tr>
-<td>start year-month:</td><td><input id="t0" value="2004-01" alt="start"/></td>
-<td>end year-month:</td><td><input id="t1" value="2004-12" alt="end"/></td>
-</tr>
-
-<tr>
-<td>select months:</td>
-<td><select name="months" id="months" onchange="select_months()">
-<option id="all">select all</option>
-<option id="none">select none</option>
-<option id="summer">Summer:Jun-Jul-Aug</option>
-<option id="autum">Autumn:Sep-Oct-Nov</option>
-<option id="winter">Winter:Dec-Jan-Feb</option>
-<option id="spring">Spring:Mar-Apr-May</option> </select>
-</td>
-<td>
-</td>
-<td>
-</tr>
-
-<tr>
-<td>
-<label><input type="checkbox" name="option1" id="Jan" value="Jan" /> Jan<br></label>
-<label><input type="checkbox" name="option1" id="Feb" value="Feb" /> Feb<br></label>
-<label><input type="checkbox" name="option1" id="Mar" value="Mar" /> Mar<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Apr" value="Apr" /> Apr<br></label>
-<label><input type="checkbox" name="option1" id="May" value="May" /> May<br></label>
-<label><input type="checkbox" name="option1" id="Jun" value="Jun" /> Jun<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Jul" value="Jul" /> Jul<br></label>
-<label><input type="checkbox" name="option1" id="Aug" value="Aug" /> Aug<br></label>
-<label><input type="checkbox" name="option1" id="Sep" value="Sep" /> Sep<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Oct" value="Oct" /> Oct<br></label>
-<label><input type="checkbox" name="option1" id="Nov" value="Nov" /> Nov<br></label>
-<label><input type="checkbox" name="option1" id="Dec" value="Dec" /> Dec<br></label>
-</td>
-</tr>
-
-<tr>
-<td>start lat (deg):</td><td><input id="lat0" value="-90"/></td>
-<td>end lat (deg):</td><td><input id="lat1" value="90"/></td>
-</tr>
-
-<tr>
-<td>start lon (deg):</td><td><input id="lon0" value="0"/></td>
-<td>end lon (deg):</td><td><input id="lon1" value="360"/></td>
-</tr>
-
-<tr>
-<td colspan="1">
-color scale: 
-</td>
-<td colspan="3">
-<form> <input type="radio" name="scale1" value="linear" id="radioLin" checked>linear 
-<input type="radio" name="scale1" value="logarithmic" id="radioLog">logarithmic 
-</form>
-</td>
-</tr>
-
-<tr>
-<td colspan="1">
-Execution purpose
-</td>
-<td colspan="3">
-<form>
-<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-</form>
-</td>
-</tr>
-
-
-
-
-
-<tr>
-<td colspan="2" align="center"><input id="twodvarmap" type="submit" value="            Get  Plot            " style="height:28px"/></td>
-<form>
-<td colspan="2" align="center"><input id="download_data" type="button" value="Download Data" style="height:28px"/>
-</td>
-</form>
-
-</tr>
-
-<tr>
-<td colspan="4">
-<div id="Image">Image Here</div>
-</td>
-</tr>
-<tr>
-<td colspan="4" align="center">
-<textarea readonly id="data_url" cols="89" rows="2">Data URL Here</textarea>
-</td>
-</tr>
-<tr>
-<td colspan="4" align="center">
-<textarea readonly id="Response" cols="89" rows="6">Service Response Text Here</textarea>
-</td>
-</tr>
-</p>
-
-</table>
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/twoDimSlice3D.html
----------------------------------------------------------------------
diff --git a/public/html/twoDimSlice3D.html b/public/html/twoDimSlice3D.html
deleted file mode 100644
index a5dd7dd..0000000
--- a/public/html/twoDimSlice3D.html
+++ /dev/null
@@ -1,726 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> -->
-  <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-  <script type="text/javascript" src="js/jquery.flot.min.js"></script>
-  <script type="text/javascript" src="js/json2.js"></script>
-  <script type="text/javascript" src="js/xmisc.js"></script>
-  <script type="text/javascript">
-
-    var Response = null;
-    var variable = "";
-
-    // called on load or reload
-    window.onload = function() {
-      select_all_months();
-      select_data();
-      select_var();
-      // no data to download yet
-      disable_download_button();
-    }
-
-
-    // disable download data button
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=true;
-    }
-
-
-    // enable download data button
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }         
-
-
-    // select all months in the checkboxes
-    function select_all_months()
-    {
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-        document.getElementById('Dec').checked = true;
-    }
-
-    // see if no month is selected
-    function no_month_check()
-    {
-        if (document.getElementById('Jan').checked == false &&
-           document.getElementById('Feb').checked == false &&
-           document.getElementById('Mar').checked == false &&
-           document.getElementById('Apr').checked == false &&
-           document.getElementById('May').checked == false &&
-           document.getElementById('Jun').checked == false &&
-           document.getElementById('Jul').checked == false &&
-           document.getElementById('Aug').checked == false &&
-           document.getElementById('Sep').checked == false &&
-           document.getElementById('Oct').checked == false &&
-           document.getElementById('Nov').checked == false &&
-           document.getElementById('Dec').checked == false) {
-           // alert("No month check!");
-           return true;
-          }
-        else
-           return false;
-    }
-
-    // unselect all months in the checkboxes
-    function reset_months()
-    {
-        document.getElementById('Jan').checked = false;
-        document.getElementById('Feb').checked = false;
-        document.getElementById('Mar').checked = false;
-        document.getElementById('Apr').checked = false;
-        document.getElementById('May').checked = false;
-        document.getElementById('Jun').checked = false;
-        document.getElementById('Jul').checked = false;
-        document.getElementById('Aug').checked = false;
-        document.getElementById('Sep').checked = false;
-        document.getElementById('Oct').checked = false;
-        document.getElementById('Nov').checked = false;
-        document.getElementById('Dec').checked = false;
-    }
-
-    // enable all vars in dropdown menu
-    function reset_vars()
-    {
-      var x=document.getElementById("var");
-
-      x.options[0].disabled=false;
-      x.options[1].disabled=false;
-      x.options[2].disabled=false;
-      x.options[3].disabled=false;
-      x.options[4].disabled=false;
-      x.options[5].disabled=false;
-      x.options[6].disabled=false;
-      x.options[7].disabled=false;
-    }
-
-    // form variable string based on "var" dropdown selection
-    function select_var()
-    {
-      var var_string = $("#var").val();
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      if (var_string == "Air Temperature")
-        variable = "ta";
-      else if (var_string == "Specific Humidity")
-        variable = "hus";
-      else if (var_string == "Cloud Ice Water Content")
-        variable = "cli";
-      else if (var_string == "Cloud Liquid Water Content")
-        variable = "clw";
-      else if (var_string == "Ocean Temperature")
-        variable = "ot";
-      else if (var_string == "Ocean Salinity")
-        variable = "os";
-      else if (var_string == "Vertical Wind Velocity")
-        variable = "wap";
-      else if (var_string == "Relative Humidity")
-        variable = "hur";
-
-      // alert("variable: " + variable)
-    }
-
-    // set up "var" dropdown based status of "data" dropdown
-    function select_data()
-    {
-      var data_string = $("#data").val();
-      var x=document.getElementById("var");
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      // enable all options in "var" dropdown first
-      reset_vars();
-
-      // alert(data_string);
-
-      // disable corresponding "var" options
-      if (data_string == "NASA/AIRS") {
-        x.options[0].selected=true;
-        //x.options[1].selected=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "NASA/MLS") {
-        x.options[0].selected=true;
-        //x.options[1].selected=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "ARGO/ARGO") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].selected=true;
-        //x.options[5].selected=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-      }
-      else if (data_string == "ECMWF/interim") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        //x.options[6].disabled=true;
-        //x.options[7].disabled=true;
-        x.options[6].selected=true;
-      }
-      else { // models
-        x.options[0].selected=true;
-        //x.options[1].selected=true;
-        //x.options[2].selected=true;
-        //x.options[3].selected=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-      }
-
-      // form variable string
-      select_var();
-    }
-
-    // select checkboxes based on "months" dropdown
-    function select_months()
-    {
-      var s1=document.getElementById("months");
-      // alert(s1.selectedIndex);
-      // alert(s1.options[s1.selectedIndex].value);
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      // "select none"
-      if (s1.selectedIndex == 1) {
-        reset_months();
-      }
-      // "select all"
-      if (s1.selectedIndex == 0) {
-        select_all_months();
-      }
-      // "summer"
-      if (s1.selectedIndex == 2) {
-        reset_months();
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-      }
-      // "autumn"
-      if (s1.selectedIndex == 3) {
-        reset_months();
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-      }
-      // "winter"
-      if (s1.selectedIndex == 4) {
-        reset_months();
-        document.getElementById('Dec').checked = true;
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-      }
-      // "spring"
-      if (s1.selectedIndex == 5) {
-        reset_months();
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-      }
-        
-    }
-
-    $(document).ready(function(){
-
-      $("a").click(function(event){
-        alert("As you can see, the link no longer took you to jquery.com");
-        event.preventDefault();
-      });
-
-
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        // alert(durl);
-        window.location.assign(durl);
-      });
-
-
-      $("#twodvarmap").click(function(event) {
-	Response = null;
-
-        // no data to download yet
-        disable_download_button();
-
-        // flag error if no month box is checked
-        if (no_month_check()) {
-           // $("#Response").html("<span style='color:red'>Error: please check at least one month.</span>");
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        }
-
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-
-        // sample url: http://cmacws.jpl.nasa.gov:9002/svc/twoDimSlice3D?model=UKMO_HadGEM2-ES&var=hus&start_time=199001&end_time=199512&pr=80000&lon1=0&lon2=20&lat1=-29&lat2=29&months=1,2,3,4,5,6,7,8,9,10,11,12
-
-        // form url string
-        // var url = "http://cmacws.jpl.nasa.gov:9002/svc/twoDimSlice3D?";
-        var url = "http://" + window.location.hostname + ":9002/svc/twoDimSlice3D?";
-        // alert(url);
-
-        var d1 = $("#data").val();
-        var model1 = d1.replace("/", "_");
-
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-
-        var v1 = $("#var").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(variable);
-
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-
-        var pres = $("#pres").val();
-        // alert("variable: " + variable);
-
-        // when variable is the 3D Ocean Salinity or Ocean Temperature
-        if (variable == 'ot' || variable == 'os')
-          pres = pres * 10000;  // convert from dbar on GUI
-        // when variable is 2D
-        else
-          pres = pres * 100;  // convert from hPa on GUI
-
-        arglist = arglist.concat("&pr=");
-        arglist = arglist.concat(pres);
-
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-
-        var s1 = document.getElementById('months');
-
-        // get months checked by client
-        var month_str = "";
-
-        var mm = document.getElementById('Jan');
-        if (mm.checked == true)
-          month_str = month_str.concat(",1");
-
-        var mm = document.getElementById('Feb');
-        if (mm.checked == true)
-          month_str = month_str.concat(",2");
-
-        var mm = document.getElementById('Mar');
-        if (mm.checked == true)
-          month_str = month_str.concat(",3");
-
-        var mm = document.getElementById('Apr');
-        if (mm.checked == true)
-          month_str = month_str.concat(",4");
-
-        var mm = document.getElementById('May');
-        if (mm.checked == true)
-          month_str = month_str.concat(",5");
-
-        var mm = document.getElementById('Jun');
-        if (mm.checked == true)
-          month_str = month_str.concat(",6");
-
-        var mm = document.getElementById('Jul');
-        if (mm.checked == true)
-          month_str = month_str.concat(",7");
-
-        var mm = document.getElementById('Aug');
-        if (mm.checked == true)
-          month_str = month_str.concat(",8");
-
-        var mm = document.getElementById('Sep');
-        if (mm.checked == true)
-          month_str = month_str.concat(",9");
-
-        var mm = document.getElementById('Oct');
-        if (mm.checked == true)
-          month_str = month_str.concat(",10");
-
-        var mm = document.getElementById('Nov');
-        if (mm.checked == true)
-          month_str = month_str.concat(",11");
-
-        var mm = document.getElementById('Dec');
-        if (mm.checked == true)
-          month_str = month_str.concat(",12");
-
-        // remove the leading ','
-        month_str = month_str.substr(1);
-        // alert(month_str);
-
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-        // alert("arglist: " + arglist);
-
-        arglist = arglist.concat("&scale=");
-        var z = document.getElementById("radioLin").checked;
-        // alert(z);
-        if (z == true)
-          arglist = arglist.concat('0');
-        else
-          arglist = arglist.concat('4');
-
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-
-        // url = url + encodeURIComponent(arglist);
-        url = url + encodeURI(arglist);
-        // url = url + arglist;
-        //alert("url: " + url);
-
-
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        // alert("urlTimeBounds: " + urlTimeBounds);
-
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert("text: " + text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                // $("#Response").html(text);
-
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                // alert("tb: " + tb);
-                // alert("bds: " + bds);
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                // alert("lowerT: " + lowerT);
-                // alert("upperT: " + upperT);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                // alert("t0: " + t0I);
-                // alert("t1: " + t1I);
-
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    // $("#Response").html("<span style='color:red'>" + text + "</span>");
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert(text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                $("#Response").html(text);
-
-                var html1 = "<img src='"+data.url+"' width='680'/>";
-                // alert(html1);
-                $("#Image").html(html1);
-
-                // post dataUrl to textarea and enable download button
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-      });
-
-
-    });
-    
-  </script>
-</head>
-<body>
-
-<p>
-
-<table border="1" width="800">
-
-<tr>
-<td colspan="4">
-<center>
-<b>Service: 3-D Variable 2-D Slice</b><br><br>
-This service generates a slice map of a 3-dimensional variable at a selected pressure level. <br>
-Select a data source, a variable name, a time range, a spatial range, and a pressure level below.<br><br>
-</center>
-</td>
-</tr>
-
-<tr>
-<td>data source:</td><td><select name="data", id="data" onchange="select_data()">
-<optgroup label="Observation">
-<option selected="NASA/AIRS">NASA/AIRS</option>
-<option>NASA/MLS</option>
-<option>ARGO/ARGO</option>
-</optgroup>
-<optgroup label="Model: Historical">
-<option>CCCMA/CANESM2</option>
-<option>GFDL/ESM2G</option>
-<option>GISS/E2-H</option>
-<option>GISS/E2-R</option>
-<option>NCAR/CAM5</option>
-<option>NCC/NORESM</option>
-<option>UKMO/HadGEM2-ES</option>
-</optgroup>
-<optgroup label="Model: AMIP">
-<option>CCCMA/CANAM4</option>
-<option>CSIRO/MK3.6</option>
-<option>GFDL/CM3</option>
-<option>IPSL/CM5A-LR</option>
-<option>MIROC/MIROC5</option>
-<option>UKMO/HadGEM2-A</option>
-</optgroup>
-</optgroup>
-<optgroup label="Reanalysis">
-<option>ECMWF/interim</option>
-</select></td>
-
-<td>variable name:</td><td><select name="var", id="var" onchange="select_var()">
-<option>Air Temperature</option> 
-<option>Specific Humidity</option>
-<option>Cloud Ice Water Content</option>
-<option>Cloud Liquid Water Content</option>
-<option>Ocean Temperature</option>
-<option>Ocean Salinity</option>
-<option>Vertical Wind Velocity</option>
-<option>Relative Humidity</option>
-</select></td>
-</tr>
-
-<tr>
-<td>start year-month:</td><td><input id="t0" value="2004-01" alt="start"/></td>
-<td>end year-month:</td><td><input id="t1" value="2004-12" alt="end"/></td>
-</tr>
-
-<tr>
-<td>select months:</td>
-<td><select name="months" id="months" onchange="select_months()">
-<option id="all">select all</option>
-<option id="none">select none</option>
-<option id="summer">Summer:Jun-Jul-Aug</option>
-<option id="autum">Autumn:Sep-Oct-Nov</option>
-<option id="winter">Winter:Dec-Jan-Feb</option>
-<option id="spring">Spring:Mar-Apr-May</option> </select>
-</td>
-<td>
-atmosphere pressure level (hPa) <br> or ocean pressure level (dbar)
-</td>
-<td>
-<input id="pres" value="500" alt="pressure"/>
-</td>
-</tr>
-
-<tr>
-<td>
-<label><input type="checkbox" name="option1" id="Jan" value="Jan" /> Jan<br></label>
-<label><input type="checkbox" name="option1" id="Feb" value="Feb" /> Feb<br></label>
-<label><input type="checkbox" name="option1" id="Mar" value="Mar" /> Mar<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Apr" value="Apr" /> Apr<br></label>
-<label><input type="checkbox" name="option1" id="May" value="May" /> May<br></label>
-<label><input type="checkbox" name="option1" id="Jun" value="Jun" /> Jun<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Jul" value="Jul" /> Jul<br></label>
-<label><input type="checkbox" name="option1" id="Aug" value="Aug" /> Aug<br></label>
-<label><input type="checkbox" name="option1" id="Sep" value="Sep" /> Sep<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Oct" value="Oct" /> Oct<br></label>
-<label><input type="checkbox" name="option1" id="Nov" value="Nov" /> Nov<br></label>
-<label><input type="checkbox" name="option1" id="Dec" value="Dec" /> Dec<br></label>
-</td>
-</tr>
-
-<tr>
-<td>start lat (deg):</td><td><input id="lat0" value="-90"/></td>
-<td>end lat (deg):</td><td><input id="lat1" value="90"/></td>
-</tr>
-
-<tr>
-<td>start lon (deg):</td><td><input id="lon0" value="0"/></td>
-<td>end lon (deg):</td><td><input id="lon1" value="360"/></td>
-</tr>
-
-<tr>
-<td colspan="1">
-color scale:
-</td>
-<td colspan="3">
-<form> <input type="radio" name="scale1" value="linear" id="radioLin" checked>linear
-<input type="radio" name="scale1" value="logarithmic" id="radioLog">logarithmic
-</form>
-</td>
-</tr>
-
-<tr>
-<td colspan="1">
-Execution purpose
-</td>
-<td colspan="3">
-<form>
-<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-</form>
-</td>
-</tr>
-
-<tr>
-<td colspan="2" align="center"><input id="twodvarmap" type="submit" value="            Get  Plot            " style="height:28px"/></td>
-<form>
-<td colspan="2" align="center"><input id="download_data" type="button" value="Download Data" style="height:28px"/>
-</td>
-</form>
-</tr>
-
-<tr>
-<td colspan="4">
-<div id="Image">Image Here</div>
-</td>
-</tr>
-<tr>
-<td colspan="4" align="center">
-<textarea readonly id="data_url" cols="89" rows="2">Data URL Here</textarea>
-</td>
-</tr>
-<tr>
-<td colspan="4" align="center">
-<textarea readonly id="Response" cols="89" rows="6">Service Response Text Here</textarea>
-</td>
-</tr>
-</p>
-
-</table>
-
-</body>
-</html>


[38/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/regridAndDownload.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/regridAndDownload.scala.html b/app/views/climate/regridAndDownload.scala.html
deleted file mode 100644
index 0da46d4..0000000
--- a/app/views/climate/regridAndDownload.scala.html
+++ /dev/null
@@ -1,459 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(parameters: metadata.RegridAndDownload) @import helper._
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-@scripts = {
-<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js"></script>
-<script type="
-	text/javascript"
-	src='@routes.Assets.at("javascripts/json2.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("jhtml/js/xmisc.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("html/js2/varList.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("html/js2/dataList2.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("html/js2/common.js")'></script>
-<script type="text/javascript">
-    var Response = null;
-    var variable = "";
-    window.onload = function() {
-    	put_data(1);
-    	changeDataSource();
-        put_var(1);
-        changeVariableName();
-      enable_download_button();
-      $('#t0').val($('#startYearMonth').text());
-      $('#t1').val($('#endYearMonth').text());
-      if($('#pressureLevel').text() == "-999999"){
-      	disable_pres1(1);
-      }else{
-      	$('#pres1').val($('#pressureLevel').text());
-      }
-      $('#lat0').val($('#startLat').text());
-      $('#lat1').val($('#endLat').text());
-      $('#dlat').val($('#deltaLat').text());
-      $('#lon0').val($('#startLon').text());
-      $('#lon1').val($('#endLon').text());
-      $('#dlon').val($('#deltaLon').text());
-      $('#purpose').html($('#executionPurpose').text());
-      $('#data_url').html($('#dataURL').text());
-      $('#Response').html($('#serviceResponseText').text());
-    }
- function changeDataSource() {
-	    var dataSource = $('#dataSource').text();
-	    var x = document.getElementById("data1");
-	    if(dataSource == "gfdl_esm2g" ){
-     		x.options[0].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-h" ){
-     		x.options[1].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-r" ){
-     		x.options[2].selected=true;
-     	}
-     	else if(dataSource == "ncar_cam5" ){
-     		x.options[3].selected=true;
-     	}
-     	else if(dataSource == "ncc_noresm" ){
-     		x.options[4].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-es" ){
-     		x.options[5].selected=true;
-     	}
-     	else if(dataSource == "cccma_canam4" ){
-     		x.options[6].selected=true;
-     	}
-     	else if(dataSource == "csiro_mk3.6" ){
-     		x.options[7].selected=true;
-     	}
-     	else if(dataSource == "gfdl_cm3" ){
-     		x.options[8].selected=true;
-     	}
-     	else if(dataSource == "ipsl_cm5a-lr" ){
-     		x.options[9].selected=true;
-     	}
-     	else if(dataSource == "miroc_miroc5" ){
-     		x.options[10].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-a" ){
-     		x.options[11].selected=true;
-     	}
-     	else if(dataSource == "nasa_modis" ){
-     		x.options[12].selected=true;
-     	}
-     	else if(dataSource == "nasa_amsre" ){
-     		x.options[13].selected=true;
-     	}
-     	else if(dataSource == "nasa_trmm" ){
-     		x.options[14].selected=true;
-     	}
-     	else if(dataSource == "nasa_gpcp" ){
-     		x.options[15].selected=true;
-     	}
-     	else if(dataSource == "nasa_quikscat" ){
-     		x.options[16].selected=true;
-     	}
-     	else if(dataSource == "nasa_aviso" ){
-     		x.options[17].selected=true;
-     	}
-     	else if(dataSource == "nasa_grace" ){
-     		x.options[18].selected=true;
-     	}
-     	else if(dataSource == "noaa_nodc" ){
-     		x.options[19].selected=true;
-     	}
-     	else if(dataSource == "nasa_ceres" ){
-     		x.options[20].selected=true;
-     	}
-     	else if(dataSource == "nasa_airs" ){
-     		x.options[21].selected=true;
-     	}
-     	else if(dataSource == "nasa_mls" ){
-     		x.options[22].selected=true;
-     	}
-     	else if(dataSource == "nasa_argo" ){
-     		x.options[23].selected=true;
-     	}
-     	else if(dataSource == "ecmwf_interim" ){
-     		x.options[24].selected=true;
-     	}
-      }
-function changeVariableName(){
-      var var_string = $('#variableName').text();
-      var data_string = $('#dataSource').text();
-      data_string = data_string.replace("_", "/").toUpperCase();
-      var varList2 = dataList[data_string][1];  
-      var x = document.getElementById("var1");
-      for (var i=0; i<varList2.length; i++) {
-    	  var k = varList2[i];
-          if (k == var_string) {
-          	x.options[i].selected=true;
-          	break;
-          }
-      }
-    }
-function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=true;
-    }
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-    function disable_pres1(ID)
-    {
-      var x;
-      x=document.getElementById("pres"+ID);
-      x.value = "N/A";
-      x.disabled=true;
-    }
-    function enable_pres1(ID)
-    {
-      var x;
-      x=document.getElementById("pres"+ID);
-      x.disabled=false;
-    }
-    function put_data(ID){
-      var list1=document.getElementById("data"+ID);
-      for(var key in dataList) {
-        if (key.slice(0,5)==="group") {
-          var og = document.createElement("OPTGROUP");
-          og.setAttribute('label', dataList[key][0]);
-          list1.add(og);
-        } else {
-          og.appendChild(new Option(key,key));
-        }
-      }
-    }
-    function put_var(ID) {
-      var list1=document.getElementById("var"+ID);
-      for (var i=list1.length-1; i>=0; i--) {
-      list1.remove(i);
-      }
-      data_string =  document.getElementById("data"+ID).value;
-      var varList2 = dataList[data_string][1];  
-      for (var i=0; i<varList2.length; i++) {
-        var k = varList2[i];
-        list1.add(new Option(varList[k][0],k));
-      }
-    }
-    function select_var1(ID)
-    {
-      var var_string;
-      var_string = $("#var"+ID).val();
-      variable = var_string;
-      if (varList[var_string][2]==3) {
-        enable_pres1(ID);
-      } else {
-        disable_pres1(ID);
-      }
-    }
-    $(document).ready(function(){
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        window.location.assign(durl);
-      });
-      $("#action1").click(function(event) {
-        Response = null;
-        disable_download_button();
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        var url = "http://" + window.location.hostname + ":9002/svc/regridAndDownload?";
-        var d1 = $("#data1").val();
-        var model1 = d1.replace("/", "_");
-        model1 = model1.toLowerCase();
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-        var v1 = $("#var1").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(v1);
-        var pres1 = $("#pres1").val();
-        arglist = arglist.concat("&plev=");
-        arglist = arglist.concat(pres1);
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var dlon = $("#dlon").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-        var dlat = $("#dlat").val();
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-        arglist = arglist.concat("&dlon=");
-        arglist = arglist.concat(dlon);
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-        arglist = arglist.concat("&dlat=");
-        arglist = arglist.concat(dlat);
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-        url = url + encodeURI(arglist);
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?"; 
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    if (text.indexOf("No Data") != -1) {
-                      $("#Response").html("No Data");
-                      $("#data_url").html("No Data");
-                      return;
-                    }
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                $("#Response").html(text);
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-      });
-    });
-  </script>
-} @main("Parameters of ConfId", scripts){ @flash_message()
-<p>
-<div id="dataSource" style="display: none;">@parameters.getDataSource()</div>
-<div id="variableName" style="display: none;">@parameters.getVariableName()</div>
-<div id="startYearMonth" style="display: none;">@parameters.getStartYearMonth()</div>
-<div id="endYearMonth" style="display: none;">@parameters.getEndYearMonth()</div>
-<div id="pressureLevel" style="display: none;">@parameters.getPressureLevel()</div>
-<div id="startLat" style="display: none;">@parameters.getStartLat()</div>
-<div id="endLat" style="display: none;">@parameters.getEndLat()</div>
-<div id="deltaLat" style="display: none;">@parameters.getDeltaLat()</div>
-<div id="startLon" style="display: none;">@parameters.getStartLon()</div>
-<div id="endLon" style="display: none;">@parameters.getEndLon()</div>
-<div id="deltaLon" style="display: none;">@parameters.getDeltaLon()</div>
-<div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div>
-<div id="dataURL" style="display: none;">@parameters.getDataURL()</div>
-<div id="serviceResponseText" style="display: none;">@parameters.getServiceResponseText()</div>
-<table border="1" width="800" align="center">
-	<tr>
-		<td colspan="4">
-			<center>
-				<b>Service: Regrid and Download</b><br> <br> This service
-				regrids a variable from a dataset according to the lat/lon/plev
-				specified by the user, and mades the regridded data downloadable by
-				the user. <br> <br>
-			</center>
-		</td>
-	</tr>
-	<tr>
-		<td>data source:</td>
-		<td><select name="data1" id="data1" onchange="put_var(1)">
-		</select></td>
-		<td>variable name:</td>
-		<td><select name="var1" id="var1" onchange="select_var1(1)">
-		</select></td>
-	</tr>
-	<tr>
-		<td colspan=4>atmosphere pressure level (hPa), or ocean pressure
-			level (dbar) <input list="plev1" id="pres1" size="50"
-			value="@parameters.getPressureLevel()"> <datalist id="plev1">
-				<option value="100000,80000,50000,30000,20000,10000"></option>
-				<option value="100000,30000,10000"></option>
-				<option value="100000,10000"></option>
-				<option value="50000,20000"></option>
-			</datalist>
-		</td>
-	</tr>
-	<tr>
-		<td>start year-month: <input id="t0"
-			value="@parameters.getStartYearMonth()" alt="start" size="10" /></td>
-		<td>end year-month: <input id="t1"
-			value="@parameters.getEndYearMonth()" alt="end" size="10" /></td>
-		<td colspan=2></td>
-	</tr>
-	<tr>
-		<td width="25%">start lat (deg): <input size=5 id="lat0"
-			value="@parameters.getStartLat()" /></td>
-		<td width="25%">end lat (deg): <input size=5 id="lat1"
-			value="@parameters.getEndLat()" /></td>
-		<td width="25%">grid size (deg): <input size=5 id="dlat"
-			value="@parameters.getDeltaLat()" /></td>
-		<td></td>
-	</tr>
-	<tr>
-		<td width="25%">start lon (deg): <input size=5 id="lon0"
-			value="@parameters.getStartLon()" /></td>
-		<td width="25%">end lon (deg): <input size=5 id="lon1"
-			value="@parameters.getEndLon()" /></td>
-		<td width="25%">grid size (deg): <input size=5 id="dlon"
-			value="@parameters.getDeltaLon()" /></td>
-		<td></td>
-	</tr>
-	<tr>
-		<td colspan="1">Execution purpose</td>
-		<td colspan="3">
-			<form>
-				<textarea name="purpose" id="purpose" rows="4" cols="50">@parameters.getExecutionPurpose()</textarea>
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2" align="center"><input id="action1" type="submit"
-			value="            Run Again            " style="height: 28px" /></td>
-		<form>
-			<td colspan="2" align="center"><input id="download_data"
-				type="button" value="Download Data" style="height: 28px" /></td>
-		</form>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="data_url"
-				cols="130" rows="2">@parameters.getDataURL()</textarea></td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea id="Response" cols="130"
-				rows="6">@parameters.getServiceResponseText()</textarea></td>
-	</tr>
-</table>
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/scatterAndHistogramTwoVariable.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/scatterAndHistogramTwoVariable.scala.html b/app/views/climate/scatterAndHistogramTwoVariable.scala.html
deleted file mode 100644
index edb1fc1..0000000
--- a/app/views/climate/scatterAndHistogramTwoVariable.scala.html
+++ /dev/null
@@ -1,1402 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(parameters: metadata.ScatterHistogramTwoVar) @import helper._
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-@scripts = {
-<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js"></script>
-	<script type="
-	text/javascript" src='@routes.Assets.at("javascripts/json2.js")'></script>
-<script type="text/javascript" src="@routes.Assets.at("javascripts/xmisc.js")"></script>
-<script type="text/javascript">
-	var Response = null;
-    var variable1 = "";
-    var variable2 = "";
-    window.onload = function() {
-      changeDataSource();
-      select_data1(1);
-      changeDataSource2();
-      select_data1(2);
-      changeVariableName();
-      select_var1(1);
-      changeVariableName2();
-      select_var1(2); 
-      disable_pres1(1);
-      disable_pres1(2);
-      $('#t0').val($('#startYearMonth').text());
-      $('#t1').val($('#endYearMonth').text());
-      $('#lat0').val($('#startLat').text());
-      $('#lat1').val($('#endLat').text());
-      $('#lon0').val($('#startLon').text());
-      $('#lon1').val($('#endLon').text());
-      $('#nSample').val($('#samples').text());
-      $('#purpose').html($('#executionPurpose').text());
-      var imageUrl = $('#image').text();
-      $('#Image').html('<img src="'+imageUrl+'" width=680 />');
-      $('#data_url').html($('#dataURL').text());
-      $('#Response').html($('serviceResponseText').text());
-    }
-    function changeDataSource(){
-    	var dataSource = $('#source1').text();
-     	var x = document.getElementById("data1");
-     	if(dataSource == "cccma_canesm2" ){
-     		x.options[0].selected=true;
-     	}
-     	else if(dataSource == "gfdl_esm2g" ){
-     		x.options[1].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-h" ){
-     		x.options[2].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-r" ){
-     		x.options[3].selected=true;
-     	}
-     	else if(dataSource == "ncar_cam5" ){
-     		x.options[4].selected=true;
-     	}
-     	else if(dataSource == "ncc_noresm" ){
-     		x.options[5].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-es" ){
-     		x.options[6].selected=true;
-     	}
-     	else if(dataSource == "cccma_canam4" ){
-     		x.options[7].selected=true;
-     	}
-     	else if(dataSource == "csiro_mk3.6" ){
-     		x.options[8].selected=true;
-     	}
-     	else if(dataSource == "gfdl_cm3" ){
-     		x.options[9].selected=true;
-     	}
-     	else if(dataSource == "ipsl_cm5a-lr" ){
-     		x.options[10].selected=true;
-     	}
-     	else if(dataSource == "miroc_miroc5" ){
-     		x.options[11].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-a" ){
-     		x.options[12].selected=true;
-     	}
-     	else if(dataSource == "nasa_modis" ){
-     		x.options[13].selected=true;
-     	}
-     	else if(dataSource == "nasa_amsre" ){
-     		x.options[14].selected=true;
-     	}
-     	else if(dataSource == "nasa_trmm" ){
-     		x.options[15].selected=true;
-     	}
-     	else if(dataSource == "nasa_gpcp" ){
-     		x.options[16].selected=true;
-     	}
-     	else if(dataSource == "nasa_quikscat" ){
-     		x.options[17].selected=true;
-     	}
-     	else if(dataSource == "nasa_aviso" ){
-     		x.options[18].selected=true;
-     	}
-     	else if(dataSource == "nasa_grace" ){
-     		x.options[19].selected=true;
-     	}
-     	else if(dataSource == "noaa_nodc" ){
-     		x.options[20].selected=true;
-     	}
-     	else if(dataSource == "nasa_ceres" ){
-     		x.options[21].selected=true;
-     	}
-     	else if(dataSource == "nasa_airs" ){
-     		x.options[22].selected=true;
-     	}
-     	else if(dataSource == "nasa_mls" ){
-     		x.options[23].selected=true;
-     	}
-     	else if(dataSource == "argo_agro" ){
-     		x.options[24].selected=true;
-     	}
-     	else if(dataSource == "ecmwf_interim" ){
-     		x.options[25].selected=true;
-     	}
-    }
-    function changeDataSource2(){
-    	var dataSource = $('#source2').text();
-     	var x = document.getElementById("data2");
-     	if(dataSource == "cccma_canesm2" ){
-        x.options[0].selected=true;
-      }
-      else if(dataSource == "gfdl_esm2g" ){
-        x.options[1].selected=true;
-      }
-      else if(dataSource == "giss_e2-h" ){
-        x.options[2].selected=true;
-      }
-      else if(dataSource == "giss_e2-r" ){
-        x.options[3].selected=true;
-      }
-      else if(dataSource == "ncar_cam5" ){
-        x.options[4].selected=true;
-      }
-      else if(dataSource == "ncc_noresm" ){
-        x.options[5].selected=true;
-      }
-      else if(dataSource == "ukmo_hadgem2-es" ){
-        x.options[6].selected=true;
-      }
-      else if(dataSource == "cccma_canam4" ){
-        x.options[7].selected=true;
-      }
-      else if(dataSource == "csiro_mk3.6" ){
-        x.options[8].selected=true;
-      }
-      else if(dataSource == "gfdl_cm3" ){
-        x.options[9].selected=true;
-      }
-      else if(dataSource == "ipsl_cm5a-lr" ){
-        x.options[10].selected=true;
-      }
-      else if(dataSource == "miroc_miroc5" ){
-        x.options[11].selected=true;
-      }
-      else if(dataSource == "ukmo_hadgem2-a" ){
-        x.options[12].selected=true;
-      }
-      else if(dataSource == "nasa_modis" ){
-        x.options[13].selected=true;
-      }
-      else if(dataSource == "nasa_amsre" ){
-        x.options[14].selected=true;
-      }
-      else if(dataSource == "nasa_trmm" ){
-        x.options[15].selected=true;
-      }
-      else if(dataSource == "nasa_gpcp" ){
-        x.options[16].selected=true;
-      }
-      else if(dataSource == "nasa_quikscat" ){
-        x.options[17].selected=true;
-      }
-      else if(dataSource == "nasa_aviso" ){
-        x.options[18].selected=true;
-      }
-      else if(dataSource == "nasa_grace" ){
-        x.options[19].selected=true;
-      }
-      else if(dataSource == "noaa_nodc" ){
-        x.options[20].selected=true;
-      }
-      else if(dataSource == "nasa_ceres" ){
-        x.options[21].selected=true;
-      }
-      else if(dataSource == "nasa_airs" ){
-        x.options[22].selected=true;
-      }
-      else if(dataSource == "nasa_mls" ){
-        x.options[23].selected=true;
-      }
-      else if(dataSource == "argo_agro" ){
-        x.options[24].selected=true;
-      }
-      else if(dataSource == "ecmwf_interim" ){
-        x.options[25].selected=true;
-      }
-    }
-    function changeVariableName(){
-    	var var_string = $('#variableName1').text();
-     	var x = document.getElementById("var1");
-     	if (var_string == "clt")
-     		x.options[1].selected=true;
-        else if (var_string == "ts")
-        	x.options[2].selected=true;
-        else if (var_string == "tos")
-        	x.options[3].selected=true;
-        else if (var_string == "pr")
-        	x.options[0].selected=true;
-        else if (var_string == "uas")
-        	x.options[4].selected=true;
-        else if (var_string == "vas")
-        	x.options[5].selected=true;
-        else if (var_string == "sfcWind")
-        	x.options[6].selected=true;
-        else if (var_string == "zos")
-        	x.options[7].selected=true;
-        else if (var_string == "lai")
-        	x.options[8].selected=true;
-        else if (var_string == "zl")
-        	x.options[9].selected=true;
-        else if (var_string == "zo")
-        	x.options[10].selected=true;
-        else if (var_string == "ohc700")
-        	x.options[11].selected=true;
-        else if (var_string == "ohc2000")
-        	x.options[12].selected=true;
-        else if (var_string == "rlds")
-        	x.options[13].selected=true;
-        else if (var_string == "rsds")
-        	x.options[14].selected=true;
-        else if (var_string == "rlus")
-        	x.options[15].selected=true;
-        else if (var_string == "rsus")
-        	x.options[16].selected=true;
-        else if (var_string == "rldscs")
-        	x.options[17].selected=true;
-        else if (var_string == "rsdscs")
-        	x.options[18].selected=true;
-        else if (var_string == "rsuscs")
-        	x.options[19].selected=true;
-        else if (var_string == "rsdt")
-        	x.options[20].selected=true;
-        else if (var_string == "rlutcs")
-        	x.options[21].selected=true;
-        else if (var_string == "rlut")
-        	x.options[22].selected=true;
-        else if (var_string == "rsutcs")
-        	x.options[23].selected=true;
-        else if (var_string == "rsut")
-        	x.options[24].selected=true;
-    }
-    function changeVariableName2(){
-    	var var_string = $('#variableName2').text();
-     	var x = document.getElementById("var2");
-     	if (var_string == "clt")
-     		x.options[1].selected=true;
-        else if (var_string == "ts")
-        	x.options[2].selected=true;
-        else if (var_string == "tos")
-        	x.options[3].selected=true;
-        else if (var_string == "pr")
-        	x.options[0].selected=true;
-        else if (var_string == "uas")
-        	x.options[4].selected=true;
-        else if (var_string == "vas")
-        	x.options[5].selected=true;
-        else if (var_string == "sfcWind")
-        	x.options[6].selected=true;
-        else if (var_string == "zos")
-        	x.options[7].selected=true;
-        else if (var_string == "lai")
-        	x.options[8].selected=true;
-        else if (var_string == "zl")
-        	x.options[9].selected=true;
-        else if (var_string == "zo")
-        	x.options[10].selected=true;
-        else if (var_string == "ohc700")
-        	x.options[11].selected=true;
-        else if (var_string == "ohc2000")
-        	x.options[12].selected=true;
-        else if (var_string == "rlds")
-        	x.options[13].selected=true;
-        else if (var_string == "rsds")
-        	x.options[14].selected=true;
-        else if (var_string == "rlus")
-        	x.options[15].selected=true;
-        else if (var_string == "rsus")
-        	x.options[16].selected=true;
-        else if (var_string == "rldscs")
-        	x.options[17].selected=true;
-        else if (var_string == "rsdscs")
-        	x.options[18].selected=true;
-        else if (var_string == "rsuscs")
-        	x.options[19].selected=true;
-        else if (var_string == "rsdt")
-        	x.options[20].selected=true;
-        else if (var_string == "rlutcs")
-        	x.options[21].selected=true;
-        else if (var_string == "rlut")
-        	x.options[22].selected=true;
-        else if (var_string == "rsutcs")
-        	x.options[23].selected=true;
-        else if (var_string == "rsut")
-        	x.options[24].selected=true;
-    }
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-    function unset_vars1(ID)
-    {
-      var x;
-      if (ID == 1) {
-        x=document.getElementById("var1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("var2");
-      }
-      x.options[0].disabled=true;
-      x.options[1].disabled=true;
-      x.options[2].disabled=true;
-      x.options[3].disabled=true;
-      x.options[4].disabled=true;
-      x.options[5].disabled=true;
-      x.options[6].disabled=true;
-      x.options[7].disabled=true;
-      x.options[8].disabled=true;
-      x.options[9].disabled=true;
-      x.options[10].disabled=true;
-      x.options[11].disabled=true;
-      x.options[12].disabled=true;
-      x.options[13].disabled=true;
-      x.options[14].disabled=true;
-      x.options[15].disabled=true;
-      x.options[16].disabled=true;
-      x.options[17].disabled=true;
-      x.options[18].disabled=true;
-      x.options[19].disabled=true;
-      x.options[20].disabled=true;
-      x.options[21].disabled=true;
-      x.options[22].disabled=true;
-      x.options[23].disabled=true;
-      x.options[24].disabled=true;
-      x.options[25].disabled=true;
-      x.options[26].disabled=true;
-      x.options[27].disabled=true;
-      x.options[28].disabled=true;
-      x.options[29].disabled=true;
-      x.options[30].disabled=true;
-      x.options[31].disabled=true;
-      x.options[32].disabled=true;
-    }
-    function disable_pres1(ID)
-    {
-      var x;
-      if (ID == 1) {
-        x=document.getElementById("pres1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("pres2");
-      }
-      x.value = "N/A";
-      x.disabled=true;
-    }
-    function enable_pres1(ID)
-    {
-      var x;
-      if (ID == 1) {
-        x=document.getElementById("pres1");
-      }
-      else if (ID == 2) {
-        x=document.getElementById("pres2");
-      }
-      x.disabled=false;
-    }
-    function select_var1(ID)
-    {
-      var var_string;
-      if (ID == 1) {
-        var_string = $("#var1").val();
-      }
-      else if (ID == 2) {
-        var_string = $("#var2").val();
-      }
-      disable_download_button();  
-      if (var_string == "Total Cloud Fraction") { 
-        if (ID == 1) {
-          variable1 = "clt";  
-        }
-        else if (ID == 2) {
-          variable2 = "clt";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Temperature") {
-        if (ID == 1) {
-          variable1 = "ts";  
-        }
-        else if (ID == 2) {
-          variable2 = "ts";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Sea Surface Temperature") { 
-        if (ID == 1) {
-          variable1 = "tos";  
-        }
-        else if (ID == 2) {
-          variable2 = "tos";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Precipitation Flux") { 
-        if (ID == 1) {
-          variable1 = "pr";  
-        }
-        else if (ID == 2) {
-          variable2 = "pr";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Eastward Near-Surface Wind") { 
-        if (ID == 1) {
-          variable1 = "uas";  
-        }
-        else if (ID == 2) {
-          variable2 = "uas";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Northward Near-Surface Wind") {  
-        if (ID == 1) {
-          variable1 = "vas";  
-        }
-        else if (ID == 2) {
-          variable2 = "vas";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Near-Surface Wind Speed") { 
-        if (ID == 1) {
-          variable1 = "sfcWind";  
-        }
-        else if (ID == 2) {
-          variable2 = "sfcWind";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Sea Surface Height") { 
-        if (ID == 1) {
-          variable1 = "zos";  
-        }
-        else if (ID == 2) {
-          variable2 = "zos";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Leaf Area Index") { 
-        if (ID == 1) {
-          variable1 = "lai";  
-        }
-        else if (ID == 2) {
-          variable2 = "lai";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Equivalent Water Height Over Land") {
-        if (ID == 1) {
-          variable1 = "zl";  
-        }
-        else if (ID == 2) {
-          variable2 = "zl";  
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Equivalent Water Height Over Ocean") {
-        if (ID == 1) {
-          variable1 = "zo";
-        }
-        else if (ID == 2) {
-          variable2 = "zo";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Ocean Heat Content Anomaly within 700 m Depth") {
-        if (ID == 1) {
-          variable1 = "ohc700";
-        }
-        else if (ID == 2) {
-          variable2 = "ohc700";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Ocean Heat Content Anomaly within 2000 m Depth") {
-        if (ID == 1) {
-          variable1 = "ohc2000";
-        }
-        else if (ID == 2) {
-          variable2 = "ohc2000";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlds";
-        }
-        else if (ID == 2) {
-          variable2 = "rlds";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsds";
-        }
-        else if (ID == 2) {
-          variable2 = "rsds";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Upwelling Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlus";
-        }
-        else if (ID == 2) {
-          variable2 = "rlus";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Upwelling Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsus";
-        }
-        else if (ID == 2) {
-          variable2 = "rsus";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Clear-Sky Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rldscs";
-        }
-        else if (ID == 2) {
-          variable2 = "rldscs";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Downwelling Clear-Sky Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsdscs";
-        }
-        else if (ID == 2) {
-          variable2 = "rsdscs";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Surface Upwelling Clear-Sky Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsuscs";
-        }
-        else if (ID == 2) {
-          variable2 = "rsuscs";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Incident Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsdt";
-        }
-        else if (ID == 2) {
-          variable2 = "rsdt";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Clear-Sky Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlutcs";
-        }
-        else if (ID == 2) {
-          variable2 = "rlutcs";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Longwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rlut";
-        }
-        else if (ID == 2) {
-          variable2 = "rlut";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Clear-Sky Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsutcs";
-        }
-        else if (ID == 2) {
-          variable2 = "rsutcs";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "TOA Outgoing Shortwave Radiation") {
-        if (ID == 1) {
-          variable1 = "rsut";
-        }
-        else if (ID == 2) {
-          variable2 = "rsut";
-        }
-        disable_pres1(ID);
-      }
-      else if (var_string == "Air Temperature") {
-        if (ID == 1) {
-          variable1 = "ta";
-        }
-        else if (ID == 2) {
-          variable2 = "ta";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Specific Humidity") {
-        if (ID == 1) {
-          variable1 = "hus";
-        }
-        else if (ID == 2) {
-          variable2 = "hus";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Cloud Ice Water Content") {
-        if (ID == 1) {
-          variable1 = "cli";
-        }
-        else if (ID == 2) {
-          variable2 = "cli";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Cloud Liquid Water Content") {
-        if (ID == 1) {
-          variable1 = "clw";
-        }
-        else if (ID == 2) {
-          variable2 = "clw";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Ocean Temperature") {
-        if (ID == 1) {
-          variable1 = "ot";
-        }
-        else if (ID == 2) {
-          variable2 = "ot";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Ocean Salinity") {
-        if (ID == 1) {
-          variable1 = "os";
-        }
-        else if (ID == 2) {
-          variable2 = "os";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Vertical Wind Velocity") {
-        if (ID == 1) {
-          variable1 = "wap";
-        }
-        else if (ID == 2) {
-          variable2 = "wap";
-        }
-        enable_pres1(ID);
-      }
-      else if (var_string == "Relative Humidity") {
-        if (ID == 1) {
-          variable1 = "hur";
-        }
-        else if (ID == 2) {
-          variable2 = "hur";
-        }
-        enable_pres1(ID);
-      }
-    }
-    function select_data1(ID)
-    {
-      var data_string;
-      var x;
-      if (ID == 1) {
-        data_string = $("#data1").val();
-        x = document.getElementById("var1");
-      }
-      else if (ID == 2) {
-        data_string = $("#data2").val();
-        x = document.getElementById("var2");
-      }
-      disable_download_button();
-      if (data_string == "NASA/AMSRE") {
-        unset_vars1(ID); 
-        x.options[3].selected=true;
-        disable_pres1(ID); 
-        x.options[3].disabled=false;
-      }
-      else if (data_string == "NASA/MODIS") {
-        unset_vars1(ID);
-        x.options[1].selected=true;
-        disable_pres1(ID); 
-        x.options[1].disabled=false;
-        x.options[8].disabled=false;
-      }
-      else if (data_string == "NASA/TRMM") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-      }
-      else if (data_string == "NASA/GPCP") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-      }
-      else if (data_string == "NASA/QuikSCAT") {
-        unset_vars1(ID);
-        x.options[4].selected=true;
-        disable_pres1(ID); 
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-      }
-      else if (data_string == "NASA/AVISO") {
-        unset_vars1(ID);
-        x.options[7].selected=true;
-        disable_pres1(ID); 
-        x.options[7].disabled=false;
-      }
-      else if (data_string == "NASA/GRACE") {
-        unset_vars1(ID);
-        x.options[9].selected=true;
-        disable_pres1(ID); 
-        x.options[9].disabled=false;
-        x.options[10].disabled=false;
-      }
-      else if (data_string == "NOAA/NODC") {
-        unset_vars1(ID);
-        x.options[11].selected=true;
-        disable_pres1(ID); 
-        x.options[11].disabled=false;
-        x.options[12].disabled=false;
-      }
-      else if (data_string == "NASA/CERES") {
-        unset_vars1(ID);
-        x.options[13].selected=true;
-        disable_pres1(ID); 
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-      }
-      else if (data_string == "NASA/AIRS") {
-        unset_vars1(ID);
-        x.options[25].selected=true;
-        enable_pres1(ID); 
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-      }
-      else if (data_string == "NASA/MLS") {
-        unset_vars1(ID);
-        x.options[25].selected=true;
-        enable_pres1(ID); 
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-      }
-      else if (data_string == "ARGO/ARGO") {
-        unset_vars1(ID);
-        x.options[29].selected=true;
-        enable_pres1(ID); 
-        x.options[29].disabled=false;
-        x.options[30].disabled=false;
-      }
-      else if (data_string == "CCCMA/CANAM4") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-      }
-      else if (data_string == "CSIRO/MK3.6") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-      }
-      else if (data_string == "NCAR/CAM5") {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[3].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[7].disabled=false;
-        x.options[8].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-      }
-      else if (data_string == "CCCMA/CANESM2" || data_string == "GFDL/ESM2G" ||
-               data_string == "GISS/E2-H" || data_string == "GISS/E2-R" ||
-               data_string == "NCC/NORESM" ||
-               data_string == "UKMO/HadGEM2-ES" ||
-               data_string == "GFDL/CM3" || data_string == "IPSL/CM5A-LR" ||
-               data_string == "MIROC/MIROC5" || data_string == "UKMO/HadGEM2-A"
-              ) {
-        unset_vars1(ID);
-        x.options[0].selected=true;
-        disable_pres1(ID); 
-        x.options[0].disabled=false;
-        x.options[1].disabled=false;
-        x.options[2].disabled=false;
-        x.options[3].disabled=false;
-        x.options[4].disabled=false;
-        x.options[5].disabled=false;
-        x.options[6].disabled=false;
-        x.options[7].disabled=false;
-        x.options[8].disabled=false;
-        x.options[13].disabled=false;
-        x.options[14].disabled=false;
-        x.options[15].disabled=false;
-        x.options[16].disabled=false;
-        x.options[17].disabled=false;
-        x.options[18].disabled=false;
-        x.options[19].disabled=false;
-        x.options[20].disabled=false;
-        x.options[21].disabled=false;
-        x.options[22].disabled=false;
-        x.options[23].disabled=false;
-        x.options[24].disabled=false;
-        x.options[25].disabled=false;
-        x.options[26].disabled=false;
-        x.options[27].disabled=false;
-        x.options[28].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-      }
-      else if (data_string == "ECMWF/interim") {
-        unset_vars1(ID);
-        x.options[3].selected=true;
-        disable_pres1(ID); 
-        x.options[3].disabled=false;
-        x.options[31].disabled=false;
-        x.options[32].disabled=false;
-      }
-      select_var1(ID);
-    }
-    $(document).ready(function(){
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        window.location.assign(durl);
-      });
-      $("#scatterPlot2V").click(function(event) {
-        Response = null;
-        disable_download_button();
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-        var url = "http://" + window.location.hostname + ":9002/svc/scatterPlot2V?";
-        var d1 = $("#data1").val();
-        var model1 = d1.replace("/", "_");
-        model1 = model1.toLowerCase();
-        var arglist = "";
-        arglist = arglist.concat("model1=");
-        arglist = arglist.concat(model1);
-        var v1 = $("#var1").val();
-        arglist = arglist.concat("&var1=");
-        arglist = arglist.concat(variable1);
-        var pres1 = $("#pres1").val();
-        arglist = arglist.concat("&pres1=");
-        arglist = arglist.concat(pres1);
-        var d2 = $("#data2").val();
-        var model2 = d2.replace("/", "_");
-        model2 = model2.toLowerCase();
-        arglist = arglist.concat("&model2=");
-        arglist = arglist.concat(model2);
-        var v2 = $("#var2").val();
-        arglist = arglist.concat("&var2=");
-        arglist = arglist.concat(variable2);
-        var pres2 = $("#pres2").val();
-        arglist = arglist.concat("&pres2=");
-        arglist = arglist.concat(pres2);
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-        var nSample = $("#nSample").val();
-        arglist = arglist.concat("&nSample=");
-        arglist = arglist.concat(nSample);
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-        url = url + encodeURI(arglist);
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/two_time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("2");
-        arglistTB = arglistTB.concat("&source1=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var1=");
-        arglistTB = arglistTB.concat(variable1);
-        arglistTB = arglistTB.concat("&source2=");
-        arglistTB = arglistTB.concat(d2);
-        arglistTB = arglistTB.concat("&var2=");
-        arglistTB = arglistTB.concat(variable2);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                var tb1 = data.time_bounds1;
-                var bds1 = String(tb1).split(",");
-                var lowerT1 = parseInt(bds1[0]);
-                var upperT1 = parseInt(bds1[1]);
-                var tb2 = data.time_bounds2;
-                var bds2 = String(tb2).split(",");
-                var lowerT2 = parseInt(bds2[0]);
-                var upperT2 = parseInt(bds2[1]);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                var lowerT, upperT;
-                if (lowerT1 == 0  || upperT1 == 0){ 
-                  alert("We do not have data for the data-1 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 == 0  || upperT2 == 0){ 
-                  alert("We do not have data for the data-2 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 > upperT1 || lowerT1 > upperT2) { 
-                  alert("The two data sets/vars do not have a common time range.");
-                  return;
-                }
-                else { 
-                  if (lowerT1 > lowerT2) { 
-                    lowerT = lowerT1;
-                  }
-                  else {
-                    lowerT = lowerT2;
-                  }
-                  if (upperT1 > upperT2) { 
-                    upperT = upperT2;
-                  }
-                  else {
-                    upperT = upperT1;
-                  }
-                }
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    if (text.indexOf("No Data") != -1) {
-                      $("#Image").html("No Data");
-                      $("#Response").html("No Data");
-                      $("#data_url").html("No Data");
-                      return;
-                    }
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                $("#Response").html(text);
-                var html = "<img src='"+data.url+"' width='820'/>";
-                $("#Image").html(html);
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-      });
-    });
-    </script>
-} @main("Service 19", scripts){ @flash_message()
-<p>
-<div id="source1" style="display: none;">@parameters.getSource1()</div>
-<div id="variableName1" style="display: none;">@parameters.getVaribaleName1()</div>
-<div id="pressureLevel1" style="display: none;">@parameters.getPressureLevel1()</div>
-<div id="startYearMonth" style="display: none;">@parameters.getStartYear()</div>
-<div id="startLat" style="display: none;">@parameters.getStartLat()</div>
-<div id="startLon" style="display: none;">@parameters.getStartLon()</div>
-<div id="source2" style="display: none;">@parameters.getSource2()</div>
-<div id="variableName2" style="display: none;">@parameters.getVaribaleName2()</div>
-<div id="pressureLevel2" style="display: none;">@parameters.getPressureLevel2()</div>
-<div id="endYearMonth" style="display: none;">@parameters.getEndYear()</div>
-<div id="endLat" style="display: none;">@parameters.getEndLat()</div>
-<div id="endLon" style="display: none;">@parameters.getEndLon()</div>
-<div id="samples" style="display: none;">@parameters.getSamples()</div>
-<div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div>
-<div id="image" style="display: none;">@parameters.getImage()</div>
-<div id="dataURL" style="display: none;">@parameters.getDataUrl()</div>
-<div id="serviceResponseText" style="display: none;">@parameters.getServiceResponse()</div>
-<table border="1" align="center">
-	<tr>
-		<td colspan="4">
-			<center>
-				<b>Service: Scatter and Histogram Plot of Two Variables</b><br>
-				<br> This service generates a scatter plot between two
-				specified variables and the histograms of the two variables, and
-				calculates the correlation of the two variables. The two variables
-				can be either a two-dimensional variable or a slice of a
-				three-dimensional variable at a specific pressure level. The number
-				of samples used for this analysis should be specified. <br>
-				<br>
-			</center>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2">
-			<center>data 1</center>
-		</td>
-		<td colspan="2">
-			<center>data 2</center>
-		</td>
-	</tr>
-	<tr>
-		<td>source:</td>
-		<td><select name="data1" , id="data1" onchange="select_data1(1)">
-				<optgroup label="Model: Historical">
-					<option selected="CCCMA/CANESM2">CCCMA/CANESM2</option>
-					<option>GFDL/ESM2G</option>
-					<option>GISS/E2-H</option>
-					<option>GISS/E2-R</option>
-					<option>NCAR/CAM5</option>
-					<option>NCC/NORESM</option>
-					<option>UKMO/HadGEM2-ES</option>
-				</optgroup>
-				<optgroup label="Model: AMIP">
-					<option>CCCMA/CANAM4</option>
-					<option>CSIRO/MK3.6</option>
-					<option>GFDL/CM3</option>
-					<option>IPSL/CM5A-LR</option>
-					<option>MIROC/MIROC5</option>
-					<option>UKMO/HadGEM2-A</option>
-				</optgroup>
-				<optgroup label="Observation">
-					<option>NASA/MODIS</option>
-					<option>NASA/AMSRE</option>
-					<option>NASA/TRMM</option>
-					<option>NASA/GPCP</option>
-					<option>NASA/QuikSCAT</option>
-					<option>NASA/AVISO</option>
-					<option>NASA/GRACE</option>
-					<option>NOAA/NODC</option>
-					<option>NASA/CERES</option>
-					<option>NASA/AIRS</option>
-					<option>NASA/MLS</option>
-					<option>ARGO/ARGO</option>
-				</optgroup>
-				<optgroup label="Reanalysis">
-					<option>ECMWF/interim</option>
-				</optgroup>
-		</select></td>
-		<td>source:</td>
-		<td><select name="data2" , id="data2" onchange="select_data1(2)">
-				<optgroup label="Model: Historical">
-					<option selected="CCCMA/CANESM2">CCCMA/CANESM2</option>
-					<option>GFDL/ESM2G</option>
-					<option>GISS/E2-H</option>
-					<option>GISS/E2-R</option>
-					<option>NCAR/CAM5</option>
-					<option>NCC/NORESM</option>
-					<option>UKMO/HadGEM2-ES</option>
-				</optgroup>
-				<optgroup label="Model: AMIP">
-					<option>CCCMA/CANAM4</option>
-					<option>CSIRO/MK3.6</option>
-					<option>GFDL/CM3</option>
-					<option>IPSL/CM5A-LR</option>
-					<option>MIROC/MIROC5</option>
-					<option>UKMO/HadGEM2-A</option>
-				</optgroup>
-				<optgroup label="Observation">
-					<option>NASA/MODIS</option>
-					<option>NASA/AMSRE</option>
-					<option>NASA/TRMM</option>
-					<option>NASA/GPCP</option>
-					<option>NASA/QuikSCAT</option>
-					<option>NASA/AVISO</option>
-					<option>NASA/GRACE</option>
-					<option>NOAA/NODC</option>
-					<option>NASA/CERES</option>
-					<option>NASA/AIRS</option>
-					<option>NASA/MLS</option>
-					<option>ARGO/ARGO</option>
-				</optgroup>
-				<optgroup label="Reanalysis">
-					<option>ECMWF/interim</option>
-				</optgroup>
-		</select></td>
-	</tr>
-	<tr>
-		<td>variable name:</td>
-		<td><select name="var1" , id="var1" onchange="select_var1(1)">
-				<option>Precipitation Flux</option>
-				<option>Total Cloud Fraction</option>
-				<option>Surface Temperature</option>
-				<option>Sea Surface Temperature</option>
-				<option>Eastward Near-Surface Wind</option>
-				<option>Northward Near-Surface Wind</option>
-				<option>Near-Surface Wind Speed</option>
-				<option>Sea Surface Height</option>
-				<option>Leaf Area Index</option>
-				<option>Equivalent Water Height Over Land</option>
-				<option>Equivalent Water Height Over Ocean</option>
-				<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-				<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-				<option>Surface Downwelling Longwave Radiation</option>
-				<option>Surface Downwelling Shortwave Radiation</option>
-				<option>Surface Upwelling Longwave Radiation</option>
-				<option>Surface Upwelling Shortwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-				<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-				<option>TOA Incident Shortwave Radiation</option>
-				<option>TOA Outgoing Longwave Radiation</option>
-				<option>TOA Outgoing Shortwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-				<option>Air Temperature</option>
-				<option>Specific Humidity</option>
-				<option>Cloud Ice Water Content</option>
-				<option>Cloud Liquid Water Content</option>
-				<option>Ocean Temperature</option>
-				<option>Ocean Salinity</option>
-				<option>Vertical Wind Velocity</option>
-				<option>Relative Humidity</option>
-		</select></td>
-		<td>variable name:</td>
-		<td><select name="var2" , id="var2" onchange="select_var1(2)">
-				<option>Precipitation Flux</option>
-				<option>Total Cloud Fraction</option>
-				<option>Surface Temperature</option>
-				<option>Sea Surface Temperature</option>
-				<option>Eastward Near-Surface Wind</option>
-				<option>Northward Near-Surface Wind</option>
-				<option>Near-Surface Wind Speed</option>
-				<option>Sea Surface Height</option>
-				<option>Leaf Area Index</option>
-				<option>Equivalent Water Height Over Land</option>
-				<option>Equivalent Water Height Over Ocean</option>
-				<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-				<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-				<option>Surface Downwelling Longwave Radiation</option>
-				<option>Surface Downwelling Shortwave Radiation</option>
-				<option>Surface Upwelling Longwave Radiation</option>
-				<option>Surface Upwelling Shortwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-				<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-				<option>TOA Incident Shortwave Radiation</option>
-				<option>TOA Outgoing Longwave Radiation</option>
-				<option>TOA Outgoing Shortwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-				<option>Air Temperature</option>
-				<option>Specific Humidity</option>
-				<option>Cloud Ice Water Content</option>
-				<option>Cloud Liquid Water Content</option>
-				<option>Ocean Temperature</option>
-				<option>Ocean Salinity</option>
-				<option>Vertical Wind Velocity</option>
-				<option>Relative Humidity</option>
-		</select></td>
-	</tr>
-	<tr>
-		<td>atmosphere pressure level (hPa) <br> or ocean pressure
-			level (dbar)
-		</td>
-		<td><input id="pres1" value="500" alt="pressure" /></td>
-		<td>atmosphere pressure level (hPa) <br> or ocean pressure
-			level (dbar)
-		</td>
-		<td><input id="pres2" value="500" alt="pressure" /></td>
-	</tr>
-	<tr>
-	</tr>
-	<tr>
-		<td>start year-month:</td>
-		<td><input id="t0" value="2004-01" alt="start" /></td>
-		<td>end year-month:</td>
-		<td><input id="t1" value="2004-12" alt="end" /></td>
-	</tr>
-	<tr>
-		<td>start lat (deg):</td>
-		<td><input id="lat0" value="-90" /></td>
-		<td>end lat (deg):</td>
-		<td><input id="lat1" value="90" /></td>
-	</tr>
-	<tr>
-		<td>start lon (deg):</td>
-		<td><input id="lon0" value="0" /></td>
-		<td>end lon (deg):</td>
-		<td><input id="lon1" value="360" /></td>
-	</tr>
-	<tr>
-		<td>number of samples:</td>
-		<td><input id="nSample" value="500" /></td>
-	</tr>
-	</tr>
-	<tr>
-		<td colspan="1">Execution purpose</td>
-		<td colspan="3">
-			<form>
-				<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2" align="center"><input id="scatterPlot2V"
-			type="submit" value="            Run Again            "
-			style="height: 28px" /></td>
-		<form>
-			<td colspan="2" align="center"><input id="download_data"
-				type="button" value="Download Data" style="height: 28px" /></td>
-		</form>
-	</tr>
-	<tr>
-		<td colspan="4">
-			<div id="Image">Image Here</div>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="data_url"
-				cols="130" rows="2">Data URL Here</textarea></td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea id="Response" cols="130"
-				rows="6">Service Response Text Here</textarea></td>
-	</tr>
-</table>
-}


[47/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/.sbtserver/connections/master.log
----------------------------------------------------------------------
diff --git a/.sbtserver/connections/master.log b/.sbtserver/connections/master.log
deleted file mode 100644
index 184d622..0000000
--- a/.sbtserver/connections/master.log
+++ /dev/null
@@ -1,10 +0,0 @@
-New log file opened at Tue Jul 21 18:34:15 PDT 2015 by 10232@Lenovo-PC
-Taking next connection to: 55671
-New client attempting to connect on port: 55672-55671
-  Address = /10.0.20.69:55671
-This client on port 55672 has uuid b9269a46-8719-48c7-8a73-da2559e32568 configName activator humanReadableName Activator protocolVersion 3 featureTags Vector()
-Connected Clients: activator-b9269a46-8719-48c7-8a73-da2559e32568
-Taking next connection to: 55671
-Checking to see if clients are empty...
-We have 1 non-daemon clients, continuing serving connections.
-Taking next connection to: 55671


[24/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/jquery.flot.min.js
----------------------------------------------------------------------
diff --git a/public/html/js/jquery.flot.min.js b/public/html/js/jquery.flot.min.js
deleted file mode 100644
index 31f465b..0000000
--- a/public/html/js/jquery.flot.min.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(){jQuery.color={};jQuery.color.make=function(G,H,J,I){var A={};A.r=G||0;A.g=H||0;A.b=J||0;A.a=I!=null?I:1;A.add=function(C,D){for(var E=0;E<C.length;++E){A[C.charAt(E)]+=D}return A.normalize()};A.scale=function(C,D){for(var E=0;E<C.length;++E){A[C.charAt(E)]*=D}return A.normalize()};A.toString=function(){if(A.a>=1){return"rgb("+[A.r,A.g,A.b].join(",")+")"}else{return"rgba("+[A.r,A.g,A.b,A.a].join(",")+")"}};A.normalize=function(){function C(E,D,F){return D<E?E:(D>F?F:D)}A.r=C(0,parseInt(A.r),255);A.g=C(0,parseInt(A.g),255);A.b=C(0,parseInt(A.b),255);A.a=C(0,A.a,1);return A};A.clone=function(){return jQuery.color.make(A.r,A.b,A.g,A.a)};return A.normalize()};jQuery.color.extract=function(E,F){var A;do{A=E.css(F).toLowerCase();if(A!=""&&A!="transparent"){break}E=E.parent()}while(!jQuery.nodeName(E.get(0),"body"));if(A=="rgba(0, 0, 0, 0)"){A="transparent"}return jQuery.color.parse(A)};jQuery.color.parse=function(A){var F,H=jQuery.color.make;if(F=/rgb\(\s*([0-9]{1,3})\s*,\s*([0
 -9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(A)){return H(parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10))}if(F=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(A)){return H(parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10),parseFloat(F[4]))}if(F=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(A)){return H(parseFloat(F[1])*2.55,parseFloat(F[2])*2.55,parseFloat(F[3])*2.55)}if(F=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(A)){return H(parseFloat(F[1])*2.55,parseFloat(F[2])*2.55,parseFloat(F[3])*2.55,parseFloat(F[4]))}if(F=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(A)){return H(parseInt(F[1],16),parseInt(F[2],16),parseInt(F[3],16))}if(F=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(A)){return H(parseInt(F[1]+F[1],16),parseInt(F[2]+F[2],16),parseInt(F[3]+F[3],16))}var G=jQu
 ery.trim(A).toLowerCase();if(G=="transparent"){return H(255,255,255,0)}else{F=B[G];return H(F[0],F[1],F[2])}};var B={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})();(function(
 C){function B(l,W,X,E){var O=[],g={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:0.85},xaxis:{mode:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,tickDecimals:null,tickSize:null,minTickSize:null,monthNames:null,timeformat:null,twelveHourClock:false},yaxis:{autoscaleMargin:0.02},x2axis:{autoscaleMargin:null},y2axis:{autoscaleMargin:0.02},series:{points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false},shadowSize:3},grid:{show:true,aboveData:false,color:"#545454",backgroundColor:null,tickColor:"rgba(0,0,0,0.15)",labelMargin:5,borderWidth:2,borderColor:null,mark
 ings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},hooks:{}},P=null,AC=null,AD=null,Y=null,AJ=null,s={xaxis:{},yaxis:{},x2axis:{},y2axis:{}},e={left:0,right:0,top:0,bottom:0},y=0,Q=0,I=0,t=0,L={processOptions:[],processRawData:[],processDatapoints:[],draw:[],bindEvents:[],drawOverlay:[]},G=this;G.setData=f;G.setupGrid=k;G.draw=AH;G.getPlaceholder=function(){return l};G.getCanvas=function(){return P};G.getPlotOffset=function(){return e};G.width=function(){return I};G.height=function(){return t};G.offset=function(){var AK=AD.offset();AK.left+=e.left;AK.top+=e.top;return AK};G.getData=function(){return O};G.getAxes=function(){return s};G.getOptions=function(){return g};G.highlight=AE;G.unhighlight=x;G.triggerRedrawOverlay=q;G.pointOffset=function(AK){return{left:parseInt(T(AK,"xaxis").p2c(+AK.x)+e.left),top:parseInt(T(AK,"yaxis").p2c(+AK.y)+e.top)}};G.hooks=L;b(G);r(X);c();f(W);k();AH();AG();function Z(AM,AK){A
 K=[G].concat(AK);for(var AL=0;AL<AM.length;++AL){AM[AL].apply(this,AK)}}function b(){for(var AK=0;AK<E.length;++AK){var AL=E[AK];AL.init(G);if(AL.options){C.extend(true,g,AL.options)}}}function r(AK){C.extend(true,g,AK);if(g.grid.borderColor==null){g.grid.borderColor=g.grid.color}if(g.xaxis.noTicks&&g.xaxis.ticks==null){g.xaxis.ticks=g.xaxis.noTicks}if(g.yaxis.noTicks&&g.yaxis.ticks==null){g.yaxis.ticks=g.yaxis.noTicks}if(g.grid.coloredAreas){g.grid.markings=g.grid.coloredAreas}if(g.grid.coloredAreasColor){g.grid.markingsColor=g.grid.coloredAreasColor}if(g.lines){C.extend(true,g.series.lines,g.lines)}if(g.points){C.extend(true,g.series.points,g.points)}if(g.bars){C.extend(true,g.series.bars,g.bars)}if(g.shadowSize){g.series.shadowSize=g.shadowSize}for(var AL in L){if(g.hooks[AL]&&g.hooks[AL].length){L[AL]=L[AL].concat(g.hooks[AL])}}Z(L.processOptions,[g])}function f(AK){O=M(AK);U();m()}function M(AN){var AL=[];for(var AK=0;AK<AN.length;++AK){var AM=C.extend(true,{},g.series);if(AN[A
 K].data){AM.data=AN[AK].data;delete AN[AK].data;C.extend(true,AM,AN[AK]);AN[AK].data=AM.data}else{AM.data=AN[AK]}AL.push(AM)}return AL}function T(AM,AK){var AL=AM[AK];if(!AL||AL==1){return s[AK]}if(typeof AL=="number"){return s[AK.charAt(0)+AL+AK.slice(1)]}return AL}function U(){var AP;var AV=O.length,AK=[],AN=[];for(AP=0;AP<O.length;++AP){var AS=O[AP].color;if(AS!=null){--AV;if(typeof AS=="number"){AN.push(AS)}else{AK.push(C.color.parse(O[AP].color))}}}for(AP=0;AP<AN.length;++AP){AV=Math.max(AV,AN[AP]+1)}var AL=[],AO=0;AP=0;while(AL.length<AV){var AR;if(g.colors.length==AP){AR=C.color.make(100,100,100)}else{AR=C.color.parse(g.colors[AP])}var AM=AO%2==1?-1:1;AR.scale("rgb",1+AM*Math.ceil(AO/2)*0.2);AL.push(AR);++AP;if(AP>=g.colors.length){AP=0;++AO}}var AQ=0,AW;for(AP=0;AP<O.length;++AP){AW=O[AP];if(AW.color==null){AW.color=AL[AQ].toString();++AQ}else{if(typeof AW.color=="number"){AW.color=AL[AW.color].toString()}}if(AW.lines.show==null){var AU,AT=true;for(AU in AW){if(AW[AU].show){
 AT=false;break}}if(AT){AW.lines.show=true}}AW.xaxis=T(AW,"xaxis");AW.yaxis=T(AW,"yaxis")}}function m(){var AW=Number.POSITIVE_INFINITY,AQ=Number.NEGATIVE_INFINITY,Ac,Aa,AZ,AV,AL,AR,Ab,AX,AP,AO,AK,Ai,Af,AT;for(AK in s){s[AK].datamin=AW;s[AK].datamax=AQ;s[AK].used=false}function AN(Al,Ak,Aj){if(Ak<Al.datamin){Al.datamin=Ak}if(Aj>Al.datamax){Al.datamax=Aj}}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];AR.datapoints={points:[]};Z(L.processRawData,[AR,AR.data,AR.datapoints])}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];var Ah=AR.data,Ae=AR.datapoints.format;if(!Ae){Ae=[];Ae.push({x:true,number:true,required:true});Ae.push({y:true,number:true,required:true});if(AR.bars.show){Ae.push({y:true,number:true,required:false,defaultValue:0})}AR.datapoints.format=Ae}if(AR.datapoints.pointsize!=null){continue}if(AR.datapoints.pointsize==null){AR.datapoints.pointsize=Ae.length}AX=AR.datapoints.pointsize;Ab=AR.datapoints.points;insertSteps=AR.lines.show&&AR.lines.steps;AR.xaxis.used=AR.yaxis.used=true;for(Aa=AZ=0;Aa<Ah
 .length;++Aa,AZ+=AX){AT=Ah[Aa];var AM=AT==null;if(!AM){for(AV=0;AV<AX;++AV){Ai=AT[AV];Af=Ae[AV];if(Af){if(Af.number&&Ai!=null){Ai=+Ai;if(isNaN(Ai)){Ai=null}}if(Ai==null){if(Af.required){AM=true}if(Af.defaultValue!=null){Ai=Af.defaultValue}}}Ab[AZ+AV]=Ai}}if(AM){for(AV=0;AV<AX;++AV){Ai=Ab[AZ+AV];if(Ai!=null){Af=Ae[AV];if(Af.x){AN(AR.xaxis,Ai,Ai)}if(Af.y){AN(AR.yaxis,Ai,Ai)}}Ab[AZ+AV]=null}}else{if(insertSteps&&AZ>0&&Ab[AZ-AX]!=null&&Ab[AZ-AX]!=Ab[AZ]&&Ab[AZ-AX+1]!=Ab[AZ+1]){for(AV=0;AV<AX;++AV){Ab[AZ+AX+AV]=Ab[AZ+AV]}Ab[AZ+1]=Ab[AZ-AX+1];AZ+=AX}}}}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];Z(L.processDatapoints,[AR,AR.datapoints])}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];Ab=AR.datapoints.points,AX=AR.datapoints.pointsize;var AS=AW,AY=AW,AU=AQ,Ad=AQ;for(Aa=0;Aa<Ab.length;Aa+=AX){if(Ab[Aa]==null){continue}for(AV=0;AV<AX;++AV){Ai=Ab[Aa+AV];Af=Ae[AV];if(!Af){continue}if(Af.x){if(Ai<AS){AS=Ai}if(Ai>AU){AU=Ai}}if(Af.y){if(Ai<AY){AY=Ai}if(Ai>Ad){Ad=Ai}}}}if(AR.bars.show){var Ag=AR.bars.align=="left"?0:
 -AR.bars.barWidth/2;if(AR.bars.horizontal){AY+=Ag;Ad+=Ag+AR.bars.barWidth}else{AS+=Ag;AU+=Ag+AR.bars.barWidth}}AN(AR.xaxis,AS,AU);AN(AR.yaxis,AY,Ad)}for(AK in s){if(s[AK].datamin==AW){s[AK].datamin=null}if(s[AK].datamax==AQ){s[AK].datamax=null}}}function c(){function AK(AM,AL){var AN=document.createElement("canvas");AN.width=AM;AN.height=AL;if(C.browser.msie){AN=window.G_vmlCanvasManager.initElement(AN)}return AN}y=l.width();Q=l.height();l.html("");if(l.css("position")=="static"){l.css("position","relative")}if(y<=0||Q<=0){throw"Invalid dimensions for plot, width = "+y+", height = "+Q}if(C.browser.msie){window.G_vmlCanvasManager.init_(document)}P=C(AK(y,Q)).appendTo(l).get(0);Y=P.getContext("2d");AC=C(AK(y,Q)).css({position:"absolute",left:0,top:0}).appendTo(l).get(0);AJ=AC.getContext("2d");AJ.stroke()}function AG(){AD=C([AC,P]);if(g.grid.hoverable){AD.mousemove(D)}if(g.grid.clickable){AD.click(d)}Z(L.bindEvents,[AD])}function k(){function AL(AT,AU){function AP(AV){return AV}var AS,
 AO,AQ=AU.transform||AP,AR=AU.inverseTransform;if(AT==s.xaxis||AT==s.x2axis){AS=AT.scale=I/(AQ(AT.max)-AQ(AT.min));AO=AQ(AT.min);if(AQ==AP){AT.p2c=function(AV){return(AV-AO)*AS}}else{AT.p2c=function(AV){return(AQ(AV)-AO)*AS}}if(!AR){AT.c2p=function(AV){return AO+AV/AS}}else{AT.c2p=function(AV){return AR(AO+AV/AS)}}}else{AS=AT.scale=t/(AQ(AT.max)-AQ(AT.min));AO=AQ(AT.max);if(AQ==AP){AT.p2c=function(AV){return(AO-AV)*AS}}else{AT.p2c=function(AV){return(AO-AQ(AV))*AS}}if(!AR){AT.c2p=function(AV){return AO-AV/AS}}else{AT.c2p=function(AV){return AR(AO-AV/AS)}}}}function AN(AR,AT){var AQ,AS=[],AP;AR.labelWidth=AT.labelWidth;AR.labelHeight=AT.labelHeight;if(AR==s.xaxis||AR==s.x2axis){if(AR.labelWidth==null){AR.labelWidth=y/(AR.ticks.length>0?AR.ticks.length:1)}if(AR.labelHeight==null){AS=[];for(AQ=0;AQ<AR.ticks.length;++AQ){AP=AR.ticks[AQ].label;if(AP){AS.push('<div class="tickLabel" style="float:left;width:'+AR.labelWidth+'px">'+AP+"</div>")}}if(AS.length>0){var AO=C('<div style="position:
 absolute;top:-10000px;width:10000px;font-size:smaller">'+AS.join("")+'<div style="clear:left"></div></div>').appendTo(l);AR.labelHeight=AO.height();AO.remove()}}}else{if(AR.labelWidth==null||AR.labelHeight==null){for(AQ=0;AQ<AR.ticks.length;++AQ){AP=AR.ticks[AQ].label;if(AP){AS.push('<div class="tickLabel">'+AP+"</div>")}}if(AS.length>0){var AO=C('<div style="position:absolute;top:-10000px;font-size:smaller">'+AS.join("")+"</div>").appendTo(l);if(AR.labelWidth==null){AR.labelWidth=AO.width()}if(AR.labelHeight==null){AR.labelHeight=AO.find("div").height()}AO.remove()}}}if(AR.labelWidth==null){AR.labelWidth=0}if(AR.labelHeight==null){AR.labelHeight=0}}function AM(){var AP=g.grid.borderWidth;for(i=0;i<O.length;++i){AP=Math.max(AP,2*(O[i].points.radius+O[i].points.lineWidth/2))}e.left=e.right=e.top=e.bottom=AP;var AO=g.grid.labelMargin+g.grid.borderWidth;if(s.xaxis.labelHeight>0){e.bottom=Math.max(AP,s.xaxis.labelHeight+AO)}if(s.yaxis.labelWidth>0){e.left=Math.max(AP,s.yaxis.labelWidth+
 AO)}if(s.x2axis.labelHeight>0){e.top=Math.max(AP,s.x2axis.labelHeight+AO)}if(s.y2axis.labelWidth>0){e.right=Math.max(AP,s.y2axis.labelWidth+AO)}I=y-e.left-e.right;t=Q-e.bottom-e.top}var AK;for(AK in s){K(s[AK],g[AK])}if(g.grid.show){for(AK in s){F(s[AK],g[AK]);p(s[AK],g[AK]);AN(s[AK],g[AK])}AM()}else{e.left=e.right=e.top=e.bottom=0;I=y;t=Q}for(AK in s){AL(s[AK],g[AK])}if(g.grid.show){h()}AI()}function K(AN,AQ){var AM=+(AQ.min!=null?AQ.min:AN.datamin),AK=+(AQ.max!=null?AQ.max:AN.datamax),AP=AK-AM;if(AP==0){var AL=AK==0?1:0.01;if(AQ.min==null){AM-=AL}if(AQ.max==null||AQ.min!=null){AK+=AL}}else{var AO=AQ.autoscaleMargin;if(AO!=null){if(AQ.min==null){AM-=AP*AO;if(AM<0&&AN.datamin!=null&&AN.datamin>=0){AM=0}}if(AQ.max==null){AK+=AP*AO;if(AK>0&&AN.datamax!=null&&AN.datamax<=0){AK=0}}}}AN.min=AM;AN.max=AK}function F(AP,AS){var AO;if(typeof AS.ticks=="number"&&AS.ticks>0){AO=AS.ticks}else{if(AP==s.xaxis||AP==s.x2axis){AO=0.3*Math.sqrt(y)}else{AO=0.3*Math.sqrt(Q)}}var AX=(AP.max-AP.min)/AO,A
 Z,AT,AV,AW,AR,AM,AL;if(AS.mode=="time"){var AU={second:1000,minute:60*1000,hour:60*60*1000,day:24*60*60*1000,month:30*24*60*60*1000,year:365.2425*24*60*60*1000};var AY=[[1,"second"],[2,"second"],[5,"second"],[10,"second"],[30,"second"],[1,"minute"],[2,"minute"],[5,"minute"],[10,"minute"],[30,"minute"],[1,"hour"],[2,"hour"],[4,"hour"],[8,"hour"],[12,"hour"],[1,"day"],[2,"day"],[3,"day"],[0.25,"month"],[0.5,"month"],[1,"month"],[2,"month"],[3,"month"],[6,"month"],[1,"year"]];var AN=0;if(AS.minTickSize!=null){if(typeof AS.tickSize=="number"){AN=AS.tickSize}else{AN=AS.minTickSize[0]*AU[AS.minTickSize[1]]}}for(AR=0;AR<AY.length-1;++AR){if(AX<(AY[AR][0]*AU[AY[AR][1]]+AY[AR+1][0]*AU[AY[AR+1][1]])/2&&AY[AR][0]*AU[AY[AR][1]]>=AN){break}}AZ=AY[AR][0];AV=AY[AR][1];if(AV=="year"){AM=Math.pow(10,Math.floor(Math.log(AX/AU.year)/Math.LN10));AL=(AX/AU.year)/AM;if(AL<1.5){AZ=1}else{if(AL<3){AZ=2}else{if(AL<7.5){AZ=5}else{AZ=10}}}AZ*=AM}if(AS.tickSize){AZ=AS.tickSize[0];AV=AS.tickSize[1]}AT=function(
 Ac){var Ah=[],Af=Ac.tickSize[0],Ai=Ac.tickSize[1],Ag=new Date(Ac.min);var Ab=Af*AU[Ai];if(Ai=="second"){Ag.setUTCSeconds(A(Ag.getUTCSeconds(),Af))}if(Ai=="minute"){Ag.setUTCMinutes(A(Ag.getUTCMinutes(),Af))}if(Ai=="hour"){Ag.setUTCHours(A(Ag.getUTCHours(),Af))}if(Ai=="month"){Ag.setUTCMonth(A(Ag.getUTCMonth(),Af))}if(Ai=="year"){Ag.setUTCFullYear(A(Ag.getUTCFullYear(),Af))}Ag.setUTCMilliseconds(0);if(Ab>=AU.minute){Ag.setUTCSeconds(0)}if(Ab>=AU.hour){Ag.setUTCMinutes(0)}if(Ab>=AU.day){Ag.setUTCHours(0)}if(Ab>=AU.day*4){Ag.setUTCDate(1)}if(Ab>=AU.year){Ag.setUTCMonth(0)}var Ak=0,Aj=Number.NaN,Ad;do{Ad=Aj;Aj=Ag.getTime();Ah.push({v:Aj,label:Ac.tickFormatter(Aj,Ac)});if(Ai=="month"){if(Af<1){Ag.setUTCDate(1);var Aa=Ag.getTime();Ag.setUTCMonth(Ag.getUTCMonth()+1);var Ae=Ag.getTime();Ag.setTime(Aj+Ak*AU.hour+(Ae-Aa)*Af);Ak=Ag.getUTCHours();Ag.setUTCHours(0)}else{Ag.setUTCMonth(Ag.getUTCMonth()+Af)}}else{if(Ai=="year"){Ag.setUTCFullYear(Ag.getUTCFullYear()+Af)}else{Ag.setTime(Aj+Ab)}}}whi
 le(Aj<Ac.max&&Aj!=Ad);return Ah};AW=function(Aa,Ad){var Af=new Date(Aa);if(AS.timeformat!=null){return C.plot.formatDate(Af,AS.timeformat,AS.monthNames)}var Ab=Ad.tickSize[0]*AU[Ad.tickSize[1]];var Ac=Ad.max-Ad.min;var Ae=(AS.twelveHourClock)?" %p":"";if(Ab<AU.minute){fmt="%h:%M:%S"+Ae}else{if(Ab<AU.day){if(Ac<2*AU.day){fmt="%h:%M"+Ae}else{fmt="%b %d %h:%M"+Ae}}else{if(Ab<AU.month){fmt="%b %d"}else{if(Ab<AU.year){if(Ac<AU.year){fmt="%b"}else{fmt="%b %y"}}else{fmt="%y"}}}}return C.plot.formatDate(Af,fmt,AS.monthNames)}}else{var AK=AS.tickDecimals;var AQ=-Math.floor(Math.log(AX)/Math.LN10);if(AK!=null&&AQ>AK){AQ=AK}AM=Math.pow(10,-AQ);AL=AX/AM;if(AL<1.5){AZ=1}else{if(AL<3){AZ=2;if(AL>2.25&&(AK==null||AQ+1<=AK)){AZ=2.5;++AQ}}else{if(AL<7.5){AZ=5}else{AZ=10}}}AZ*=AM;if(AS.minTickSize!=null&&AZ<AS.minTickSize){AZ=AS.minTickSize}if(AS.tickSize!=null){AZ=AS.tickSize}AP.tickDecimals=Math.max(0,(AK!=null)?AK:AQ);AT=function(Ac){var Ae=[];var Af=A(Ac.min,Ac.tickSize),Ab=0,Aa=Number.NaN,Ad;do{
 Ad=Aa;Aa=Af+Ab*Ac.tickSize;Ae.push({v:Aa,label:Ac.tickFormatter(Aa,Ac)});++Ab}while(Aa<Ac.max&&Aa!=Ad);return Ae};AW=function(Aa,Ab){return Aa.toFixed(Ab.tickDecimals)}}AP.tickSize=AV?[AZ,AV]:AZ;AP.tickGenerator=AT;if(C.isFunction(AS.tickFormatter)){AP.tickFormatter=function(Aa,Ab){return""+AS.tickFormatter(Aa,Ab)}}else{AP.tickFormatter=AW}}function p(AO,AQ){AO.ticks=[];if(!AO.used){return }if(AQ.ticks==null){AO.ticks=AO.tickGenerator(AO)}else{if(typeof AQ.ticks=="number"){if(AQ.ticks>0){AO.ticks=AO.tickGenerator(AO)}}else{if(AQ.ticks){var AP=AQ.ticks;if(C.isFunction(AP)){AP=AP({min:AO.min,max:AO.max})}var AN,AK;for(AN=0;AN<AP.length;++AN){var AL=null;var AM=AP[AN];if(typeof AM=="object"){AK=AM[0];if(AM.length>1){AL=AM[1]}}else{AK=AM}if(AL==null){AL=AO.tickFormatter(AK,AO)}AO.ticks[AN]={v:AK,label:AL}}}}}if(AQ.autoscaleMargin!=null&&AO.ticks.length>0){if(AQ.min==null){AO.min=Math.min(AO.min,AO.ticks[0].v)}if(AQ.max==null&&AO.ticks.length>1){AO.max=Math.max(AO.max,AO.ticks[AO.ticks.l
 ength-1].v)}}}function AH(){Y.clearRect(0,0,y,Q);var AL=g.grid;if(AL.show&&!AL.aboveData){S()}for(var AK=0;AK<O.length;++AK){AA(O[AK])}Z(L.draw,[Y]);if(AL.show&&AL.aboveData){S()}}function N(AL,AR){var AO=AR+"axis",AK=AR+"2axis",AN,AQ,AP,AM;if(AL[AO]){AN=s[AO];AQ=AL[AO].from;AP=AL[AO].to}else{if(AL[AK]){AN=s[AK];AQ=AL[AK].from;AP=AL[AK].to}else{AN=s[AO];AQ=AL[AR+"1"];AP=AL[AR+"2"]}}if(AQ!=null&&AP!=null&&AQ>AP){return{from:AP,to:AQ,axis:AN}}return{from:AQ,to:AP,axis:AN}}function S(){var AO;Y.save();Y.translate(e.left,e.top);if(g.grid.backgroundColor){Y.fillStyle=R(g.grid.backgroundColor,t,0,"rgba(255, 255, 255, 0)");Y.fillRect(0,0,I,t)}var AL=g.grid.markings;if(AL){if(C.isFunction(AL)){AL=AL({xmin:s.xaxis.min,xmax:s.xaxis.max,ymin:s.yaxis.min,ymax:s.yaxis.max,xaxis:s.xaxis,yaxis:s.yaxis,x2axis:s.x2axis,y2axis:s.y2axis})}for(AO=0;AO<AL.length;++AO){var AK=AL[AO],AQ=N(AK,"x"),AN=N(AK,"y");if(AQ.from==null){AQ.from=AQ.axis.min}if(AQ.to==null){AQ.to=AQ.axis.max}if(AN.from==null){AN.from
 =AN.axis.min}if(AN.to==null){AN.to=AN.axis.max}if(AQ.to<AQ.axis.min||AQ.from>AQ.axis.max||AN.to<AN.axis.min||AN.from>AN.axis.max){continue}AQ.from=Math.max(AQ.from,AQ.axis.min);AQ.to=Math.min(AQ.to,AQ.axis.max);AN.from=Math.max(AN.from,AN.axis.min);AN.to=Math.min(AN.to,AN.axis.max);if(AQ.from==AQ.to&&AN.from==AN.to){continue}AQ.from=AQ.axis.p2c(AQ.from);AQ.to=AQ.axis.p2c(AQ.to);AN.from=AN.axis.p2c(AN.from);AN.to=AN.axis.p2c(AN.to);if(AQ.from==AQ.to||AN.from==AN.to){Y.beginPath();Y.strokeStyle=AK.color||g.grid.markingsColor;Y.lineWidth=AK.lineWidth||g.grid.markingsLineWidth;Y.moveTo(AQ.from,AN.from);Y.lineTo(AQ.to,AN.to);Y.stroke()}else{Y.fillStyle=AK.color||g.grid.markingsColor;Y.fillRect(AQ.from,AN.to,AQ.to-AQ.from,AN.from-AN.to)}}}Y.lineWidth=1;Y.strokeStyle=g.grid.tickColor;Y.beginPath();var AM,AP=s.xaxis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=s.xaxis.max){continue}Y.moveTo(Math.floor(AP.p2c(AM))+Y.lineWidth/2,0);Y.lineTo(Math.floor(AP.p2c(AM))+Y.l
 ineWidth/2,t)}AP=s.yaxis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=AP.max){continue}Y.moveTo(0,Math.floor(AP.p2c(AM))+Y.lineWidth/2);Y.lineTo(I,Math.floor(AP.p2c(AM))+Y.lineWidth/2)}AP=s.x2axis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=AP.max){continue}Y.moveTo(Math.floor(AP.p2c(AM))+Y.lineWidth/2,-5);Y.lineTo(Math.floor(AP.p2c(AM))+Y.lineWidth/2,5)}AP=s.y2axis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=AP.max){continue}Y.moveTo(I-5,Math.floor(AP.p2c(AM))+Y.lineWidth/2);Y.lineTo(I+5,Math.floor(AP.p2c(AM))+Y.lineWidth/2)}Y.stroke();if(g.grid.borderWidth){var AR=g.grid.borderWidth;Y.lineWidth=AR;Y.strokeStyle=g.grid.borderColor;Y.strokeRect(-AR/2,-AR/2,I+AR,t+AR)}Y.restore()}function h(){l.find(".tickLabels").remove();var AK=['<div class="tickLabels" style="font-size:smaller;color:'+g.grid.color+'">'];function AM(AP,AQ){for(var AO=0;AO<AP.ticks.length;++AO){var AN=AP.ticks[AO];if(!AN.label||AN.v<AP.m
 in||AN.v>AP.max){continue}AK.push(AQ(AN,AP))}}var AL=g.grid.labelMargin+g.grid.borderWidth;AM(s.xaxis,function(AN,AO){return'<div style="position:absolute;top:'+(e.top+t+AL)+"px;left:"+Math.round(e.left+AO.p2c(AN.v)-AO.labelWidth/2)+"px;width:"+AO.labelWidth+'px;text-align:center" class="tickLabel">'+AN.label+"</div>"});AM(s.yaxis,function(AN,AO){return'<div style="position:absolute;top:'+Math.round(e.top+AO.p2c(AN.v)-AO.labelHeight/2)+"px;right:"+(e.right+I+AL)+"px;width:"+AO.labelWidth+'px;text-align:right" class="tickLabel">'+AN.label+"</div>"});AM(s.x2axis,function(AN,AO){return'<div style="position:absolute;bottom:'+(e.bottom+t+AL)+"px;left:"+Math.round(e.left+AO.p2c(AN.v)-AO.labelWidth/2)+"px;width:"+AO.labelWidth+'px;text-align:center" class="tickLabel">'+AN.label+"</div>"});AM(s.y2axis,function(AN,AO){return'<div style="position:absolute;top:'+Math.round(e.top+AO.p2c(AN.v)-AO.labelHeight/2)+"px;left:"+(e.left+I+AL)+"px;width:"+AO.labelWidth+'px;text-align:left" class="tickLa
 bel">'+AN.label+"</div>"});AK.push("</div>");l.append(AK.join(""))}function AA(AK){if(AK.lines.show){a(AK)}if(AK.bars.show){n(AK)}if(AK.points.show){o(AK)}}function a(AN){function AM(AY,AZ,AR,Ad,Ac){var Ae=AY.points,AS=AY.pointsize,AW=null,AV=null;Y.beginPath();for(var AX=AS;AX<Ae.length;AX+=AS){var AU=Ae[AX-AS],Ab=Ae[AX-AS+1],AT=Ae[AX],Aa=Ae[AX+1];if(AU==null||AT==null){continue}if(Ab<=Aa&&Ab<Ac.min){if(Aa<Ac.min){continue}AU=(Ac.min-Ab)/(Aa-Ab)*(AT-AU)+AU;Ab=Ac.min}else{if(Aa<=Ab&&Aa<Ac.min){if(Ab<Ac.min){continue}AT=(Ac.min-Ab)/(Aa-Ab)*(AT-AU)+AU;Aa=Ac.min}}if(Ab>=Aa&&Ab>Ac.max){if(Aa>Ac.max){continue}AU=(Ac.max-Ab)/(Aa-Ab)*(AT-AU)+AU;Ab=Ac.max}else{if(Aa>=Ab&&Aa>Ac.max){if(Ab>Ac.max){continue}AT=(Ac.max-Ab)/(Aa-Ab)*(AT-AU)+AU;Aa=Ac.max}}if(AU<=AT&&AU<Ad.min){if(AT<Ad.min){continue}Ab=(Ad.min-AU)/(AT-AU)*(Aa-Ab)+Ab;AU=Ad.min}else{if(AT<=AU&&AT<Ad.min){if(AU<Ad.min){continue}Aa=(Ad.min-AU)/(AT-AU)*(Aa-Ab)+Ab;AT=Ad.min}}if(AU>=AT&&AU>Ad.max){if(AT>Ad.max){continue}Ab=(Ad.max-AU)/(A
 T-AU)*(Aa-Ab)+Ab;AU=Ad.max}else{if(AT>=AU&&AT>Ad.max){if(AU>Ad.max){continue}Aa=(Ad.max-AU)/(AT-AU)*(Aa-Ab)+Ab;AT=Ad.max}}if(AU!=AW||Ab!=AV){Y.moveTo(Ad.p2c(AU)+AZ,Ac.p2c(Ab)+AR)}AW=AT;AV=Aa;Y.lineTo(Ad.p2c(AT)+AZ,Ac.p2c(Aa)+AR)}Y.stroke()}function AO(AX,Ae,Ac){var Af=AX.points,AR=AX.pointsize,AS=Math.min(Math.max(0,Ac.min),Ac.max),Aa,AV=0,Ad=false;for(var AW=AR;AW<Af.length;AW+=AR){var AU=Af[AW-AR],Ab=Af[AW-AR+1],AT=Af[AW],AZ=Af[AW+1];if(Ad&&AU!=null&&AT==null){Y.lineTo(Ae.p2c(AV),Ac.p2c(AS));Y.fill();Ad=false;continue}if(AU==null||AT==null){continue}if(AU<=AT&&AU<Ae.min){if(AT<Ae.min){continue}Ab=(Ae.min-AU)/(AT-AU)*(AZ-Ab)+Ab;AU=Ae.min}else{if(AT<=AU&&AT<Ae.min){if(AU<Ae.min){continue}AZ=(Ae.min-AU)/(AT-AU)*(AZ-Ab)+Ab;AT=Ae.min}}if(AU>=AT&&AU>Ae.max){if(AT>Ae.max){continue}Ab=(Ae.max-AU)/(AT-AU)*(AZ-Ab)+Ab;AU=Ae.max}else{if(AT>=AU&&AT>Ae.max){if(AU>Ae.max){continue}AZ=(Ae.max-AU)/(AT-AU)*(AZ-Ab)+Ab;AT=Ae.max}}if(!Ad){Y.beginPath();Y.moveTo(Ae.p2c(AU),Ac.p2c(AS));Ad=true}if(Ab>=Ac
 .max&&AZ>=Ac.max){Y.lineTo(Ae.p2c(AU),Ac.p2c(Ac.max));Y.lineTo(Ae.p2c(AT),Ac.p2c(Ac.max));AV=AT;continue}else{if(Ab<=Ac.min&&AZ<=Ac.min){Y.lineTo(Ae.p2c(AU),Ac.p2c(Ac.min));Y.lineTo(Ae.p2c(AT),Ac.p2c(Ac.min));AV=AT;continue}}var Ag=AU,AY=AT;if(Ab<=AZ&&Ab<Ac.min&&AZ>=Ac.min){AU=(Ac.min-Ab)/(AZ-Ab)*(AT-AU)+AU;Ab=Ac.min}else{if(AZ<=Ab&&AZ<Ac.min&&Ab>=Ac.min){AT=(Ac.min-Ab)/(AZ-Ab)*(AT-AU)+AU;AZ=Ac.min}}if(Ab>=AZ&&Ab>Ac.max&&AZ<=Ac.max){AU=(Ac.max-Ab)/(AZ-Ab)*(AT-AU)+AU;Ab=Ac.max}else{if(AZ>=Ab&&AZ>Ac.max&&Ab<=Ac.max){AT=(Ac.max-Ab)/(AZ-Ab)*(AT-AU)+AU;AZ=Ac.max}}if(AU!=Ag){if(Ab<=Ac.min){Aa=Ac.min}else{Aa=Ac.max}Y.lineTo(Ae.p2c(Ag),Ac.p2c(Aa));Y.lineTo(Ae.p2c(AU),Ac.p2c(Aa))}Y.lineTo(Ae.p2c(AU),Ac.p2c(Ab));Y.lineTo(Ae.p2c(AT),Ac.p2c(AZ));if(AT!=AY){if(AZ<=Ac.min){Aa=Ac.min}else{Aa=Ac.max}Y.lineTo(Ae.p2c(AT),Ac.p2c(Aa));Y.lineTo(Ae.p2c(AY),Ac.p2c(Aa))}AV=Math.max(AT,AY)}if(Ad){Y.lineTo(Ae.p2c(AV),Ac.p2c(AS));Y.fill()}}Y.save();Y.translate(e.left,e.top);Y.lineJoin="round";var AP=AN.lines.
 lineWidth,AK=AN.shadowSize;if(AP>0&&AK>0){Y.lineWidth=AK;Y.strokeStyle="rgba(0,0,0,0.1)";var AQ=Math.PI/18;AM(AN.datapoints,Math.sin(AQ)*(AP/2+AK/2),Math.cos(AQ)*(AP/2+AK/2),AN.xaxis,AN.yaxis);Y.lineWidth=AK/2;AM(AN.datapoints,Math.sin(AQ)*(AP/2+AK/4),Math.cos(AQ)*(AP/2+AK/4),AN.xaxis,AN.yaxis)}Y.lineWidth=AP;Y.strokeStyle=AN.color;var AL=V(AN.lines,AN.color,0,t);if(AL){Y.fillStyle=AL;AO(AN.datapoints,AN.xaxis,AN.yaxis)}if(AP>0){AM(AN.datapoints,0,0,AN.xaxis,AN.yaxis)}Y.restore()}function o(AN){function AP(AU,AT,Ab,AR,AV,AZ,AY){var Aa=AU.points,AQ=AU.pointsize;for(var AS=0;AS<Aa.length;AS+=AQ){var AX=Aa[AS],AW=Aa[AS+1];if(AX==null||AX<AZ.min||AX>AZ.max||AW<AY.min||AW>AY.max){continue}Y.beginPath();Y.arc(AZ.p2c(AX),AY.p2c(AW)+AR,AT,0,AV,false);if(Ab){Y.fillStyle=Ab;Y.fill()}Y.stroke()}}Y.save();Y.translate(e.left,e.top);var AO=AN.lines.lineWidth,AL=AN.shadowSize,AK=AN.points.radius;if(AO>0&&AL>0){var AM=AL/2;Y.lineWidth=AM;Y.strokeStyle="rgba(0,0,0,0.1)";AP(AN.datapoints,AK,null,AM+A
 M/2,Math.PI,AN.xaxis,AN.yaxis);Y.strokeStyle="rgba(0,0,0,0.2)";AP(AN.datapoints,AK,null,AM/2,Math.PI,AN.xaxis,AN.yaxis)}Y.lineWidth=AO;Y.strokeStyle=AN.color;AP(AN.datapoints,AK,V(AN.points,AN.color),0,2*Math.PI,AN.xaxis,AN.yaxis);Y.restore()}function AB(AV,AU,Ad,AQ,AY,AN,AL,AT,AS,Ac,AZ){var AM,Ab,AR,AX,AO,AK,AW,AP,Aa;if(AZ){AP=AK=AW=true;AO=false;AM=Ad;Ab=AV;AX=AU+AQ;AR=AU+AY;if(Ab<AM){Aa=Ab;Ab=AM;AM=Aa;AO=true;AK=false}}else{AO=AK=AW=true;AP=false;AM=AV+AQ;Ab=AV+AY;AR=Ad;AX=AU;if(AX<AR){Aa=AX;AX=AR;AR=Aa;AP=true;AW=false}}if(Ab<AT.min||AM>AT.max||AX<AS.min||AR>AS.max){return }if(AM<AT.min){AM=AT.min;AO=false}if(Ab>AT.max){Ab=AT.max;AK=false}if(AR<AS.min){AR=AS.min;AP=false}if(AX>AS.max){AX=AS.max;AW=false}AM=AT.p2c(AM);AR=AS.p2c(AR);Ab=AT.p2c(Ab);AX=AS.p2c(AX);if(AL){Ac.beginPath();Ac.moveTo(AM,AR);Ac.lineTo(AM,AX);Ac.lineTo(Ab,AX);Ac.lineTo(Ab,AR);Ac.fillStyle=AL(AR,AX);Ac.fill()}if(AO||AK||AW||AP){Ac.beginPath();Ac.moveTo(AM,AR+AN);if(AO){Ac.lineTo(AM,AX+AN)}else{Ac.moveTo(AM,AX
 +AN)}if(AW){Ac.lineTo(Ab,AX+AN)}else{Ac.moveTo(Ab,AX+AN)}if(AK){Ac.lineTo(Ab,AR+AN)}else{Ac.moveTo(Ab,AR+AN)}if(AP){Ac.lineTo(AM,AR+AN)}else{Ac.moveTo(AM,AR+AN)}Ac.stroke()}}function n(AM){function AL(AS,AR,AU,AP,AT,AW,AV){var AX=AS.points,AO=AS.pointsize;for(var AQ=0;AQ<AX.length;AQ+=AO){if(AX[AQ]==null){continue}AB(AX[AQ],AX[AQ+1],AX[AQ+2],AR,AU,AP,AT,AW,AV,Y,AM.bars.horizontal)}}Y.save();Y.translate(e.left,e.top);Y.lineWidth=AM.bars.lineWidth;Y.strokeStyle=AM.color;var AK=AM.bars.align=="left"?0:-AM.bars.barWidth/2;var AN=AM.bars.fill?function(AO,AP){return V(AM.bars,AM.color,AO,AP)}:null;AL(AM.datapoints,AK,AK+AM.bars.barWidth,0,AN,AM.xaxis,AM.yaxis);Y.restore()}function V(AM,AK,AL,AO){var AN=AM.fill;if(!AN){return null}if(AM.fillColor){return R(AM.fillColor,AL,AO,AK)}var AP=C.color.parse(AK);AP.a=typeof AN=="number"?AN:0.4;AP.normalize();return AP.toString()}function AI(){l.find(".legend").remove();if(!g.legend.show){return }var AP=[],AN=false,AV=g.legend.labelFormatter,AU,AR;f
 or(i=0;i<O.length;++i){AU=O[i];AR=AU.label;if(!AR){continue}if(i%g.legend.noColumns==0){if(AN){AP.push("</tr>")}AP.push("<tr>");AN=true}if(AV){AR=AV(AR,AU)}AP.push('<td class="legendColorBox"><div style="border:1px solid '+g.legend.labelBoxBorderColor+';padding:1px"><div style="width:4px;height:0;border:5px solid '+AU.color+';overflow:hidden"></div></div></td><td class="legendLabel">'+AR+"</td>")}if(AN){AP.push("</tr>")}if(AP.length==0){return }var AT='<table style="font-size:smaller;color:'+g.grid.color+'">'+AP.join("")+"</table>";if(g.legend.container!=null){C(g.legend.container).html(AT)}else{var AQ="",AL=g.legend.position,AM=g.legend.margin;if(AM[0]==null){AM=[AM,AM]}if(AL.charAt(0)=="n"){AQ+="top:"+(AM[1]+e.top)+"px;"}else{if(AL.charAt(0)=="s"){AQ+="bottom:"+(AM[1]+e.bottom)+"px;"}}if(AL.charAt(1)=="e"){AQ+="right:"+(AM[0]+e.right)+"px;"}else{if(AL.charAt(1)=="w"){AQ+="left:"+(AM[0]+e.left)+"px;"}}var AS=C('<div class="legend">'+AT.replace('style="','style="position:absolute;'+
 AQ+";")+"</div>").appendTo(l);if(g.legend.backgroundOpacity!=0){var AO=g.legend.backgroundColor;if(AO==null){AO=g.grid.backgroundColor;if(AO&&typeof AO=="string"){AO=C.color.parse(AO)}else{AO=C.color.extract(AS,"background-color")}AO.a=1;AO=AO.toString()}var AK=AS.children();C('<div style="position:absolute;width:'+AK.width()+"px;height:"+AK.height()+"px;"+AQ+"background-color:"+AO+';"> </div>').prependTo(AS).css("opacity",g.legend.backgroundOpacity)}}}var w=[],J=null;function AF(AR,AP,AM){var AX=g.grid.mouseActiveRadius,Aj=AX*AX+1,Ah=null,Aa=false,Af,Ad;for(Af=0;Af<O.length;++Af){if(!AM(O[Af])){continue}var AY=O[Af],AQ=AY.xaxis,AO=AY.yaxis,Ae=AY.datapoints.points,Ac=AY.datapoints.pointsize,AZ=AQ.c2p(AR),AW=AO.c2p(AP),AL=AX/AQ.scale,AK=AX/AO.scale;if(AY.lines.show||AY.points.show){for(Ad=0;Ad<Ae.length;Ad+=Ac){var AT=Ae[Ad],AS=Ae[Ad+1];if(AT==null){continue}if(AT-AZ>AL||AT-AZ<-AL||AS-AW>AK||AS-AW<-AK){continue}var AV=Math.abs(AQ.p2c(AT)-AR),AU=Math.abs(AO.p2c(AS)-AP),Ab=AV*AV+AU*AU;
 if(Ab<=Aj){Aj=Ab;Ah=[Af,Ad/Ac]}}}if(AY.bars.show&&!Ah){var AN=AY.bars.align=="left"?0:-AY.bars.barWidth/2,Ag=AN+AY.bars.barWidth;for(Ad=0;Ad<Ae.length;Ad+=Ac){var AT=Ae[Ad],AS=Ae[Ad+1],Ai=Ae[Ad+2];if(AT==null){continue}if(O[Af].bars.horizontal?(AZ<=Math.max(Ai,AT)&&AZ>=Math.min(Ai,AT)&&AW>=AS+AN&&AW<=AS+Ag):(AZ>=AT+AN&&AZ<=AT+Ag&&AW>=Math.min(Ai,AS)&&AW<=Math.max(Ai,AS))){Ah=[Af,Ad/Ac]}}}}if(Ah){Af=Ah[0];Ad=Ah[1];Ac=O[Af].datapoints.pointsize;return{datapoint:O[Af].datapoints.points.slice(Ad*Ac,(Ad+1)*Ac),dataIndex:Ad,series:O[Af],seriesIndex:Af}}return null}function D(AK){if(g.grid.hoverable){H("plothover",AK,function(AL){return AL.hoverable!=false})}}function d(AK){H("plotclick",AK,function(AL){return AL.clickable!=false})}function H(AL,AK,AM){var AN=AD.offset(),AS={pageX:AK.pageX,pageY:AK.pageY},AQ=AK.pageX-AN.left-e.left,AO=AK.pageY-AN.top-e.top;if(s.xaxis.used){AS.x=s.xaxis.c2p(AQ)}if(s.yaxis.used){AS.y=s.yaxis.c2p(AO)}if(s.x2axis.used){AS.x2=s.x2axis.c2p(AQ)}if(s.y2axis.used){
 AS.y2=s.y2axis.c2p(AO)}var AT=AF(AQ,AO,AM);if(AT){AT.pageX=parseInt(AT.series.xaxis.p2c(AT.datapoint[0])+AN.left+e.left);AT.pageY=parseInt(AT.series.yaxis.p2c(AT.datapoint[1])+AN.top+e.top)}if(g.grid.autoHighlight){for(var AP=0;AP<w.length;++AP){var AR=w[AP];if(AR.auto==AL&&!(AT&&AR.series==AT.series&&AR.point==AT.datapoint)){x(AR.series,AR.point)}}if(AT){AE(AT.series,AT.datapoint,AL)}}l.trigger(AL,[AS,AT])}function q(){if(!J){J=setTimeout(v,30)}}function v(){J=null;AJ.save();AJ.clearRect(0,0,y,Q);AJ.translate(e.left,e.top);var AL,AK;for(AL=0;AL<w.length;++AL){AK=w[AL];if(AK.series.bars.show){z(AK.series,AK.point)}else{u(AK.series,AK.point)}}AJ.restore();Z(L.drawOverlay,[AJ])}function AE(AM,AK,AN){if(typeof AM=="number"){AM=O[AM]}if(typeof AK=="number"){AK=AM.data[AK]}var AL=j(AM,AK);if(AL==-1){w.push({series:AM,point:AK,auto:AN});q()}else{if(!AN){w[AL].auto=false}}}function x(AM,AK){if(AM==null&&AK==null){w=[];q()}if(typeof AM=="number"){AM=O[AM]}if(typeof AK=="number"){AK=AM.data[
 AK]}var AL=j(AM,AK);if(AL!=-1){w.splice(AL,1);q()}}function j(AM,AN){for(var AK=0;AK<w.length;++AK){var AL=w[AK];if(AL.series==AM&&AL.point[0]==AN[0]&&AL.point[1]==AN[1]){return AK}}return -1}function u(AN,AM){var AL=AM[0],AR=AM[1],AQ=AN.xaxis,AP=AN.yaxis;if(AL<AQ.min||AL>AQ.max||AR<AP.min||AR>AP.max){return }var AO=AN.points.radius+AN.points.lineWidth/2;AJ.lineWidth=AO;AJ.strokeStyle=C.color.parse(AN.color).scale("a",0.5).toString();var AK=1.5*AO;AJ.beginPath();AJ.arc(AQ.p2c(AL),AP.p2c(AR),AK,0,2*Math.PI,false);AJ.stroke()}function z(AN,AK){AJ.lineWidth=AN.bars.lineWidth;AJ.strokeStyle=C.color.parse(AN.color).scale("a",0.5).toString();var AM=C.color.parse(AN.color).scale("a",0.5).toString();var AL=AN.bars.align=="left"?0:-AN.bars.barWidth/2;AB(AK[0],AK[1],AK[2]||0,AL,AL+AN.bars.barWidth,0,function(){return AM},AN.xaxis,AN.yaxis,AJ,AN.bars.horizontal)}function R(AM,AL,AQ,AO){if(typeof AM=="string"){return AM}else{var AP=Y.createLinearGradient(0,AQ,0,AL);for(var AN=0,AK=AM.colors.len
 gth;AN<AK;++AN){var AR=AM.colors[AN];if(typeof AR!="string"){AR=C.color.parse(AO).scale("rgb",AR.brightness);AR.a*=AR.opacity;AR=AR.toString()}AP.addColorStop(AN/(AK-1),AR)}return AP}}}C.plot=function(G,E,D){var F=new B(C(G),E,D,C.plot.plugins);return F};C.plot.plugins=[];C.plot.formatDate=function(H,E,G){var L=function(N){N=""+N;return N.length==1?"0"+N:N};var D=[];var M=false;var K=H.getUTCHours();var I=K<12;if(G==null){G=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}if(E.search(/%p|%P/)!=-1){if(K>12){K=K-12}else{if(K==0){K=12}}}for(var F=0;F<E.length;++F){var J=E.charAt(F);if(M){switch(J){case"h":J=""+K;break;case"H":J=L(K);break;case"M":J=L(H.getUTCMinutes());break;case"S":J=L(H.getUTCSeconds());break;case"d":J=""+H.getUTCDate();break;case"m":J=""+(H.getUTCMonth()+1);break;case"y":J=""+H.getUTCFullYear();break;case"b":J=""+G[H.getUTCMonth()];break;case"p":J=(I)?("am"):("pm");break;case"P":J=(I)?("AM"):("PM");break}D.push(J);M=false}else{if(J=="%"){M=t
 rue}else{D.push(J)}}}return D.join("")};function A(E,D){return D*Math.floor(E/D)}})(jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/json2.js
----------------------------------------------------------------------
diff --git a/public/html/js/json2.js b/public/html/js/json2.js
deleted file mode 100644
index 241a271..0000000
--- a/public/html/js/json2.js
+++ /dev/null
@@ -1,478 +0,0 @@
-/*
-    http://www.JSON.org/json2.js
-    2008-11-19
-
-    Public Domain.
-
-    NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
-
-    See http://www.JSON.org/js.html
-
-    This file creates a global JSON object containing two methods: stringify
-    and parse.
-
-        JSON.stringify(value, replacer, space)
-            value       any JavaScript value, usually an object or array.
-
-            replacer    an optional parameter that determines how object
-                        values are stringified for objects. It can be a
-                        function or an array of strings.
-
-            space       an optional parameter that specifies the indentation
-                        of nested structures. If it is omitted, the text will
-                        be packed without extra whitespace. If it is a number,
-                        it will specify the number of spaces to indent at each
-                        level. If it is a string (such as '\t' or '&nbsp;'),
-                        it contains the characters used to indent at each level.
-
-            This method produces a JSON text from a JavaScript value.
-
-            When an object value is found, if the object contains a toJSON
-            method, its toJSON method will be called and the result will be
-            stringified. A toJSON method does not serialize: it returns the
-            value represented by the name/value pair that should be serialized,
-            or undefined if nothing should be serialized. The toJSON method
-            will be passed the key associated with the value, and this will be
-            bound to the object holding the key.
-
-            For example, this would serialize Dates as ISO strings.
-
-                Date.prototype.toJSON = function (key) {
-                    function f(n) {
-                        // Format integers to have at least two digits.
-                        return n < 10 ? '0' + n : n;
-                    }
-
-                    return this.getUTCFullYear()   + '-' +
-                         f(this.getUTCMonth() + 1) + '-' +
-                         f(this.getUTCDate())      + 'T' +
-                         f(this.getUTCHours())     + ':' +
-                         f(this.getUTCMinutes())   + ':' +
-                         f(this.getUTCSeconds())   + 'Z';
-                };
-
-            You can provide an optional replacer method. It will be passed the
-            key and value of each member, with this bound to the containing
-            object. The value that is returned from your method will be
-            serialized. If your method returns undefined, then the member will
-            be excluded from the serialization.
-
-            If the replacer parameter is an array of strings, then it will be
-            used to select the members to be serialized. It filters the results
-            such that only members with keys listed in the replacer array are
-            stringified.
-
-            Values that do not have JSON representations, such as undefined or
-            functions, will not be serialized. Such values in objects will be
-            dropped; in arrays they will be replaced with null. You can use
-            a replacer function to replace those with JSON values.
-            JSON.stringify(undefined) returns undefined.
-
-            The optional space parameter produces a stringification of the
-            value that is filled with line breaks and indentation to make it
-            easier to read.
-
-            If the space parameter is a non-empty string, then that string will
-            be used for indentation. If the space parameter is a number, then
-            the indentation will be that many spaces.
-
-            Example:
-
-            text = JSON.stringify(['e', {pluribus: 'unum'}]);
-            // text is '["e",{"pluribus":"unum"}]'
-
-
-            text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t');
-            // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]'
-
-            text = JSON.stringify([new Date()], function (key, value) {
-                return this[key] instanceof Date ?
-                    'Date(' + this[key] + ')' : value;
-            });
-            // text is '["Date(---current time---)"]'
-
-
-        JSON.parse(text, reviver)
-            This method parses a JSON text to produce an object or array.
-            It can throw a SyntaxError exception.
-
-            The optional reviver parameter is a function that can filter and
-            transform the results. It receives each of the keys and values,
-            and its return value is used instead of the original value.
-            If it returns what it received, then the structure is not modified.
-            If it returns undefined then the member is deleted.
-
-            Example:
-
-            // Parse the text. Values that look like ISO date strings will
-            // be converted to Date objects.
-
-            myData = JSON.parse(text, function (key, value) {
-                var a;
-                if (typeof value === 'string') {
-                    a =
-/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
-                    if (a) {
-                        return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
-                            +a[5], +a[6]));
-                    }
-                }
-                return value;
-            });
-
-            myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) {
-                var d;
-                if (typeof value === 'string' &&
-                        value.slice(0, 5) === 'Date(' &&
-                        value.slice(-1) === ')') {
-                    d = new Date(value.slice(5, -1));
-                    if (d) {
-                        return d;
-                    }
-                }
-                return value;
-            });
-
-
-    This is a reference implementation. You are free to copy, modify, or
-    redistribute.
-
-    This code should be minified before deployment.
-    See http://javascript.crockford.com/jsmin.html
-
-    USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO
-    NOT CONTROL.
-*/
-
-/*jslint evil: true */
-
-/*global JSON */
-
-/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply,
-    call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
-    getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,
-    lastIndex, length, parse, prototype, push, replace, slice, stringify,
-    test, toJSON, toString, valueOf
-*/
-
-// Create a JSON object only if one does not already exist. We create the
-// methods in a closure to avoid creating global variables.
-
-if (!this.JSON) {
-    JSON = {};
-}
-(function () {
-
-    function f(n) {
-        // Format integers to have at least two digits.
-        return n < 10 ? '0' + n : n;
-    }
-
-    if (typeof Date.prototype.toJSON !== 'function') {
-
-        Date.prototype.toJSON = function (key) {
-
-            return this.getUTCFullYear()   + '-' +
-                 f(this.getUTCMonth() + 1) + '-' +
-                 f(this.getUTCDate())      + 'T' +
-                 f(this.getUTCHours())     + ':' +
-                 f(this.getUTCMinutes())   + ':' +
-                 f(this.getUTCSeconds())   + 'Z';
-        };
-
-        String.prototype.toJSON =
-        Number.prototype.toJSON =
-        Boolean.prototype.toJSON = function (key) {
-            return this.valueOf();
-        };
-    }
-
-    var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
-        escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
-        gap,
-        indent,
-        meta = {    // table of character substitutions
-            '\b': '\\b',
-            '\t': '\\t',
-            '\n': '\\n',
-            '\f': '\\f',
-            '\r': '\\r',
-            '"' : '\\"',
-            '\\': '\\\\'
-        },
-        rep;
-
-
-    function quote(string) {
-
-// If the string contains no control characters, no quote characters, and no
-// backslash characters, then we can safely slap some quotes around it.
-// Otherwise we must also replace the offending characters with safe escape
-// sequences.
-
-        escapable.lastIndex = 0;
-        return escapable.test(string) ?
-            '"' + string.replace(escapable, function (a) {
-                var c = meta[a];
-                return typeof c === 'string' ? c :
-                    '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
-            }) + '"' :
-            '"' + string + '"';
-    }
-
-
-    function str(key, holder) {
-
-// Produce a string from holder[key].
-
-        var i,          // The loop counter.
-            k,          // The member key.
-            v,          // The member value.
-            length,
-            mind = gap,
-            partial,
-            value = holder[key];
-
-// If the value has a toJSON method, call it to obtain a replacement value.
-
-        if (value && typeof value === 'object' &&
-                typeof value.toJSON === 'function') {
-            value = value.toJSON(key);
-        }
-
-// If we were called with a replacer function, then call the replacer to
-// obtain a replacement value.
-
-        if (typeof rep === 'function') {
-            value = rep.call(holder, key, value);
-        }
-
-// What happens next depends on the value's type.
-
-        switch (typeof value) {
-        case 'string':
-            return quote(value);
-
-        case 'number':
-
-// JSON numbers must be finite. Encode non-finite numbers as null.
-
-            return isFinite(value) ? String(value) : 'null';
-
-        case 'boolean':
-        case 'null':
-
-// If the value is a boolean or null, convert it to a string. Note:
-// typeof null does not produce 'null'. The case is included here in
-// the remote chance that this gets fixed someday.
-
-            return String(value);
-
-// If the type is 'object', we might be dealing with an object or an array or
-// null.
-
-        case 'object':
-
-// Due to a specification blunder in ECMAScript, typeof null is 'object',
-// so watch out for that case.
-
-            if (!value) {
-                return 'null';
-            }
-
-// Make an array to hold the partial results of stringifying this object value.
-
-            gap += indent;
-            partial = [];
-
-// Is the value an array?
-
-            if (Object.prototype.toString.apply(value) === '[object Array]') {
-
-// The value is an array. Stringify every element. Use null as a placeholder
-// for non-JSON values.
-
-                length = value.length;
-                for (i = 0; i < length; i += 1) {
-                    partial[i] = str(i, value) || 'null';
-                }
-
-// Join all of the elements together, separated with commas, and wrap them in
-// brackets.
-
-                v = partial.length === 0 ? '[]' :
-                    gap ? '[\n' + gap +
-                            partial.join(',\n' + gap) + '\n' +
-                                mind + ']' :
-                          '[' + partial.join(',') + ']';
-                gap = mind;
-                return v;
-            }
-
-// If the replacer is an array, use it to select the members to be stringified.
-
-            if (rep && typeof rep === 'object') {
-                length = rep.length;
-                for (i = 0; i < length; i += 1) {
-                    k = rep[i];
-                    if (typeof k === 'string') {
-                        v = str(k, value);
-                        if (v) {
-                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
-                        }
-                    }
-                }
-            } else {
-
-// Otherwise, iterate through all of the keys in the object.
-
-                for (k in value) {
-                    if (Object.hasOwnProperty.call(value, k)) {
-                        v = str(k, value);
-                        if (v) {
-                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
-                        }
-                    }
-                }
-            }
-
-// Join all of the member texts together, separated with commas,
-// and wrap them in braces.
-
-            v = partial.length === 0 ? '{}' :
-                gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
-                        mind + '}' : '{' + partial.join(',') + '}';
-            gap = mind;
-            return v;
-        }
-    }
-
-// If the JSON object does not yet have a stringify method, give it one.
-
-    if (typeof JSON.stringify !== 'function') {
-        JSON.stringify = function (value, replacer, space) {
-
-// The stringify method takes a value and an optional replacer, and an optional
-// space parameter, and returns a JSON text. The replacer can be a function
-// that can replace values, or an array of strings that will select the keys.
-// A default replacer method can be provided. Use of the space parameter can
-// produce text that is more easily readable.
-
-            var i;
-            gap = '';
-            indent = '';
-
-// If the space parameter is a number, make an indent string containing that
-// many spaces.
-
-            if (typeof space === 'number') {
-                for (i = 0; i < space; i += 1) {
-                    indent += ' ';
-                }
-
-// If the space parameter is a string, it will be used as the indent string.
-
-            } else if (typeof space === 'string') {
-                indent = space;
-            }
-
-// If there is a replacer, it must be a function or an array.
-// Otherwise, throw an error.
-
-            rep = replacer;
-            if (replacer && typeof replacer !== 'function' &&
-                    (typeof replacer !== 'object' ||
-                     typeof replacer.length !== 'number')) {
-                throw new Error('JSON.stringify');
-            }
-
-// Make a fake root object containing our value under the key of ''.
-// Return the result of stringifying the value.
-
-            return str('', {'': value});
-        };
-    }
-
-
-// If the JSON object does not yet have a parse method, give it one.
-
-    if (typeof JSON.parse !== 'function') {
-        JSON.parse = function (text, reviver) {
-
-// The parse method takes a text and an optional reviver function, and returns
-// a JavaScript value if the text is a valid JSON text.
-
-            var j;
-
-            function walk(holder, key) {
-
-// The walk method is used to recursively walk the resulting structure so
-// that modifications can be made.
-
-                var k, v, value = holder[key];
-                if (value && typeof value === 'object') {
-                    for (k in value) {
-                        if (Object.hasOwnProperty.call(value, k)) {
-                            v = walk(value, k);
-                            if (v !== undefined) {
-                                value[k] = v;
-                            } else {
-                                delete value[k];
-                            }
-                        }
-                    }
-                }
-                return reviver.call(holder, key, value);
-            }
-
-
-// Parsing happens in four stages. In the first stage, we replace certain
-// Unicode characters with escape sequences. JavaScript handles many characters
-// incorrectly, either silently deleting them, or treating them as line endings.
-
-            cx.lastIndex = 0;
-            if (cx.test(text)) {
-                text = text.replace(cx, function (a) {
-                    return '\\u' +
-                        ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
-                });
-            }
-
-// In the second stage, we run the text against regular expressions that look
-// for non-JSON patterns. We are especially concerned with '()' and 'new'
-// because they can cause invocation, and '=' because it can cause mutation.
-// But just to be safe, we want to reject all unexpected forms.
-
-// We split the second stage into 4 regexp operations in order to work around
-// crippling inefficiencies in IE's and Safari's regexp engines. First we
-// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we
-// replace all simple value tokens with ']' characters. Third, we delete all
-// open brackets that follow a colon or comma or that begin the text. Finally,
-// we look to see that the remaining characters are only whitespace or ']' or
-// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
-
-            if (/^[\],:{}\s]*$/.
-test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').
-replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
-replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
-
-// In the third stage we use the eval function to compile the text into a
-// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
-// in JavaScript: it can begin a block or an object literal. We wrap the text
-// in parens to eliminate the ambiguity.
-
-                j = eval('(' + text + ')');
-
-// In the optional fourth stage, we recursively walk the new structure, passing
-// each name/value pair to a reviver function for possible transformation.
-
-                return typeof reviver === 'function' ?
-                    walk({'': j}, '') : j;
-            }
-
-// If the text is not JSON parseable, then a SyntaxError is thrown.
-
-            throw new SyntaxError('JSON.parse');
-        };
-    }
-})();

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/varList.js
----------------------------------------------------------------------
diff --git a/public/html/js/varList.js b/public/html/js/varList.js
deleted file mode 100644
index efa8b4a..0000000
--- a/public/html/js/varList.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// shortName: [longName, groupName, dimension, timeRange],
-var varList = {
-"pr":       ["Precipitation Flux",                                "", 2, ""],    
-"clt":      ["Total Cloud Fraction",                              "", 2, ""],      
-"ts":       ["Surface Temperature",                               "", 2, ""],     
-"tos":      ["Sea Surface Temperature",                           "", 2, ""],         
-"uas":      ["Eastward Near-Surface Wind",                        "", 2, ""],            
-"vas":      ["Northward Near-Surface Wind",                       "", 2, ""],             
-"sfcWind":  ["Near-Surface Wind Speed",                           "", 2, ""],         
-"zos":      ["Sea Surface Height",                                "", 2, ""],    
-"lai":      ["Leaf Area Index",                                   "", 2, ""], 
-"zl":       ["Equivalent Water Height Over Land",                 "", 2, ""],                   
-"zo":       ["Equivalent Water Height Over Ocean",                "", 2, ""],                    
-"ohc700":   ["Ocean Heat Content Anomaly within 700 m Depth",     "", 2, ""],                
-"ohc2000":  ["Ocean Heat Content Anomaly within 2000 m Depth",    "", 2, ""],                
-"rlds":     ["Surface Downwelling Longwave Radiation",            "", 2, ""],                        
-"rsds":     ["Surface Downwelling Shortwave Radiation",           "", 2, ""],                         
-"rlus":     ["Surface Upwelling Longwave Radiation",              "", 2, ""],                      
-"rsus":     ["Surface Upwelling Shortwave Radiation",             "", 2, ""],                       
-"rldscs":   ["Surface Downwelling Clear-Sky Longwave Radiation",  "", 2, ""],             
-"rsdscs":   ["Surface Downwelling Clear-Sky Shortwave Radiation", "", 2, ""],                   
-"rsuscs":   ["Surface Upwelling Clear-Sky Shortwave Radiation",   "", 2, ""],                
-"rsdt":     ["TOA Incident Shortwave Radiation",                  "", 2, ""],                  
-"rlut":     ["TOA Outgoing Longwave Radiation",                   "", 2, ""],                 
-"rsut":     ["TOA Outgoing Shortwave Radiation",                  "", 2, ""],                  
-"rlutcs":   ["TOA Outgoing Clear-Sky Longwave Radiation",         "", 2, ""],       
-"rsutcs":   ["TOA Outgoing Clear-Sky Shortwave Radiation",        "", 2, ""],              
-"ta":       ["Air Temperature",                                   "", 3, ""], 
-"hus":      ["Specific Humidity",                                 "", 3, ""],   
-"cli":      ["Cloud Ice Water Content",                           "", 3, ""],         
-"clw":      ["Cloud Liquid Water Content",                        "", 3, ""],            
-"ot":       ["Ocean Temperature",                                 "", 3, ""],   
-"os":       ["Ocean Salinity",                                    "", 3, ""],
-"wap":      ["Vertical Wind Velocity",                            "", 3, ""],        
-"hur":      ["Relative Humidity",                                 "", 3, ""],   
-};

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/xmisc.js
----------------------------------------------------------------------
diff --git a/public/html/js/xmisc.js b/public/html/js/xmisc.js
deleted file mode 100644
index 5d08037..0000000
--- a/public/html/js/xmisc.js
+++ /dev/null
@@ -1,320 +0,0 @@
-xmisc = {};
-
-// use parameters in attributes (list) to extract valid points from data (list)
-xmisc.get_valid_data_hdf4 = function(attrs, data) {
-
-    var fillValue = null;
-    //var missingValue = null;
-    var scaleFactor = null;
-    var offset = null;
-    var validRange = null;
-    var count = 0;
-    for (var i=0; i<attrs.length; i++) {
-        var attr = attrs[i];
-        var name = attr["name"];
-        var value = attr["value"];
-        if (name == "_FillValue") {
-            fillValue = value;
-            count += 1;
-        }
-        if (name == "scale_factor") {
-            scaleFactor = value;
-            count += 1;
-        }
-        if (name == "add_offset") {
-            offset = value;
-            count += 1;
-        }
-        if (name == "valid_range") {
-            validRange = value;
-            count += 1;
-        }
-    }
-
-    // insist on seeing all 4 of fillValue, scaleFactor, offset, validRange
-    //if (count != 4)
-    if (scaleFactor == null || offset == null || validRange == null)
-        return this.get_valid_data_default(data);
-
-    // sometimes validRange is bad, such as [0, -1], e.g.,
-    // http://oscar1.jpl.nasa.gov/data/cache/ladsweb.nascom.nasa.gov/allData/5/MOD05_L2/2008/123/MOD05_L2.A2008123.0405.005.2008124113323.hdf/Quality_Assurance_Infrared/?output=json
-    var validRangeIsOkay= true;
-    if (validRange[0] > validRange[1])
-        var validRangeIsOkay = false;
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (validRangeIsOkay && data[i] < validRange[0])
-            continue;
-        if (validRangeIsOkay && data[i] > validRange[1])
-            continue;
-        z.push([i, data[i]*scaleFactor+offset]);
-    }
-
-    return z;
-}
-
-// use parameters in attributes (list) to extract valid points from data (list)
-xmisc.get_valid_data_hdf5 = function(attrs, data) {
-
-    var fillValue = null;
-    var missingValue = null;
-    //var scaleFactor = null;
-    //var offset = null;
-    //var validRange = null;
-    var count = 0;
-    for (var i=0; i<attrs.length; i++) {
-        var attr = attrs[i];
-        var name = attr["name"];
-        var value = attr["value"];
-        if (name == "_FillValue") {
-            fillValue = value;
-            count += 1;
-        }
-        if (name == "MissingValue") {
-            missingValue = value;
-            count += 1;
-        }
-        /*
-        if (name == "scale_factor") {
-            scaleFactor = value;
-            count += 1;
-        }
-        if (name == "add_offset") {
-            offset = value;
-            count += 1;
-        }
-        if (name == "valid_range") {
-            validRange = value;
-            count += 1;
-        }
-        */
-    }
-
-    // insist on seeing all 2 of fillValue, missingValue
-    if (count != 2)
-        return this.get_valid_data_default(data);
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (data[i] == missingValue)
-            continue;
-        //z.push([i, data[i]*scaleFactor+offset]);
-        z.push([i,data[i]]);
-    }
-
-    return z;
-}
-
-// use parameters in attributes (list) to extract valid points from data (list)
-// specifically for aws
-xmisc.get_valid_data_nc_aws = function(attrs, data) {
-
-    var fillValue = null;
-    //var missingValue = null;
-    var scaleFactor = 1.0;
-    //var offset = null;
-    //var validRange = null;
-    var count = 0;
-    for (var i=0; i<attrs.length; i++) {
-        var attr = attrs[i];
-        var name = attr["name"];
-        var value = attr["value"];
-        if (name == "_FillValue") {
-            fillValue = value;
-            count += 1;
-        }
-        if (name == "scale_factor") {
-            scaleFactor = value;
-            count += 1;
-        }
-        //if (name == "add_offset") {
-        //    offset = value;
-        //    count += 1;
-        //}
-        //if (name == "valid_range") {
-        //    validRange = value;
-        //    count += 1;
-        //}
-    }
-
-    // insist on seeing all 4 of fillValue, scaleFactor, offset, validRange
-    //if (count != 4)
-    if (scaleFactor == null)
-        return this.get_valid_data_default(data);
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (fillValue != null && data[i] == fillValue)
-            continue;
-        z.push([i, data[i]*scaleFactor]);
-    }
-
-    return z;
-}
-
-xmisc.get_valid_data_default = function(data) {
-    var min = -10000;
-    var max = 10000;
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (data[i] < min)
-            continue;
-        if (data[i] > max)
-            continue;
-        z.push([i,data[i]]);
-    }
-    
-    return z;
-}
-
-xmisc.get_valid_data = function(w10nType, attrs, data) {
-
-    if (w10nType == "hdf4" || w10nType == "hdf4.basic")
-        return this.get_valid_data_hdf4(attrs, data);
-
-    if (w10nType == "hdf5" || w10nType == "hdf5.basic")
-        return this.get_valid_data_hdf5(attrs, data);
-
-    if (w10nType == "nc")
-        return this.get_valid_data_nc_aws(attrs, data);
-
-    return this.get_valid_data_default(data);
-}
-
-xmisc.get_series1 = function(x, y, min, max) {
-    //var min = -10000;
-    //var max = 10000;
-
-    var data = [];
-
-    if (x == null)
-        return {error:"x is null", data:data};
-    if (y == null)
-        return {error:"y is null", data:data};
-    if (x.length != y.length)
-        return {error:"x and y are not of the same size", data:data};
-
-    var data = [];
-    for (var i=0; i<x.length; i++) {
-        if (x[i] <= min || x[i] >= max)
-            continue;
-        if (y[i] <= min || y[i] >= max)
-            continue;
-        data.push([x[i],y[i]]);
-    }
-    
-    return {error:null, data:data};
-}
-
-/*
-xmisc.mask = function(a, allowRange, rejectList, value) {
-    var x = this.select_by_range(a, allowRange, value, false);
-    x = this.select_by_list(a, rejectList, value, true);
-    return x;
-}
-*/
-
-// a: array
-// range: [r0, r1]
-// value: set to value if out of range
-// negate: boolean to negate selection
-// return: array with out-of-range members as value
-xmisc.select_by_range = function(a, range, value, negate) {
-    if (!range)
-        return a;
-
-    var r0 = range[0];
-    var r1 = range[1];
-
-    var b = [];
-    var i, x, y;
-    for (i=0; i<a.length; i++) {
-        x = a[i];
-        if (x >= r0 && x <= r1) {
-            x = (negate) ? value : x;
-        } else {
-            x = (negate) ? x: value;
-        }
-        b.push(x);
-    }
-    return b;
-}
-
-xmisc.isOneOf = function(x, a) {
-    for (var i=0; i<a.length; i++) {
-        if (x == a[i])
-            return true;
-    }
-    return false;
-}
-
-// a: array
-// list: [val0, val1, ...], list to mask
-// value: set to value if member is one of list
-// negate: boolean to negate selection
-// return: array with members in list as value
-xmisc.select_by_list = function(a, list, value, negate) {
-    if (!list)
-        return a;
-
-    var b = []
-    var i, x;
-    for (i=0; i<a.length; i++) {
-        x = a[i];
-        if (this.isOneOf(x, list)) {
-            x = (negate) ? value : x;
-        } else {
-            x = (negate) ? x : value;
-        }
-        b.push(x);
-    }
-}
-
-xmisc.filter = function(x, filter) {
-    if (!filter)
-        return x;
-    z = [];
-    var lower = null;
-    var upper = null;
-    if (filter.validRange) {
-        lower = filter.validRange[0];
-        upper = filter.validRange[1];
-    }
-    var mask = [];
-
-    for (var i=0; i<x.length; i++) {
-        if (filter.validRange) {
-            if (x[i] < filter.validRange[0] || x[i] > filter.validRange[1]) {
-                z.push(null);
-            } else {
-                z.push(x[i]);
-            }
-            continue;
-        }
-        if (filter.MaskedValues) {
-            continue;
-        }
-        z.push(x[i]);
-    }
-}
-
-xmisc.get_series = function(x, y) {
-
-    var data = [];
-
-    if (x == null)
-        return {error:"x is null"};
-    if (y == null)
-        return {error:"y is null"};
-    if (x.length != y.length)
-        return {error:"x and y are not of the same size"};
-
-    var data = [];
-    for (var i=0; i<x.length; i++) {
-        data.push([x[i],y[i]]);
-    }
-    
-    return {error:null, data:data};
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js2/common.js
----------------------------------------------------------------------
diff --git a/public/html/js2/common.js b/public/html/js2/common.js
deleted file mode 100644
index 0455ec4..0000000
--- a/public/html/js2/common.js
+++ /dev/null
@@ -1,374 +0,0 @@
-// The following is for the code navigation purpose.
-//
-// enable_download data button
-// disable_pressure level box for 2D var
-// put_data__
-// data_block_str__
-// put_var__
-// is3D__
-// select_var__
-// time_range__
-// time_range2__
-// time_range3__
-// monthList__
-// fillMonth__
-// reset_months__
-// no_month_check
-// select_all_months__
-// select_months__
-// getMonthStr__
-// parse_pres__
-
-var naValue = "-999999";
-
-// disable download data button
-function disable_download_button()
-{
-  var x=document.getElementById("download_data");
-  x.disabled=true;
-}
-
-// enable_download data button
-function enable_download_button()
-{
-  var x=document.getElementById("download_data");
-  x.disabled=false;
-}
-
-// disable pressure level box for 2D var
-function disable_pres1(ID)
-{
-  var x;
-  x=document.getElementById("pres"+ID);
-  x.value = "N/A";
-  x.disabled=true;
-}
-
-// enable pressure level box for 3D var
-function enable_pres1(ID)
-{
-  var x;
-  x=document.getElementById("pres"+ID);
-  x.value = "500";
-  x.disabled=false;
-}
-
-// put_data__
-function put_data(ID){
-  var list1=document.getElementById("data"+ID);
-
-  for(var key in dataList) {
-    if (key.slice(0,5)==="group") {
-      var og = document.createElement("OPTGROUP");
-      og.setAttribute('label', dataList[key][0]);
-      list1.add(og);
-    } else {
-      og.appendChild(new Option(key,key));
-    }
-  }
-}
-
-// data_block_str__
-function data_block_str(ID, numTB, dataTitle, isRange, pressDf){
-var temp1= '';
-temp1 += '<div class="row ">\n'
-temp1 += '<div class="col-sm-12 center1 subtitle1">\n';
-temp1 += dataTitle + '\n';
-temp1 += '</div>\n';
-temp1 += '</div> <!-- row --> \n';
-
-temp1 += '<div class="row">\n';
-temp1 += ' <div class="col-sm-4 right1">\n';
-temp1 += '   source:' + '\n';
-temp1 += '  </div> <!-- col-sm-6 -->\n';
-temp1 += '  <div class="col-sm-8 left1">\n';
-temp1 += '    <select name="data' + ID + '", id="data' + ID;
-temp1 += '" onchange="put_var(' + ID + '); time_range' + numTB + '()"></select>\n';
-temp1 += '  </div> <!-- col-sm-6 level2-->\n';
-temp1 += '</div> <!-- row -->\n';
-
-temp1 += '<div class="row">\n';
-temp1 += '  <div class="col-sm-4 right1">\n';
-temp1 += '    variable name:\n';
-temp1 += '  </div> <!-- col-sm-6 level2-->\n';
-temp1 += '  <div class="col-sm-8 left1">\n';
-temp1 += '    <select name="var' + ID +'", id="var' + ID;
-temp1 += '" onchange="select_var(' + ID + '); time_range' + numTB + '()"> </select>\n';
-temp1 += '  </div> <!-- col-sm-6 level2-->\n';
-temp1 += '</div> <!-- row -->\n';
-
-temp1 += '<div class="row">\n';
-temp1 += '  <div class="col-sm-4 right1">\n';
-temp1 += '    pressure ' + isRange + '(atmosphere hPa) <br> or (ocean dbar):\n';
-temp1 += '  </div> <!-- col-sm-6 level2-->\n';
-temp1 += '  <div class="col-sm-8 left1">\n';
-temp1 += '    <input id="pres' + ID + '" value="' + pressDf + '" alt="pressure"/>\n';
-temp1 += '  </div> <!-- col-sm-6 level2-->\n';
-temp1 += '</div> <!-- row -->\n';
-// alert(temp1);
-return temp1;
-}
-
-// put_var__
-function put_var(ID) {
-  var list1=document.getElementById("var"+ID);
-  for (var i=list1.length-1; i>=0; i--) {
-  list1.remove(i);
-  }
-
-  data_string =  document.getElementById("data"+ID).value;
-  var varList2 = dataList[data_string][1];  
-  for (var i=0; i<varList2.length; i++) {
-    var k = varList2[i];
-    list1.add(new Option(varList[k][0],k));
-  }
-
-}
-
-// is3D__
-function is3D(ID)
-{
-  var var_string = $("#var"+ID).val();
-  return varList[var_string][2]==3;
-}
-
-// select_var__
-function select_var(ID)
-{
-  var var_string = $("#var"+ID).val();
-
-  if (is3D(ID)) {
-    enable_pres1(ID);
-  } else {
-    disable_pres1(ID);
-  }
-}
-
-
-// time_range__
-// this is identical to time_range1()
-function time_range() {
-  var var_string1 = $("#var"+1).val();
-  var data_string1 = $("#data"+1).val();
-
-  var sTime = dataList[data_string1][2][var_string1][0].toString();
-  var eTime = dataList[data_string1][2][var_string1][1].toString();
-
-  $("#startYear").html("start year-month: (earliest:" + sTime.slice(0,4) + "-" + sTime.slice(4,6) + ")");
-  $("#endYear").html("end year-month: (latest:" + eTime.slice(0,4) + "-" + eTime.slice(4,6) + ")");
-}
-
-function time_range1() {
-  var var_string1 = $("#var"+1).val();
-  var data_string1 = $("#data"+1).val();
-
-  var sTime = dataList[data_string1][2][var_string1][0].toString();
-  var eTime = dataList[data_string1][2][var_string1][1].toString();
-
-  $("#startYear").html("start year-month: (earliest:" + sTime.slice(0,4) + "-" + sTime.slice(4,6) + ")");
-  $("#endYear").html("end year-month: (latest:" + eTime.slice(0,4) + "-" + eTime.slice(4,6) + ")");
-}
-
-// time_range2__
-function time_range2() {
-  var var_string1 = $("#var"+1).val();
-  var var_string2 = $("#var"+2).val();
-  var data_string1 = $("#data"+1).val();
-  var data_string2 = $("#data"+2).val();
-
-  var sTime = Math.max( Number(dataList[data_string1][2][var_string1][0]),
-                        Number(dataList[data_string2][2][var_string2][0]) ).toString();
-  var eTime = Math.min( Number(dataList[data_string1][2][var_string1][1]),
-                        Number(dataList[data_string2][2][var_string2][1]) ).toString();
-
-  //sTime = sTime.toString();
-  //eTime = eTime.toString();
-
-  $("#startYear").html("start year-month: (earliest:" + sTime.slice(0,4) + "-" + sTime.slice(4,6) + ")");
-  $("#endYear").html("end year-month: (latest:" + eTime.slice(0,4) + "-" + eTime.slice(4,6) + ")");
-}
-
-// time_range3__
-function time_range3() {
-  var var_string1 = $("#var"+1).val();
-  var var_string2 = $("#var"+2).val();
-  var var_string3 = $("#var"+3).val();
-  var data_string1 = $("#data"+1).val();
-  var data_string2 = $("#data"+2).val();
-  var data_string3 = $("#data"+3).val();
-
-  var sTime = Math.max( 
-        Number(dataList[data_string1][2][var_string1][0]),
-        Number(dataList[data_string2][2][var_string2][0]),
-        Number(dataList[data_string3][2][var_string3][0]) 
-        ).toString();
-  var eTime = Math.min(
-        Number(dataList[data_string1][2][var_string1][1]),
-        Number(dataList[data_string2][2][var_string2][1]),
-        Number(dataList[data_string3][2][var_string3][1]) 
-        ).toString();
-
-  $("#startYear").html("start year-month: (earliest:" + sTime.slice(0,4) + "-" + sTime.slice(4,6) + ")");
-  $("#endYear").html("end year-month: (latest:" + eTime.slice(0,4) + "-" + eTime.slice(4,6) + ")");
-}
-
-// monthList__
-var monthList = [
-"Jan",
-"Feb",
-"Mar",
-"Apr",
-"May",
-"Jun",
-"Jul",
-"Aug",
-"Sep",
-"Oct",
-"Nov",
-"Dec",
-];
-
-// fillMonth__
-function fillMonth() { 
-  var temp1 = 'select months:\
-<select name="months" id="months" onchange="select_months()">\
-<option id="all">select all</option>\
-<option id="none">select none</option>\
-<option id="summer">Summer:Jun-Jul-Aug</option>\
-<option id="autum">Autumn:Sep-Oct-Nov</option>\
-<option id="winter">Winter:Dec-Jan-Feb</option>\
-<option id="spring">Spring:Mar-Apr-May</option> </select>';
-  $("#monthSelect0").html(temp1); 
-
-  temp1 = '<form role="form">'; 
-  for (var i=0; i<monthList.length; i++) {
-    temp1 +=
-        '<label"><input type="checkbox" id="' + monthList[i] + '" value="' + monthList[i] + '"/></label>' 
-          +  monthList[i] + " ";
-  }
-  temp1 += '</form>';
-  $("#monthSelect").html(temp1); 
-}
-
-// unselect all months in the checkboxes
-// reset_months__
-function reset_months()
-{
-  for (var i=0; i<monthList.length; i++) {
-    document.getElementById(monthList[i]).checked = false;
-  }
-}
-
-// see if no month is selected
-// no_month_check
-function no_month_check()
-{
-  var nonChecked = true;
-  for (var i=0; i<monthList.length; i++) {
-    if (document.getElementById(monthList[i]).checked == true) {
-      nonChecked = false;
-    }
-  }
-  return nonChecked;
-}
-
-// select all months in the checkboxes
-// select_all_months__
-function select_all_months()
-{
-  for (var i=0; i<monthList.length; i++) {
-    document.getElementById(monthList[i]).checked = true;
-  }
-}
-
-// select checkboxes based on "months" dropdown
-// select_months__
-function select_months()
-{
-  var s1=document.getElementById("months");
-  // alert(s1.selectedIndex);
-  // alert(s1.options[s1.selectedIndex].value);
-
-  // disable the download button because of this change
-  disable_download_button();
-
-  // "select none"
-  if (s1.selectedIndex == 1) {
-    reset_months();
-  }
-  // "select all"
-  if (s1.selectedIndex == 0) {
-    select_all_months();
-  }
-  // "summer"
-  if (s1.selectedIndex == 2) {
-    reset_months();
-    document.getElementById('Jun').checked = true;
-    document.getElementById('Jul').checked = true;
-    document.getElementById('Aug').checked = true;
-  }
-  // "autumn"
-  if (s1.selectedIndex == 3) {
-    reset_months();
-    document.getElementById('Sep').checked = true;
-    document.getElementById('Oct').checked = true;
-    document.getElementById('Nov').checked = true;
-  }
-  // "winter"
-  if (s1.selectedIndex == 4) {
-    reset_months();
-    document.getElementById('Dec').checked = true;
-    document.getElementById('Jan').checked = true;
-    document.getElementById('Feb').checked = true;
-  }
-  // "spring"
-  if (s1.selectedIndex == 5) {
-    reset_months();
-    document.getElementById('Mar').checked = true;
-    document.getElementById('Apr').checked = true;
-    document.getElementById('May').checked = true;
-  }
-
-}
-
-// getMonthStr__
-function getMonthStr() {
-        // get months checked by client
-        var month_str = "";
-        for (var i=0; i<monthList.length; i++) {
-          var mm = document.getElementById(monthList[i]);
-          if (mm.checked == true) {
-            month_str += ","+(i+1);
-          }
-        }
-        month_str = month_str.substr(1);
-        return month_str;
-}
-
-// parse_pres__
-function parse_pres(pres10) {
-  var pres1 = "";
-
-  if (pres10=="") {pres1 = naValue; }
-  else {
-    if (!(isNaN(Number(pres10)))) { 
-      pres1 = pres10; 
-    } else {
-      var checkNan = 0;
-      var pres2 = [];
-      var temp1=pres10.split(",");
-      //for (var i in temp1) {
-      for (var i=0; i<temp1.length; i++) {
-        if (isNaN(Number(temp1[i]))) {
-          checkNan = 1; 
-        } else {
-          pres2.push(Number(temp1[i]));
-        }
-      }
-      if (pres2.length>0) { pres1 = pres2.join(); }
-      else { pres1 = naValue; }
-    }
-  }
-  return pres1;
-}
-


[15/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/jquery-latest.js
----------------------------------------------------------------------
diff --git a/public/javascripts/jquery-latest.js b/public/javascripts/jquery-latest.js
deleted file mode 100644
index 7c24308..0000000
--- a/public/javascripts/jquery-latest.js
+++ /dev/null
@@ -1,154 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.2
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Sat Feb 13 22:33:48 2010 -0500
- */
-(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
-e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
-j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
-"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
-true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
-Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
-(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
-a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
-"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
-function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
-c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
-L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
-"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
-a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
-d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
-a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
-!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
-true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
-parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
-false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
-s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
-applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
-else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
-a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
-w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
-cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
-i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
-" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
-this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
-e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
-c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
-a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
-function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
-k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
-C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
-null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
-e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
-f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
-if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
-"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
-a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
-isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
-{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
-if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
-e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
-"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
-d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
-!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
-toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
-u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.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".split(" "),
-function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
-if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
-e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
-t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
-g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
-for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
-1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
-CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
-relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
-l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
-h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
-CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
-g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
-text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
-setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
-h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
-m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
-"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
-h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
-!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
-h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
-q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
-if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
-(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
-function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
-gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
-c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
-{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
-"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
-d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
-a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
-1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
-a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
-c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
-wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
-prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
-this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
-return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
-""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
-this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
-u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
-1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
-return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
-""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
-c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
-c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
-function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
-Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
-"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
-a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
-a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
-"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
-serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
-function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
-global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
-e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
-"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
-false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
-false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
-c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
-d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
-g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
-1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
-"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
-if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
-this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
-"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
-animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
-j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
-this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
-"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
-c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
-this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
-this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
-e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
-c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
-function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
-this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
-k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
-f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
-a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
-c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
-d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
-f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
-"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
-e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);


[46/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/.sbtserver/master.log
----------------------------------------------------------------------
diff --git a/.sbtserver/master.log b/.sbtserver/master.log
deleted file mode 100644
index a6d7ec0..0000000
--- a/.sbtserver/master.log
+++ /dev/null
@@ -1,11731 +0,0 @@
-New log file opened at Tue Jul 21 18:34:15 PDT 2015 by 10232@Lenovo-PC
-jvm 10232@Lenovo-PC
-jvm vmName=Java HotSpot(TM) 64-Bit Server VM vmVendor=Oracle Corporation vmVersion=25.51-b03
-jvm specName=Java Virtual Machine Specification specVendor=Oracle Corporation specVersion=1.8
-jvm arguments: [-Xms256m, -Xmx1024m, -XX:MetaspaceSize=64m, -XX:MaxMetaspaceSize=256m]
-Starting event engine
-Starting sbt command engine
-Waiting for sbt command engine
-Command engine arguments=List()
-Command engine baseDirectory=C:\JPL\JPL-Front
-Command engine initial remaining commands List(--initialize, onFailure load-failed, boot, server-send-ready-for-request, server-handle-next-server-request)
-> --initialize
-> initialize
-> onFailure load-failed
-> boot
-> reload
-[Loading] Scanning directory C:\JPL\JPL-Front\project
-[Loading] Found non-root projects 
-[Loading] Done in C:\JPL\JPL-Front\project, returning: ()
-deducing auto plugins based on known facts Set(Atom(sbt.plugins.CorePlugin)) and clauses Clauses(List(Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.JUnitXmlReportPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.IvyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.JUnitXmlReportPlugin)))))
-  :: deduced result: Matched(sbt.plugins.CorePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,sbt.plugins.JUnitXmlReportPlugin)
-sorting: ns: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin)
-  :: sorting:: found: List(sbt.plugins.CorePlugin) not found List(sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin)
-  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin) not found List(sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin)
-  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin) not found List(sbt.plugins.JUnitXmlReportPlugin)
-  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin) not found List()
-  :: sorted deduced result: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin)
-[Loading] Done in C:\JPL\JPL-Front\project, returning: (jpl-front-build)
-Loading project definition from C:\JPL\JPL-Front\project
-Running task... Cancel: sbt.TaskCancellationStrategy$Null$@6d85dbc9, check cycles: false
-
-Initial source changes: 
-	removed:Set()
-	added: Set()
-	modified: Set()
-Removed products: Set()
-External API changes: API Changes: Set()
-Modified binary dependencies: Set()
-Initial directly invalidated sources: Set()
-
-Sources indirectly invalidated by:
-	product: Set()
-	binary dep: Set()
-	external source: Set()
-All initially invalidated sources: Set()
-
-Copy resource mappings: 
-	
-[Loading] Scanning directory C:\JPL\JPL-Front
-[Loading] Found non-root projects 
-[Loading] Done in C:\JPL\JPL-Front, returning: ()
-deducing auto plugins based on known facts Set(Atom(sbt.plugins.CorePlugin)) and clauses Clauses(List(Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.JUnitXmlReportPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.BackgroundRunPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.IvyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.JUnitXmlReportPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.BackgroundRunPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.InteractionServicePlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.SendEventServicePlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.SerializersPlugin)))))
-  :: deduced result: Matched(sbt.plugins.CorePlugin,sbt.plugins.SerializersPlugin,sbt.plugins.SendEventServicePlugin,sbt.plugins.InteractionServicePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,sbt.plugins.BackgroundRunPlugin,sbt.plugins.JUnitXmlReportPlugin)
-sorting: ns: List(sbt.plugins.CorePlugin, sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin)
-  :: sorting:: found: List(sbt.plugins.CorePlugin) not found List(sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin)
-  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin) not found List(sbt.plugins.JvmPlugin, sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin)
-  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin) not found List(sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin)
-  :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin) not found List()
-  :: sorted deduced result: List(sbt.plugins.CorePlugin, sbt.plugins.SerializersPlugin, sbt.plugins.SendEventServicePlugin, sbt.plugins.InteractionServicePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.BackgroundRunPlugin, sbt.plugins.JUnitXmlReportPlugin)
-[Loading] Done in C:\JPL\JPL-Front, returning: (jpl-front)
-Set current project to CMUSDS (in build file:/C:/JPL/JPL-Front/)
-Reapplying settings...
-Set current project to CMUSDS (in build file:/C:/JPL/JPL-Front/)
-> iflast shell
-> server-send-ready-for-request
-> server-handle-next-server-request
-> {file:/C:/JPL/JPL-Front/}jpl-front/compile:mainClass
-Evaluating tasks: compile:mainClass
-Running task... Cancel: sbt.server.ServerTaskCancellation@13520de1, check cycles: false
-Total time: 0 s, completed Jul 21, 2015 6:34:18 PM
-> server-post-command-cleanup
-> server-handle-next-server-request
-> {file:/C:/JPL/JPL-Front/}jpl-front/compile:discoveredMainClasses
-Evaluating tasks: compile:discoveredMainClasses
-Running task... Cancel: sbt.server.ServerTaskCancellation@16d158ca, check cycles: false
-Read from stdout: Updating {file:/C:/JPL/JPL-Front/}jpl-front...
-Updating {file:/C:/JPL/JPL-Front/}jpl-front...
-Other repositories:
-Default repositories:
-Using inline dependencies specified in Scala.
-:: resolving dependencies :: cmusds#cmusds_2.10;1.0-SNAPSHOT
-	confs: [compile, runtime, test, provided, optional, compile-internal, runtime-internal, test-internal, plugin, sources, docs, pom, scala-tool, echo-trace-compile, echo-trace-test, echo-weave, echo-sigar]
-	validate = true
-	refresh = false
-resolving dependencies for configuration 'compile'
-== resolving dependencies for cmusds#cmusds_2.10;1.0-SNAPSHOT [compile]
-== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->org.scala-lang#scala-library;2.10.3 [compile->default(compile)]
-Read from stdout: Resolving org.scala-lang#scala-library;2.10.3 ...
-Resolving org.scala-lang#scala-library;2.10.3 ...
-sbt-chain: Checking cache for: sbt.ivyint.MergedDescriptors@3579cf7c
-sbt-chain: module revision found in cache: org.scala-lang#scala-library;2.10.3
-	found org.scala-lang#scala-library;2.10.3 in sbt-chain
-	[2.10.3] org.scala-lang#scala-library;2.10.3
-== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->org.scala-lang#scala-library;2.10.3 [compile->runtime]
-== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->org.scala-lang#scala-library;2.10.3 [compile->compile]
-== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->org.scala-lang#scala-library;2.10.3 [compile->master]
-== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->com.typesafe.play#play-java-jdbc_2.10;2.2.3 [compile->default(compile)]
-Read from stdout: Resolving com.typesafe.play#play-java-jdbc_2.10;2.2.3 ...
-Resolving com.typesafe.play#play-java-jdbc_2.10;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#play-java-jdbc_2.10;2.2.3 {compile=[default(compile)]}
-sbt-chain: module revision found in cache: com.typesafe.play#play-java-jdbc_2.10;2.2.3
-	found com.typesafe.play#play-java-jdbc_2.10;2.2.3 in sbt-chain
-== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->com.typesafe.play#play-java-jdbc_2.10;2.2.3 [compile->runtime]
-== resolving dependencies cmusds#cmusds_2.10;1.0-SNAPSHOT->com.typesafe.play#play-java-jdbc_2.10;2.2.3 [compile->compile]
-== resolving dependencies com.typesafe.play#play-java-jdbc_2.10;2.2.3->com.typesafe.play#play-jdbc_2.10;2.2.3 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe.play#play-jdbc_2.10;2.2.3 ...
-Resolving com.typesafe.play#play-jdbc_2.10;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#play-jdbc_2.10;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe.play#play-jdbc_2.10;2.2.3
-	found com.typesafe.play#play-jdbc_2.10;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#play-java-jdbc_2.10;2.2.3->com.typesafe.play#play-jdbc_2.10;2.2.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe.play#play_2.10;2.2.3 ...
-Resolving com.typesafe.play#play_2.10;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#play_2.10;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe.play#play_2.10;2.2.3
-	found com.typesafe.play#play_2.10;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#sbt-link;2.2.3 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe.play#sbt-link;2.2.3 ...
-Resolving com.typesafe.play#sbt-link;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#sbt-link;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe.play#sbt-link;2.2.3
-	found com.typesafe.play#sbt-link;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#sbt-link;2.2.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [compile->master(compile)]
-Read from stdout: Resolving org.javassist#javassist;3.18.0-GA ...
-Resolving org.javassist#javassist;3.18.0-GA ...
-sbt-chain: Checking cache for: dependency: org.javassist#javassist;3.18.0-GA {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.javassist#javassist;3.18.0-GA
-	found org.javassist#javassist;3.18.0-GA in sbt-chain
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-exceptions;2.2.3 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe.play#play-exceptions;2.2.3 ...
-Resolving com.typesafe.play#play-exceptions;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#play-exceptions;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe.play#play-exceptions;2.2.3
-	found com.typesafe.play#play-exceptions;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-exceptions;2.2.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#templates_2.10;2.2.3 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe.play#templates_2.10;2.2.3 ...
-Resolving com.typesafe.play#templates_2.10;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#templates_2.10;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe.play#templates_2.10;2.2.3
-	found com.typesafe.play#templates_2.10;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#templates_2.10;2.2.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#templates_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->master(compile)]
-Read from stdout: Resolving com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 ...
-Resolving com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 ...
-sbt-chain: Checking cache for: dependency: com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.github.scala-incubator.io#scala-io-file_2.10;0.4.2
-	found com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 in sbt-chain
-== resolving dependencies com.typesafe.play#templates_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->compile(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 [compile->master(compile)]
-Read from stdout: Resolving com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 ...
-Resolving com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 ...
-sbt-chain: Checking cache for: dependency: com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.github.scala-incubator.io#scala-io-core_2.10;0.4.2
-	found com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 in sbt-chain
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 [compile->compile(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->org.scala-lang#scala-library;2.10.0 [compile->master(compile)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->org.scala-lang#scala-library;2.10.3 [compile->master(compile)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->org.scala-lang#scala-library;2.10.0 [compile->compile(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->org.scala-lang#scala-library;2.10.3 [compile->compile(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->com.jsuereth#scala-arm_2.10;1.3 [compile->master(compile)]
-Read from stdout: Resolving com.jsuereth#scala-arm_2.10;1.3 ...
-Resolving com.jsuereth#scala-arm_2.10;1.3 ...
-sbt-chain: Checking cache for: dependency: com.jsuereth#scala-arm_2.10;1.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.jsuereth#scala-arm_2.10;1.3
-	found com.jsuereth#scala-arm_2.10;1.3 in sbt-chain
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->com.jsuereth#scala-arm_2.10;1.3 [compile->compile(*)]
-== resolving dependencies com.jsuereth#scala-arm_2.10;1.3->org.scala-lang#scala-library;2.10.0 [compile->master(compile)]
-== resolving dependencies com.jsuereth#scala-arm_2.10;1.3->org.scala-lang#scala-library;2.10.3 [compile->master(compile)]
-== resolving dependencies com.jsuereth#scala-arm_2.10;1.3->org.scala-lang#scala-library;2.10.0 [compile->compile(*)]
-== resolving dependencies com.jsuereth#scala-arm_2.10;1.3->org.scala-lang#scala-library;2.10.3 [compile->compile(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->org.scala-lang#scala-library;2.10.0 [compile->master(compile)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->org.scala-lang#scala-library;2.10.3 [compile->master(compile)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->org.scala-lang#scala-library;2.10.0 [compile->compile(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->org.scala-lang#scala-library;2.10.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-iteratees_2.10;2.2.3 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe.play#play-iteratees_2.10;2.2.3 ...
-Resolving com.typesafe.play#play-iteratees_2.10;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#play-iteratees_2.10;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe.play#play-iteratees_2.10;2.2.3
-	found com.typesafe.play#play-iteratees_2.10;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-iteratees_2.10;2.2.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-iteratees_2.10;2.2.3->org.scala-stm#scala-stm_2.10;0.7 [compile->master(compile)]
-Read from stdout: Resolving org.scala-stm#scala-stm_2.10;0.7 ...
-Resolving org.scala-stm#scala-stm_2.10;0.7 ...
-sbt-chain: Checking cache for: dependency: org.scala-stm#scala-stm_2.10;0.7 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.scala-stm#scala-stm_2.10;0.7
-	found org.scala-stm#scala-stm_2.10;0.7 in sbt-chain
-== resolving dependencies com.typesafe.play#play-iteratees_2.10;2.2.3->org.scala-stm#scala-stm_2.10;0.7 [compile->compile(*)]
-== resolving dependencies org.scala-stm#scala-stm_2.10;0.7->org.scala-lang#scala-library;2.10.0 [compile->master(compile)]
-== resolving dependencies org.scala-stm#scala-stm_2.10;0.7->org.scala-lang#scala-library;2.10.3 [compile->master(compile)]
-== resolving dependencies org.scala-stm#scala-stm_2.10;0.7->org.scala-lang#scala-library;2.10.0 [compile->compile(*)]
-== resolving dependencies org.scala-stm#scala-stm_2.10;0.7->org.scala-lang#scala-library;2.10.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-iteratees_2.10;2.2.3->com.typesafe#config;1.0.2 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe#config;1.0.2 ...
-Resolving com.typesafe#config;1.0.2 ...
-sbt-chain: Checking cache for: dependency: com.typesafe#config;1.0.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe#config;1.0.2
-	found com.typesafe#config;1.0.2 in sbt-chain
-== resolving dependencies com.typesafe.play#play-iteratees_2.10;2.2.3->com.typesafe#config;1.0.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-json_2.10;2.2.3 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe.play#play-json_2.10;2.2.3 ...
-Resolving com.typesafe.play#play-json_2.10;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#play-json_2.10;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe.play#play-json_2.10;2.2.3
-	found com.typesafe.play#play-json_2.10;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-json_2.10;2.2.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.typesafe.play#play-iteratees_2.10;2.2.3 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.typesafe.play#play-iteratees_2.10;2.2.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.typesafe.play#play-functional_2.10;2.2.3 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe.play#play-functional_2.10;2.2.3 ...
-Resolving com.typesafe.play#play-functional_2.10;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#play-functional_2.10;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe.play#play-functional_2.10;2.2.3
-	found com.typesafe.play#play-functional_2.10;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.typesafe.play#play-functional_2.10;2.2.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-functional_2.10;2.2.3->org.scala-lang#scala-library;2.10.3 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play-functional_2.10;2.2.3->org.scala-lang#scala-library;2.10.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-functional_2.10;2.2.3->org.scala-lang#scala-library;2.10.3 [compile->runtime(*)]
-== resolving dependencies com.typesafe.play#play-functional_2.10;2.2.3->org.scala-lang#scala-library;2.10.3 [compile->compile]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.typesafe.play#play-datacommons_2.10;2.2.3 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe.play#play-datacommons_2.10;2.2.3 ...
-Resolving com.typesafe.play#play-datacommons_2.10;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#play-datacommons_2.10;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe.play#play-datacommons_2.10;2.2.3
-	found com.typesafe.play#play-datacommons_2.10;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.typesafe.play#play-datacommons_2.10;2.2.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-datacommons_2.10;2.2.3->org.scala-lang#scala-library;2.10.3 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play-datacommons_2.10;2.2.3->org.scala-lang#scala-library;2.10.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->joda-time#joda-time;2.2 [compile->master(compile)]
-Read from stdout: Resolving joda-time#joda-time;2.2 ...
-Resolving joda-time#joda-time;2.2 ...
-sbt-chain: Checking cache for: dependency: joda-time#joda-time;2.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: joda-time#joda-time;2.2
-	found joda-time#joda-time;2.2 in sbt-chain
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->joda-time#joda-time;2.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->org.joda#joda-convert;1.3.1 [compile->master(compile)]
-Read from stdout: Resolving org.joda#joda-convert;1.3.1 ...
-Resolving org.joda#joda-convert;1.3.1 ...
-sbt-chain: Checking cache for: dependency: org.joda#joda-convert;1.3.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.joda#joda-convert;1.3.1
-	found org.joda#joda-convert;1.3.1 in sbt-chain
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->org.joda#joda-convert;1.3.1 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.fasterxml.jackson.core#jackson-annotations;2.2.2 [compile->master(compile)]
-Read from stdout: Resolving com.fasterxml.jackson.core#jackson-annotations;2.2.2 ...
-Resolving com.fasterxml.jackson.core#jackson-annotations;2.2.2 ...
-sbt-chain: Checking cache for: dependency: com.fasterxml.jackson.core#jackson-annotations;2.2.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.fasterxml.jackson.core#jackson-annotations;2.2.2
-	found com.fasterxml.jackson.core#jackson-annotations;2.2.2 in sbt-chain
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.fasterxml.jackson.core#jackson-annotations;2.2.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.fasterxml.jackson.core#jackson-core;2.2.2 [compile->master(compile)]
-Read from stdout: Resolving com.fasterxml.jackson.core#jackson-core;2.2.2 ...
-Resolving com.fasterxml.jackson.core#jackson-core;2.2.2 ...
-sbt-chain: Checking cache for: dependency: com.fasterxml.jackson.core#jackson-core;2.2.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.fasterxml.jackson.core#jackson-core;2.2.2
-	found com.fasterxml.jackson.core#jackson-core;2.2.2 in sbt-chain
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.fasterxml.jackson.core#jackson-core;2.2.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.fasterxml.jackson.core#jackson-databind;2.2.2 [compile->master(compile)]
-Read from stdout: Resolving com.fasterxml.jackson.core#jackson-databind;2.2.2 ...
-Resolving com.fasterxml.jackson.core#jackson-databind;2.2.2 ...
-sbt-chain: Checking cache for: dependency: com.fasterxml.jackson.core#jackson-databind;2.2.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.fasterxml.jackson.core#jackson-databind;2.2.2
-	found com.fasterxml.jackson.core#jackson-databind;2.2.2 in sbt-chain
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.fasterxml.jackson.core#jackson-databind;2.2.2 [compile->compile(*)]
-== resolving dependencies com.fasterxml.jackson.core#jackson-databind;2.2.2->com.fasterxml.jackson.core#jackson-annotations;2.2.2 [compile->master(compile)]
-== resolving dependencies com.fasterxml.jackson.core#jackson-databind;2.2.2->com.fasterxml.jackson.core#jackson-annotations;2.2.2 [compile->compile(*)]
-== resolving dependencies com.fasterxml.jackson.core#jackson-databind;2.2.2->com.fasterxml.jackson.core#jackson-core;2.2.2 [compile->master(compile)]
-== resolving dependencies com.fasterxml.jackson.core#jackson-databind;2.2.2->com.fasterxml.jackson.core#jackson-core;2.2.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->org.scala-lang#scala-reflect;2.10.3 [compile->master(compile)]
-Read from stdout: Resolving org.scala-lang#scala-reflect;2.10.3 ...
-Resolving org.scala-lang#scala-reflect;2.10.3 ...
-sbt-chain: Checking cache for: dependency: org.scala-lang#scala-reflect;2.10.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.scala-lang#scala-reflect;2.10.3
-	found org.scala-lang#scala-reflect;2.10.3 in sbt-chain
-	[2.10.3] org.scala-lang#scala-reflect;2.10.3
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->org.scala-lang#scala-reflect;2.10.3 [compile->compile(*)]
-== resolving dependencies org.scala-lang#scala-reflect;2.10.3->org.scala-lang#scala-library;2.10.3 [compile->master(compile)]
-== resolving dependencies org.scala-lang#scala-reflect;2.10.3->org.scala-lang#scala-library;2.10.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->io.netty#netty;3.7.1.Final [compile->master(compile)]
-Read from stdout: Resolving io.netty#netty;3.7.1.Final ...
-Resolving io.netty#netty;3.7.1.Final ...
-sbt-chain: Checking cache for: dependency: io.netty#netty;3.7.1.Final {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: io.netty#netty;3.7.1.Final
-	found io.netty#netty;3.7.1.Final in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->io.netty#netty;3.7.1.Final [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.netty#netty-http-pipelining;1.1.2 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe.netty#netty-http-pipelining;1.1.2 ...
-Resolving com.typesafe.netty#netty-http-pipelining;1.1.2 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.netty#netty-http-pipelining;1.1.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe.netty#netty-http-pipelining;1.1.2
-	found com.typesafe.netty#netty-http-pipelining;1.1.2 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.netty#netty-http-pipelining;1.1.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.netty#netty-http-pipelining;1.1.2->io.netty#netty;3.6.3.Final [compile->master(*)]
-== resolving dependencies com.typesafe.netty#netty-http-pipelining;1.1.2->io.netty#netty;3.7.1.Final [compile->master(*)]
-== resolving dependencies com.typesafe.netty#netty-http-pipelining;1.1.2->io.netty#netty;3.6.3.Final [compile->compile(*)]
-== resolving dependencies com.typesafe.netty#netty-http-pipelining;1.1.2->io.netty#netty;3.7.1.Final [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.slf4j#slf4j-api;1.7.5 [compile->master(compile)]
-Read from stdout: Resolving org.slf4j#slf4j-api;1.7.5 ...
-Resolving org.slf4j#slf4j-api;1.7.5 ...
-sbt-chain: Checking cache for: dependency: org.slf4j#slf4j-api;1.7.5 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.slf4j#slf4j-api;1.7.5
-	found org.slf4j#slf4j-api;1.7.5 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.slf4j#slf4j-api;1.7.5 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.slf4j#jul-to-slf4j;1.7.5 [compile->master(compile)]
-Read from stdout: Resolving org.slf4j#jul-to-slf4j;1.7.5 ...
-Resolving org.slf4j#jul-to-slf4j;1.7.5 ...
-sbt-chain: Checking cache for: dependency: org.slf4j#jul-to-slf4j;1.7.5 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.slf4j#jul-to-slf4j;1.7.5
-	found org.slf4j#jul-to-slf4j;1.7.5 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.slf4j#jul-to-slf4j;1.7.5 [compile->compile(*)]
-== resolving dependencies org.slf4j#jul-to-slf4j;1.7.5->org.slf4j#slf4j-api;1.7.5 [compile->master(compile)]
-== resolving dependencies org.slf4j#jul-to-slf4j;1.7.5->org.slf4j#slf4j-api;1.7.5 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.slf4j#jcl-over-slf4j;1.7.5 [compile->master(compile)]
-Read from stdout: Resolving org.slf4j#jcl-over-slf4j;1.7.5 ...
-Resolving org.slf4j#jcl-over-slf4j;1.7.5 ...
-sbt-chain: Checking cache for: dependency: org.slf4j#jcl-over-slf4j;1.7.5 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.slf4j#jcl-over-slf4j;1.7.5
-	found org.slf4j#jcl-over-slf4j;1.7.5 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.slf4j#jcl-over-slf4j;1.7.5 [compile->compile(*)]
-== resolving dependencies org.slf4j#jcl-over-slf4j;1.7.5->org.slf4j#slf4j-api;1.7.5 [compile->master(compile)]
-== resolving dependencies org.slf4j#jcl-over-slf4j;1.7.5->org.slf4j#slf4j-api;1.7.5 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->ch.qos.logback#logback-core;1.0.13 [compile->master(compile)]
-Read from stdout: Resolving ch.qos.logback#logback-core;1.0.13 ...
-Resolving ch.qos.logback#logback-core;1.0.13 ...
-sbt-chain: Checking cache for: dependency: ch.qos.logback#logback-core;1.0.13 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: ch.qos.logback#logback-core;1.0.13
-	found ch.qos.logback#logback-core;1.0.13 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->ch.qos.logback#logback-core;1.0.13 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->ch.qos.logback#logback-classic;1.0.13 [compile->master(compile)]
-Read from stdout: Resolving ch.qos.logback#logback-classic;1.0.13 ...
-Resolving ch.qos.logback#logback-classic;1.0.13 ...
-sbt-chain: Checking cache for: dependency: ch.qos.logback#logback-classic;1.0.13 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: ch.qos.logback#logback-classic;1.0.13
-	found ch.qos.logback#logback-classic;1.0.13 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->ch.qos.logback#logback-classic;1.0.13 [compile->compile(*)]
-== resolving dependencies ch.qos.logback#logback-classic;1.0.13->ch.qos.logback#logback-core;1.0.13 [compile->master(compile)]
-== resolving dependencies ch.qos.logback#logback-classic;1.0.13->ch.qos.logback#logback-core;1.0.13 [compile->compile(*)]
-== resolving dependencies ch.qos.logback#logback-classic;1.0.13->org.slf4j#slf4j-api;1.7.5 [compile->master(compile)]
-== resolving dependencies ch.qos.logback#logback-classic;1.0.13->org.slf4j#slf4j-api;1.7.5 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.akka#akka-actor_2.10;2.2.0 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe.akka#akka-actor_2.10;2.2.0 ...
-Resolving com.typesafe.akka#akka-actor_2.10;2.2.0 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.akka#akka-actor_2.10;2.2.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe.akka#akka-actor_2.10;2.2.0
-	found com.typesafe.akka#akka-actor_2.10;2.2.0 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.akka#akka-actor_2.10;2.2.0 [compile->compile(*)]
-== resolving dependencies com.typesafe.akka#akka-actor_2.10;2.2.0->org.scala-lang#scala-library;2.10.2 [compile->master(compile)]
-== resolving dependencies com.typesafe.akka#akka-actor_2.10;2.2.0->org.scala-lang#scala-library;2.10.3 [compile->master(compile)]
-== resolving dependencies com.typesafe.akka#akka-actor_2.10;2.2.0->org.scala-lang#scala-library;2.10.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.akka#akka-actor_2.10;2.2.0->org.scala-lang#scala-library;2.10.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.akka#akka-actor_2.10;2.2.0->com.typesafe#config;1.0.2 [compile->master(compile)]
-== resolving dependencies com.typesafe.akka#akka-actor_2.10;2.2.0->com.typesafe#config;1.0.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.akka#akka-slf4j_2.10;2.2.0 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe.akka#akka-slf4j_2.10;2.2.0 ...
-Resolving com.typesafe.akka#akka-slf4j_2.10;2.2.0 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.akka#akka-slf4j_2.10;2.2.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe.akka#akka-slf4j_2.10;2.2.0
-	found com.typesafe.akka#akka-slf4j_2.10;2.2.0 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.akka#akka-slf4j_2.10;2.2.0 [compile->compile(*)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->com.typesafe.akka#akka-actor_2.10;2.2.0 [compile->master(compile)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->com.typesafe.akka#akka-actor_2.10;2.2.0 [compile->compile(*)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.scala-lang#scala-library;2.10.2 [compile->master(compile)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.scala-lang#scala-library;2.10.3 [compile->master(compile)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.scala-lang#scala-library;2.10.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.scala-lang#scala-library;2.10.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.slf4j#slf4j-api;1.7.2 [compile->master(compile)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.slf4j#slf4j-api;1.7.5 [compile->master(compile)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.slf4j#slf4j-api;1.7.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.slf4j#slf4j-api;1.7.5 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.scala-stm#scala-stm_2.10;0.7 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.scala-stm#scala-stm_2.10;0.7 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->joda-time#joda-time;2.2 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->joda-time#joda-time;2.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.joda#joda-convert;1.3.1 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.joda#joda-convert;1.3.1 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.apache.commons#commons-lang3;3.1 [compile->master(compile)]
-Read from stdout: Resolving org.apache.commons#commons-lang3;3.1 ...
-Resolving org.apache.commons#commons-lang3;3.1 ...
-sbt-chain: Checking cache for: dependency: org.apache.commons#commons-lang3;3.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.apache.commons#commons-lang3;3.1
-	found org.apache.commons#commons-lang3;3.1 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.apache.commons#commons-lang3;3.1 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.ning#async-http-client;1.7.18 [compile->master(compile)]
-Read from stdout: Resolving com.ning#async-http-client;1.7.18 ...
-Resolving com.ning#async-http-client;1.7.18 ...
-sbt-chain: Checking cache for: dependency: com.ning#async-http-client;1.7.18 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.ning#async-http-client;1.7.18
-	found com.ning#async-http-client;1.7.18 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.ning#async-http-client;1.7.18 [compile->compile(*)]
-== resolving dependencies com.ning#async-http-client;1.7.18->io.netty#netty;3.6.6.Final [compile->master(compile)]
-== resolving dependencies com.ning#async-http-client;1.7.18->io.netty#netty;3.7.1.Final [compile->master(compile)]
-== resolving dependencies com.ning#async-http-client;1.7.18->io.netty#netty;3.6.6.Final [compile->compile(*)]
-== resolving dependencies com.ning#async-http-client;1.7.18->io.netty#netty;3.7.1.Final [compile->compile(*)]
-== resolving dependencies com.ning#async-http-client;1.7.18->org.slf4j#slf4j-api;1.7.5 [compile->master(compile)]
-== resolving dependencies com.ning#async-http-client;1.7.18->org.slf4j#slf4j-api;1.7.5 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->oauth.signpost#signpost-core;1.2.1.2 [compile->master(compile)]
-Read from stdout: Resolving oauth.signpost#signpost-core;1.2.1.2 ...
-Resolving oauth.signpost#signpost-core;1.2.1.2 ...
-sbt-chain: Checking cache for: dependency: oauth.signpost#signpost-core;1.2.1.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: oauth.signpost#signpost-core;1.2.1.2
-	found oauth.signpost#signpost-core;1.2.1.2 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->oauth.signpost#signpost-core;1.2.1.2 [compile->compile(*)]
-== resolving dependencies oauth.signpost#signpost-core;1.2.1.2->commons-codec#commons-codec;1.3 [compile->master(*)]
-Read from stdout: Resolving commons-codec#commons-codec;1.3 ...
-Resolving commons-codec#commons-codec;1.3 ...
-sbt-chain: Checking cache for: dependency: commons-codec#commons-codec;1.3 {compile=[compile(*), master(*)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: commons-codec#commons-codec;1.3
-	found commons-codec#commons-codec;1.3 in sbt-chain
-== resolving dependencies oauth.signpost#signpost-core;1.2.1.2->commons-codec#commons-codec;1.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->oauth.signpost#signpost-commonshttp4;1.2.1.2 [compile->master(compile)]
-Read from stdout: Resolving oauth.signpost#signpost-commonshttp4;1.2.1.2 ...
-Resolving oauth.signpost#signpost-commonshttp4;1.2.1.2 ...
-sbt-chain: Checking cache for: dependency: oauth.signpost#signpost-commonshttp4;1.2.1.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: oauth.signpost#signpost-commonshttp4;1.2.1.2
-	found oauth.signpost#signpost-commonshttp4;1.2.1.2 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->oauth.signpost#signpost-commonshttp4;1.2.1.2 [compile->compile(*)]
-== resolving dependencies oauth.signpost#signpost-commonshttp4;1.2.1.2->oauth.signpost#signpost-core;1.2.1.2 [compile->master(*)]
-== resolving dependencies oauth.signpost#signpost-commonshttp4;1.2.1.2->oauth.signpost#signpost-core;1.2.1.2 [compile->compile(*)]
-== resolving dependencies oauth.signpost#signpost-commonshttp4;1.2.1.2->org.apache.httpcomponents#httpcore;4.0.1 [compile->master(*)]
-Read from stdout: Resolving org.apache.httpcomponents#httpcore;4.0.1 ...
-Resolving org.apache.httpcomponents#httpcore;4.0.1 ...
-sbt-chain: Checking cache for: dependency: org.apache.httpcomponents#httpcore;4.0.1 {compile=[compile(*), master(*)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.apache.httpcomponents#httpcore;4.0.1
-	found org.apache.httpcomponents#httpcore;4.0.1 in sbt-chain
-== resolving dependencies oauth.signpost#signpost-commonshttp4;1.2.1.2->org.apache.httpcomponents#httpcore;4.0.1 [compile->compile(*)]
-== resolving dependencies oauth.signpost#signpost-commonshttp4;1.2.1.2->org.apache.httpcomponents#httpclient;4.0.1 [compile->master(*)]
-Read from stdout: Resolving org.apache.httpcomponents#httpclient;4.0.1 ...
-Resolving org.apache.httpcomponents#httpclient;4.0.1 ...
-sbt-chain: Checking cache for: dependency: org.apache.httpcomponents#httpclient;4.0.1 {compile=[compile(*), master(*)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.apache.httpcomponents#httpclient;4.0.1
-	found org.apache.httpcomponents#httpclient;4.0.1 in sbt-chain
-== resolving dependencies oauth.signpost#signpost-commonshttp4;1.2.1.2->org.apache.httpcomponents#httpclient;4.0.1 [compile->compile(*)]
-== resolving dependencies org.apache.httpcomponents#httpclient;4.0.1->org.apache.httpcomponents#httpcore;4.0.1 [compile->master(compile)]
-== resolving dependencies org.apache.httpcomponents#httpclient;4.0.1->org.apache.httpcomponents#httpcore;4.0.1 [compile->compile(*)]
-== resolving dependencies org.apache.httpcomponents#httpclient;4.0.1->commons-logging#commons-logging;1.1.1 [compile->master(compile)]
-Read from stdout: Resolving commons-logging#commons-logging;1.1.1 ...
-Resolving commons-logging#commons-logging;1.1.1 ...
-sbt-chain: Checking cache for: dependency: commons-logging#commons-logging;1.1.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: commons-logging#commons-logging;1.1.1
-	found commons-logging#commons-logging;1.1.1 in sbt-chain
-== resolving dependencies org.apache.httpcomponents#httpclient;4.0.1->commons-logging#commons-logging;1.1.1 [compile->compile(*)]
-== resolving dependencies org.apache.httpcomponents#httpclient;4.0.1->commons-codec#commons-codec;1.3 [compile->master(compile)]
-== resolving dependencies org.apache.httpcomponents#httpclient;4.0.1->commons-codec#commons-codec;1.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.fasterxml.jackson.core#jackson-core;2.2.2 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.fasterxml.jackson.core#jackson-core;2.2.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.fasterxml.jackson.core#jackson-annotations;2.2.2 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.fasterxml.jackson.core#jackson-annotations;2.2.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.fasterxml.jackson.core#jackson-databind;2.2.2 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.fasterxml.jackson.core#jackson-databind;2.2.2 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->xerces#xercesImpl;2.11.0 [compile->master(compile)]
-Read from stdout: Resolving xerces#xercesImpl;2.11.0 ...
-Resolving xerces#xercesImpl;2.11.0 ...
-sbt-chain: Checking cache for: dependency: xerces#xercesImpl;2.11.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: xerces#xercesImpl;2.11.0
-	found xerces#xercesImpl;2.11.0 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->xerces#xercesImpl;2.11.0 [compile->compile(*)]
-== resolving dependencies xerces#xercesImpl;2.11.0->xml-apis#xml-apis;1.4.01 [compile->master(*)]
-Read from stdout: Resolving xml-apis#xml-apis;1.4.01 ...
-Resolving xml-apis#xml-apis;1.4.01 ...
-sbt-chain: Checking cache for: dependency: xml-apis#xml-apis;1.4.01 {compile=[compile(*), master(*)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: xml-apis#xml-apis;1.4.01
-	found xml-apis#xml-apis;1.4.01 in sbt-chain
-== resolving dependencies xerces#xercesImpl;2.11.0->xml-apis#xml-apis;1.4.01 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->javax.transaction#jta;1.1 [compile->master(compile)]
-Read from stdout: Resolving javax.transaction#jta;1.1 ...
-Resolving javax.transaction#jta;1.1 ...
-sbt-chain: Checking cache for: dependency: javax.transaction#jta;1.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: javax.transaction#jta;1.1
-	found javax.transaction#jta;1.1 in sbt-chain
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->javax.transaction#jta;1.1 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.scala-lang#scala-reflect;2.10.3 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.scala-lang#scala-reflect;2.10.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [compile->default(compile)]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [compile->runtime]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [compile->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#sbt-link;2.2.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#sbt-link;2.2.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#sbt-link;2.2.3->org.javassist#javassist;3.18.0-GA [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-exceptions;2.2.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-exceptions;2.2.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#templates_2.10;2.2.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#templates_2.10;2.2.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#templates_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#templates_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [runtime->compile]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 [runtime->runtime(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->com.github.scala-incubator.io#scala-io-core_2.10;0.4.2 [runtime->compile]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->org.scala-lang#scala-library;2.10.0 [runtime->runtime(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->org.scala-lang#scala-library;2.10.3 [runtime->runtime(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->org.scala-lang#scala-library;2.10.3 [runtime->compile]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->com.jsuereth#scala-arm_2.10;1.3 [runtime->runtime(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-core_2.10;0.4.2->com.jsuereth#scala-arm_2.10;1.3 [runtime->compile]
-== resolving dependencies com.jsuereth#scala-arm_2.10;1.3->org.scala-lang#scala-library;2.10.0 [runtime->runtime(*)]
-== resolving dependencies com.jsuereth#scala-arm_2.10;1.3->org.scala-lang#scala-library;2.10.3 [runtime->runtime(*)]
-== resolving dependencies com.jsuereth#scala-arm_2.10;1.3->org.scala-lang#scala-library;2.10.3 [runtime->compile]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->org.scala-lang#scala-library;2.10.0 [runtime->runtime(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->org.scala-lang#scala-library;2.10.3 [runtime->runtime(*)]
-== resolving dependencies com.github.scala-incubator.io#scala-io-file_2.10;0.4.2->org.scala-lang#scala-library;2.10.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-iteratees_2.10;2.2.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-iteratees_2.10;2.2.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-iteratees_2.10;2.2.3->org.scala-stm#scala-stm_2.10;0.7 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-iteratees_2.10;2.2.3->org.scala-stm#scala-stm_2.10;0.7 [runtime->compile]
-== resolving dependencies org.scala-stm#scala-stm_2.10;0.7->org.scala-lang#scala-library;2.10.0 [runtime->runtime(*)]
-== resolving dependencies org.scala-stm#scala-stm_2.10;0.7->org.scala-lang#scala-library;2.10.3 [runtime->runtime(*)]
-== resolving dependencies org.scala-stm#scala-stm_2.10;0.7->org.scala-lang#scala-library;2.10.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-iteratees_2.10;2.2.3->com.typesafe#config;1.0.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-iteratees_2.10;2.2.3->com.typesafe#config;1.0.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-json_2.10;2.2.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.play#play-json_2.10;2.2.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.typesafe.play#play-iteratees_2.10;2.2.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.typesafe.play#play-iteratees_2.10;2.2.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.typesafe.play#play-functional_2.10;2.2.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.typesafe.play#play-functional_2.10;2.2.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-functional_2.10;2.2.3->org.scala-lang#scala-library;2.10.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-functional_2.10;2.2.3->org.scala-lang#scala-library;2.10.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.typesafe.play#play-datacommons_2.10;2.2.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.typesafe.play#play-datacommons_2.10;2.2.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-datacommons_2.10;2.2.3->org.scala-lang#scala-library;2.10.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-datacommons_2.10;2.2.3->org.scala-lang#scala-library;2.10.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->joda-time#joda-time;2.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->joda-time#joda-time;2.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->org.joda#joda-convert;1.3.1 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->org.joda#joda-convert;1.3.1 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.fasterxml.jackson.core#jackson-annotations;2.2.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.fasterxml.jackson.core#jackson-annotations;2.2.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.fasterxml.jackson.core#jackson-core;2.2.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.fasterxml.jackson.core#jackson-core;2.2.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.fasterxml.jackson.core#jackson-databind;2.2.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->com.fasterxml.jackson.core#jackson-databind;2.2.2 [runtime->compile]
-== resolving dependencies com.fasterxml.jackson.core#jackson-databind;2.2.2->com.fasterxml.jackson.core#jackson-annotations;2.2.2 [runtime->runtime(*)]
-== resolving dependencies com.fasterxml.jackson.core#jackson-databind;2.2.2->com.fasterxml.jackson.core#jackson-annotations;2.2.2 [runtime->compile]
-== resolving dependencies com.fasterxml.jackson.core#jackson-databind;2.2.2->com.fasterxml.jackson.core#jackson-core;2.2.2 [runtime->runtime(*)]
-== resolving dependencies com.fasterxml.jackson.core#jackson-databind;2.2.2->com.fasterxml.jackson.core#jackson-core;2.2.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->org.scala-lang#scala-reflect;2.10.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-json_2.10;2.2.3->org.scala-lang#scala-reflect;2.10.3 [runtime->compile]
-== resolving dependencies org.scala-lang#scala-reflect;2.10.3->org.scala-lang#scala-library;2.10.3 [runtime->runtime(*)]
-== resolving dependencies org.scala-lang#scala-reflect;2.10.3->org.scala-lang#scala-library;2.10.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->io.netty#netty;3.7.1.Final [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->io.netty#netty;3.7.1.Final [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.netty#netty-http-pipelining;1.1.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.netty#netty-http-pipelining;1.1.2 [runtime->compile]
-== resolving dependencies com.typesafe.netty#netty-http-pipelining;1.1.2->io.netty#netty;3.6.3.Final [runtime->runtime(*)]
-== resolving dependencies com.typesafe.netty#netty-http-pipelining;1.1.2->io.netty#netty;3.7.1.Final [runtime->runtime(*)]
-== resolving dependencies com.typesafe.netty#netty-http-pipelining;1.1.2->io.netty#netty;3.7.1.Final [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.slf4j#slf4j-api;1.7.5 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.slf4j#slf4j-api;1.7.5 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.slf4j#jul-to-slf4j;1.7.5 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.slf4j#jul-to-slf4j;1.7.5 [runtime->compile]
-== resolving dependencies org.slf4j#jul-to-slf4j;1.7.5->org.slf4j#slf4j-api;1.7.5 [runtime->runtime(*)]
-== resolving dependencies org.slf4j#jul-to-slf4j;1.7.5->org.slf4j#slf4j-api;1.7.5 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.slf4j#jcl-over-slf4j;1.7.5 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.slf4j#jcl-over-slf4j;1.7.5 [runtime->compile]
-== resolving dependencies org.slf4j#jcl-over-slf4j;1.7.5->org.slf4j#slf4j-api;1.7.5 [runtime->runtime(*)]
-== resolving dependencies org.slf4j#jcl-over-slf4j;1.7.5->org.slf4j#slf4j-api;1.7.5 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->ch.qos.logback#logback-core;1.0.13 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->ch.qos.logback#logback-core;1.0.13 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->ch.qos.logback#logback-classic;1.0.13 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->ch.qos.logback#logback-classic;1.0.13 [runtime->compile]
-== resolving dependencies ch.qos.logback#logback-classic;1.0.13->ch.qos.logback#logback-core;1.0.13 [runtime->runtime(*)]
-== resolving dependencies ch.qos.logback#logback-classic;1.0.13->ch.qos.logback#logback-core;1.0.13 [runtime->compile]
-== resolving dependencies ch.qos.logback#logback-classic;1.0.13->org.slf4j#slf4j-api;1.7.5 [runtime->runtime(*)]
-== resolving dependencies ch.qos.logback#logback-classic;1.0.13->org.slf4j#slf4j-api;1.7.5 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.github.scala-incubator.io#scala-io-file_2.10;0.4.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.akka#akka-actor_2.10;2.2.0 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.akka#akka-actor_2.10;2.2.0 [runtime->compile]
-== resolving dependencies com.typesafe.akka#akka-actor_2.10;2.2.0->org.scala-lang#scala-library;2.10.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.akka#akka-actor_2.10;2.2.0->org.scala-lang#scala-library;2.10.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.akka#akka-actor_2.10;2.2.0->org.scala-lang#scala-library;2.10.3 [runtime->compile]
-== resolving dependencies com.typesafe.akka#akka-actor_2.10;2.2.0->com.typesafe#config;1.0.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.akka#akka-actor_2.10;2.2.0->com.typesafe#config;1.0.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.akka#akka-slf4j_2.10;2.2.0 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.typesafe.akka#akka-slf4j_2.10;2.2.0 [runtime->compile]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->com.typesafe.akka#akka-actor_2.10;2.2.0 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->com.typesafe.akka#akka-actor_2.10;2.2.0 [runtime->compile]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.scala-lang#scala-library;2.10.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.scala-lang#scala-library;2.10.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.scala-lang#scala-library;2.10.3 [runtime->compile]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.slf4j#slf4j-api;1.7.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.slf4j#slf4j-api;1.7.5 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.akka#akka-slf4j_2.10;2.2.0->org.slf4j#slf4j-api;1.7.5 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.scala-stm#scala-stm_2.10;0.7 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.scala-stm#scala-stm_2.10;0.7 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->joda-time#joda-time;2.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->joda-time#joda-time;2.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.joda#joda-convert;1.3.1 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.joda#joda-convert;1.3.1 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.apache.commons#commons-lang3;3.1 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.apache.commons#commons-lang3;3.1 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.ning#async-http-client;1.7.18 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.ning#async-http-client;1.7.18 [runtime->compile]
-== resolving dependencies com.ning#async-http-client;1.7.18->io.netty#netty;3.6.6.Final [runtime->runtime(*)]
-== resolving dependencies com.ning#async-http-client;1.7.18->io.netty#netty;3.7.1.Final [runtime->runtime(*)]
-== resolving dependencies com.ning#async-http-client;1.7.18->io.netty#netty;3.7.1.Final [runtime->compile]
-== resolving dependencies com.ning#async-http-client;1.7.18->org.slf4j#slf4j-api;1.7.5 [runtime->runtime(*)]
-== resolving dependencies com.ning#async-http-client;1.7.18->org.slf4j#slf4j-api;1.7.5 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->oauth.signpost#signpost-core;1.2.1.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->oauth.signpost#signpost-core;1.2.1.2 [runtime->compile]
-== resolving dependencies oauth.signpost#signpost-core;1.2.1.2->commons-codec#commons-codec;1.3 [runtime->runtime(*)]
-== resolving dependencies oauth.signpost#signpost-core;1.2.1.2->commons-codec#commons-codec;1.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->oauth.signpost#signpost-commonshttp4;1.2.1.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->oauth.signpost#signpost-commonshttp4;1.2.1.2 [runtime->compile]
-== resolving dependencies oauth.signpost#signpost-commonshttp4;1.2.1.2->oauth.signpost#signpost-core;1.2.1.2 [runtime->runtime(*)]
-== resolving dependencies oauth.signpost#signpost-commonshttp4;1.2.1.2->oauth.signpost#signpost-core;1.2.1.2 [runtime->compile]
-== resolving dependencies oauth.signpost#signpost-commonshttp4;1.2.1.2->org.apache.httpcomponents#httpcore;4.0.1 [runtime->runtime(*)]
-== resolving dependencies oauth.signpost#signpost-commonshttp4;1.2.1.2->org.apache.httpcomponents#httpcore;4.0.1 [runtime->compile]
-== resolving dependencies oauth.signpost#signpost-commonshttp4;1.2.1.2->org.apache.httpcomponents#httpclient;4.0.1 [runtime->runtime(*)]
-== resolving dependencies oauth.signpost#signpost-commonshttp4;1.2.1.2->org.apache.httpcomponents#httpclient;4.0.1 [runtime->compile]
-== resolving dependencies org.apache.httpcomponents#httpclient;4.0.1->org.apache.httpcomponents#httpcore;4.0.1 [runtime->runtime(*)]
-== resolving dependencies org.apache.httpcomponents#httpclient;4.0.1->org.apache.httpcomponents#httpcore;4.0.1 [runtime->compile]
-== resolving dependencies org.apache.httpcomponents#httpclient;4.0.1->commons-logging#commons-logging;1.1.1 [runtime->runtime(*)]
-== resolving dependencies org.apache.httpcomponents#httpclient;4.0.1->commons-logging#commons-logging;1.1.1 [runtime->compile]
-== resolving dependencies org.apache.httpcomponents#httpclient;4.0.1->commons-codec#commons-codec;1.3 [runtime->runtime(*)]
-== resolving dependencies org.apache.httpcomponents#httpclient;4.0.1->commons-codec#commons-codec;1.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.fasterxml.jackson.core#jackson-core;2.2.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.fasterxml.jackson.core#jackson-core;2.2.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.fasterxml.jackson.core#jackson-annotations;2.2.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.fasterxml.jackson.core#jackson-annotations;2.2.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.fasterxml.jackson.core#jackson-databind;2.2.2 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->com.fasterxml.jackson.core#jackson-databind;2.2.2 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->xerces#xercesImpl;2.11.0 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->xerces#xercesImpl;2.11.0 [runtime->compile]
-== resolving dependencies xerces#xercesImpl;2.11.0->xml-apis#xml-apis;1.4.01 [runtime->runtime(*)]
-== resolving dependencies xerces#xercesImpl;2.11.0->xml-apis#xml-apis;1.4.01 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->javax.transaction#jta;1.1 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->javax.transaction#jta;1.1 [runtime->compile]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.scala-lang#scala-reflect;2.10.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play_2.10;2.2.3->org.scala-lang#scala-reflect;2.10.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [compile->master]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.jolbox#bonecp;0.8.0.RELEASE [compile->master(compile)]
-Read from stdout: Resolving com.jolbox#bonecp;0.8.0.RELEASE ...
-Resolving com.jolbox#bonecp;0.8.0.RELEASE ...
-sbt-chain: Checking cache for: dependency: com.jolbox#bonecp;0.8.0.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.jolbox#bonecp;0.8.0.RELEASE
-	found com.jolbox#bonecp;0.8.0.RELEASE in sbt-chain
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.jolbox#bonecp;0.8.0.RELEASE [compile->compile(*)]
-excluding dependency: com.google.guava#guava;15.0 {compile=[compile(*), master(*)], runtime=[runtime(*)]} in compile
-== resolving dependencies com.jolbox#bonecp;0.8.0.RELEASE->org.slf4j#slf4j-api;1.7.2 [compile->master(*)]
-excluding dependency: com.google.guava#guava;15.0 {compile=[compile(*), master(*)], runtime=[runtime(*)]} in compile
-== resolving dependencies com.jolbox#bonecp;0.8.0.RELEASE->org.slf4j#slf4j-api;1.7.5 [compile->master(*)]
-== resolving dependencies com.jolbox#bonecp;0.8.0.RELEASE->org.slf4j#slf4j-api;1.7.2 [compile->compile(*)]
-== resolving dependencies com.jolbox#bonecp;0.8.0.RELEASE->org.slf4j#slf4j-api;1.7.5 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.google.guava#guava;14.0.1 [compile->master(compile)]
-Read from stdout: Resolving com.google.guava#guava;14.0.1 ...
-Resolving com.google.guava#guava;14.0.1 ...
-sbt-chain: Checking cache for: dependency: com.google.guava#guava;14.0.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.google.guava#guava;14.0.1
-	found com.google.guava#guava;14.0.1 in sbt-chain
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.google.guava#guava;14.0.1 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.h2database#h2;1.3.172 [compile->master(compile)]
-Read from stdout: Resolving com.h2database#h2;1.3.172 ...
-Resolving com.h2database#h2;1.3.172 ...
-sbt-chain: Checking cache for: dependency: com.h2database#h2;1.3.172 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.h2database#h2;1.3.172
-	found com.h2database#h2;1.3.172 in sbt-chain
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.h2database#h2;1.3.172 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->tyrex#tyrex;1.0.1 [compile->master(compile)]
-Read from stdout: Resolving tyrex#tyrex;1.0.1 ...
-Resolving tyrex#tyrex;1.0.1 ...
-sbt-chain: Checking cache for: dependency: tyrex#tyrex;1.0.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: tyrex#tyrex;1.0.1
-	found tyrex#tyrex;1.0.1 in sbt-chain
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->tyrex#tyrex;1.0.1 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-java-jdbc_2.10;2.2.3->com.typesafe.play#play-jdbc_2.10;2.2.3 [compile->runtime(*)]
-== resolving dependencies com.typesafe.play#play-java-jdbc_2.10;2.2.3->com.typesafe.play#play-jdbc_2.10;2.2.3 [compile->compile]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.jolbox#bonecp;0.8.0.RELEASE [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.jolbox#bonecp;0.8.0.RELEASE [runtime->compile]
-excluding dependency: com.google.guava#guava;15.0 {compile=[compile(*), master(*)], runtime=[runtime(*)]} in runtime
-== resolving dependencies com.jolbox#bonecp;0.8.0.RELEASE->org.slf4j#slf4j-api;1.7.2 [runtime->runtime(*)]
-== resolving dependencies com.jolbox#bonecp;0.8.0.RELEASE->org.slf4j#slf4j-api;1.7.5 [runtime->runtime(*)]
-== resolving dependencies com.jolbox#bonecp;0.8.0.RELEASE->org.slf4j#slf4j-api;1.7.5 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.google.guava#guava;14.0.1 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.google.guava#guava;14.0.1 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.h2database#h2;1.3.172 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->com.h2database#h2;1.3.172 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->tyrex#tyrex;1.0.1 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-jdbc_2.10;2.2.3->tyrex#tyrex;1.0.1 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-java-jdbc_2.10;2.2.3->com.typesafe.play#play-java_2.10;2.2.3 [compile->master(compile)]
-Read from stdout: Resolving com.typesafe.play#play-java_2.10;2.2.3 ...
-Resolving com.typesafe.play#play-java_2.10;2.2.3 ...
-sbt-chain: Checking cache for: dependency: com.typesafe.play#play-java_2.10;2.2.3 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.typesafe.play#play-java_2.10;2.2.3
-	found com.typesafe.play#play-java_2.10;2.2.3 in sbt-chain
-== resolving dependencies com.typesafe.play#play-java-jdbc_2.10;2.2.3->com.typesafe.play#play-java_2.10;2.2.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.yaml#snakeyaml;1.12 [compile->master(compile)]
-Read from stdout: Resolving org.yaml#snakeyaml;1.12 ...
-Resolving org.yaml#snakeyaml;1.12 ...
-sbt-chain: Checking cache for: dependency: org.yaml#snakeyaml;1.12 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.yaml#snakeyaml;1.12
-	found org.yaml#snakeyaml;1.12 in sbt-chain
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.yaml#snakeyaml;1.12 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.hibernate#hibernate-validator;5.0.1.Final [compile->master(compile)]
-Read from stdout: Resolving org.hibernate#hibernate-validator;5.0.1.Final ...
-Resolving org.hibernate#hibernate-validator;5.0.1.Final ...
-sbt-chain: Checking cache for: dependency: org.hibernate#hibernate-validator;5.0.1.Final {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.hibernate#hibernate-validator;5.0.1.Final
-	found org.hibernate#hibernate-validator;5.0.1.Final in sbt-chain
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.hibernate#hibernate-validator;5.0.1.Final [compile->compile(*)]
-== resolving dependencies org.hibernate#hibernate-validator;5.0.1.Final->javax.validation#validation-api;1.1.0.Final [compile->master(compile)]
-Read from stdout: Resolving javax.validation#validation-api;1.1.0.Final ...
-Resolving javax.validation#validation-api;1.1.0.Final ...
-sbt-chain: Checking cache for: dependency: javax.validation#validation-api;1.1.0.Final {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: javax.validation#validation-api;1.1.0.Final
-	found javax.validation#validation-api;1.1.0.Final in sbt-chain
-== resolving dependencies org.hibernate#hibernate-validator;5.0.1.Final->javax.validation#validation-api;1.1.0.Final [compile->compile(*)]
-== resolving dependencies org.hibernate#hibernate-validator;5.0.1.Final->org.jboss.logging#jboss-logging;3.1.1.GA [compile->master(compile)]
-Read from stdout: Resolving org.jboss.logging#jboss-logging;3.1.1.GA ...
-Resolving org.jboss.logging#jboss-logging;3.1.1.GA ...
-sbt-chain: Checking cache for: dependency: org.jboss.logging#jboss-logging;3.1.1.GA {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.jboss.logging#jboss-logging;3.1.1.GA
-	found org.jboss.logging#jboss-logging;3.1.1.GA in sbt-chain
-dependency descriptor has been mediated: dependency: log4j#log4j;1.2.16 {provided=[compile(*), provided(*), runtime(*), master(compile)]} => dependency: log4j#log4j;1.2.17 {provided=[compile(*), provided(*), runtime(*), master(compile)]}
-== resolving dependencies org.hibernate#hibernate-validator;5.0.1.Final->org.jboss.logging#jboss-logging;3.1.1.GA [compile->compile(*)]
-dependency descriptor has been mediated: dependency: log4j#log4j;1.2.16 {provided=[compile(*), provided(*), runtime(*), master(compile)]} => dependency: log4j#log4j;1.2.17 {provided=[compile(*), provided(*), runtime(*), master(compile)]}
-== resolving dependencies org.hibernate#hibernate-validator;5.0.1.Final->com.fasterxml#classmate;0.8.0 [compile->master(compile)]
-Read from stdout: Resolving com.fasterxml#classmate;0.8.0 ...
-Resolving com.fasterxml#classmate;0.8.0 ...
-sbt-chain: Checking cache for: dependency: com.fasterxml#classmate;0.8.0 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.fasterxml#classmate;0.8.0
-	found com.fasterxml#classmate;0.8.0 in sbt-chain
-dependency descriptor has been mediated: dependency: junit#junit;4.8.1 {test=[runtime(*), master(compile)]} => dependency: junit#junit;4.11 {test=[runtime(*), master(compile)]}
-== resolving dependencies org.hibernate#hibernate-validator;5.0.1.Final->com.fasterxml#classmate;0.8.0 [compile->compile(*)]
-dependency descriptor has been mediated: dependency: junit#junit;4.8.1 {test=[runtime(*), master(compile)]} => dependency: junit#junit;4.11 {test=[runtime(*), master(compile)]}
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.springframework#spring-context;3.2.3.RELEASE [compile->master(compile)]
-Read from stdout: Resolving org.springframework#spring-context;3.2.3.RELEASE ...
-Resolving org.springframework#spring-context;3.2.3.RELEASE ...
-sbt-chain: Checking cache for: dependency: org.springframework#spring-context;3.2.3.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.springframework#spring-context;3.2.3.RELEASE
-	found org.springframework#spring-context;3.2.3.RELEASE in sbt-chain
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.springframework#spring-context;3.2.3.RELEASE [compile->compile(*)]
-excluding dependency: org.springframework#spring-aop;3.2.3.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: org.springframework#spring-beans;3.2.3.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: org.springframework#spring-core;3.2.3.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: org.springframework#spring-expression;3.2.3.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.springframework#spring-core;3.2.3.RELEASE [compile->master(compile)]
-Read from stdout: Resolving org.springframework#spring-core;3.2.3.RELEASE ...
-Resolving org.springframework#spring-core;3.2.3.RELEASE ...
-sbt-chain: Checking cache for: dependency: org.springframework#spring-core;3.2.3.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.springframework#spring-core;3.2.3.RELEASE
-	found org.springframework#spring-core;3.2.3.RELEASE in sbt-chain
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.springframework#spring-core;3.2.3.RELEASE [compile->compile(*)]
-excluding dependency: commons-logging#commons-logging;1.1.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.springframework#spring-beans;3.2.3.RELEASE [compile->master(compile)]
-Read from stdout: Resolving org.springframework#spring-beans;3.2.3.RELEASE ...
-Resolving org.springframework#spring-beans;3.2.3.RELEASE ...
-sbt-chain: Checking cache for: dependency: org.springframework#spring-beans;3.2.3.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.springframework#spring-beans;3.2.3.RELEASE
-	found org.springframework#spring-beans;3.2.3.RELEASE in sbt-chain
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.springframework#spring-beans;3.2.3.RELEASE [compile->compile(*)]
-excluding dependency: org.springframework#spring-core;3.2.3.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.javassist#javassist;3.18.0-GA [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.javassist#javassist;3.18.0-GA [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.reflections#reflections;0.9.8 [compile->master(compile)]
-Read from stdout: Resolving org.reflections#reflections;0.9.8 ...
-Resolving org.reflections#reflections;0.9.8 ...
-sbt-chain: Checking cache for: dependency: org.reflections#reflections;0.9.8 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: org.reflections#reflections;0.9.8
-	found org.reflections#reflections;0.9.8 in sbt-chain
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.reflections#reflections;0.9.8 [compile->compile(*)]
-excluding dependency: com.google.guava#guava;11.0.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: javassist#javassist;3.12.1.GA {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-== resolving dependencies org.reflections#reflections;0.9.8->dom4j#dom4j;1.6.1 [compile->master(compile)]
-excluding dependency: com.google.guava#guava;11.0.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: javassist#javassist;3.12.1.GA {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-Read from stdout: Resolving dom4j#dom4j;1.6.1 ...
-Resolving dom4j#dom4j;1.6.1 ...
-sbt-chain: Checking cache for: dependency: dom4j#dom4j;1.6.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: dom4j#dom4j;1.6.1
-	found dom4j#dom4j;1.6.1 in sbt-chain
-== resolving dependencies org.reflections#reflections;0.9.8->dom4j#dom4j;1.6.1 [compile->compile(*)]
-== resolving dependencies dom4j#dom4j;1.6.1->xml-apis#xml-apis;1.0.b2 [compile->master(compile)]
-excluding dependency: com.google.guava#guava;11.0.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-excluding dependency: javassist#javassist;3.12.1.GA {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in compile
-== resolving dependencies dom4j#dom4j;1.6.1->xml-apis#xml-apis;1.4.01 [compile->master(compile)]
-== resolving dependencies dom4j#dom4j;1.6.1->xml-apis#xml-apis;1.0.b2 [compile->compile(*)]
-== resolving dependencies dom4j#dom4j;1.6.1->xml-apis#xml-apis;1.4.01 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->com.google.guava#guava;14.0.1 [compile->master(compile)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->com.google.guava#guava;14.0.1 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->com.google.code.findbugs#jsr305;2.0.1 [compile->master(compile)]
-Read from stdout: Resolving com.google.code.findbugs#jsr305;2.0.1 ...
-Resolving com.google.code.findbugs#jsr305;2.0.1 ...
-sbt-chain: Checking cache for: dependency: com.google.code.findbugs#jsr305;2.0.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: com.google.code.findbugs#jsr305;2.0.1
-	found com.google.code.findbugs#jsr305;2.0.1 in sbt-chain
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->com.google.code.findbugs#jsr305;2.0.1 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->javax.servlet#javax.servlet-api;3.0.1 [compile->master(compile)]
-Read from stdout: Resolving javax.servlet#javax.servlet-api;3.0.1 ...
-Resolving javax.servlet#javax.servlet-api;3.0.1 ...
-sbt-chain: Checking cache for: dependency: javax.servlet#javax.servlet-api;3.0.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]}
-sbt-chain: module revision found in cache: javax.servlet#javax.servlet-api;3.0.1
-	found javax.servlet#javax.servlet-api;3.0.1 in sbt-chain
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->javax.servlet#javax.servlet-api;3.0.1 [compile->compile(*)]
-== resolving dependencies com.typesafe.play#play-java-jdbc_2.10;2.2.3->com.typesafe.play#play-java_2.10;2.2.3 [compile->runtime(*)]
-== resolving dependencies com.typesafe.play#play-java-jdbc_2.10;2.2.3->com.typesafe.play#play-java_2.10;2.2.3 [compile->compile]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->com.typesafe.play#play_2.10;2.2.3 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.yaml#snakeyaml;1.12 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.yaml#snakeyaml;1.12 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.hibernate#hibernate-validator;5.0.1.Final [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.hibernate#hibernate-validator;5.0.1.Final [runtime->compile]
-== resolving dependencies org.hibernate#hibernate-validator;5.0.1.Final->javax.validation#validation-api;1.1.0.Final [runtime->runtime(*)]
-== resolving dependencies org.hibernate#hibernate-validator;5.0.1.Final->javax.validation#validation-api;1.1.0.Final [runtime->compile]
-== resolving dependencies org.hibernate#hibernate-validator;5.0.1.Final->org.jboss.logging#jboss-logging;3.1.1.GA [runtime->runtime(*)]
-== resolving dependencies org.hibernate#hibernate-validator;5.0.1.Final->org.jboss.logging#jboss-logging;3.1.1.GA [runtime->compile]
-dependency descriptor has been mediated: dependency: log4j#log4j;1.2.16 {provided=[compile(*), provided(*), runtime(*), master(compile)]} => dependency: log4j#log4j;1.2.17 {provided=[compile(*), provided(*), runtime(*), master(compile)]}
-== resolving dependencies org.hibernate#hibernate-validator;5.0.1.Final->com.fasterxml#classmate;0.8.0 [runtime->runtime(*)]
-== resolving dependencies org.hibernate#hibernate-validator;5.0.1.Final->com.fasterxml#classmate;0.8.0 [runtime->compile]
-dependency descriptor has been mediated: dependency: junit#junit;4.8.1 {test=[runtime(*), master(compile)]} => dependency: junit#junit;4.11 {test=[runtime(*), master(compile)]}
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.springframework#spring-context;3.2.3.RELEASE [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.springframework#spring-context;3.2.3.RELEASE [runtime->compile]
-excluding dependency: org.springframework#spring-aop;3.2.3.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-excluding dependency: org.springframework#spring-beans;3.2.3.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-excluding dependency: org.springframework#spring-core;3.2.3.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-excluding dependency: org.springframework#spring-expression;3.2.3.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.springframework#spring-core;3.2.3.RELEASE [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.springframework#spring-core;3.2.3.RELEASE [runtime->compile]
-excluding dependency: commons-logging#commons-logging;1.1.1 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.springframework#spring-beans;3.2.3.RELEASE [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.springframework#spring-beans;3.2.3.RELEASE [runtime->compile]
-excluding dependency: org.springframework#spring-core;3.2.3.RELEASE {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.javassist#javassist;3.18.0-GA [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.javassist#javassist;3.18.0-GA [runtime->compile]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.reflections#reflections;0.9.8 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->org.reflections#reflections;0.9.8 [runtime->compile]
-excluding dependency: com.google.guava#guava;11.0.2 {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-excluding dependency: javassist#javassist;3.12.1.GA {compile=[compile(*), master(compile)], runtime=[runtime(*)]} in runtime
-== resolving dependencies org.reflections#reflections;0.9.8->dom4j#dom4j;1.6.1 [runtime->runtime(*)]
-== resolving dependencies org.reflections#reflections;0.9.8->dom4j#dom4j;1.6.1 [runtime->compile]
-== resolving dependencies dom4j#dom4j;1.6.1->xml-apis#xml-apis;1.0.b2 [runtime->runtime(*)]
-== resolving dependencies dom4j#dom4j;1.6.1->xml-apis#xml-apis;1.4.01 [runtime->runtime(*)]
-== resolving dependencies dom4j#dom4j;1.6.1->xml-apis#xml-apis;1.4.01 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->com.google.guava#guava;14.0.1 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->com.google.guava#guava;14.0.1 [runtime->compile]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->com.google.code.findbugs#jsr305;2.0.1 [runtime->runtime(*)]
-== resolving dependencies com.typesafe.play#play-java_2.10;2.2.3->com.google.code.findbugs#jsr305;2.0.1 [runtime->compile]
-==

<TRUNCATED>


[13/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/jquery.jqplot.min.js
----------------------------------------------------------------------
diff --git a/public/javascripts/jquery.jqplot.min.js b/public/javascripts/jquery.jqplot.min.js
deleted file mode 100644
index f25712c..0000000
--- a/public/javascripts/jquery.jqplot.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
-   jsDate | (c) 2010-2013 Chris Leonello
- */(function(L){var u;L.fn.emptyForce=function(){for(var ah=0,ai;(ai=L(this)[ah])!=null;ah++){if(ai.nodeType===1){L.cleanData(ai.getElementsByTagName("*"))}if(L.jqplot.use_excanvas){ai.outerHTML=""}else{while(ai.firstChild){ai.removeChild(ai.firstChild)}}ai=null}return L(this)};L.fn.removeChildForce=function(ah){while(ah.firstChild){this.removeChildForce(ah.firstChild);ah.removeChild(ah.firstChild)}};L.fn.jqplot=function(){var ah=[];var aj=[];for(var ak=0,ai=arguments.length;ak<ai;ak++){if(L.isArray(arguments[ak])){ah.push(arguments[ak])}else{if(L.isPlainObject(arguments[ak])){aj.push(arguments[ak])}}}return this.each(function(an){var at,ar,aq=L(this),am=ah.length,al=aj.length,ap,ao;if(an<am){ap=ah[an]}else{ap=am?ah[am-1]:null}if(an<al){ao=aj[an]}else{ao=al?aj[al-1]:null}at=aq.attr("id");if(at===u){at="jqplot_target_"+L.jqplot.targetCounter++;aq.attr("id",at)}ar=L.jqplot(at,ap,ao);aq.data("jqplot",ar)})};L.jqplot=function(an,ak,ai){var aj=null,ah=null;if(arguments.length===3){aj=ak;
 ah=ai}else{if(arguments.length===2){if(L.isArray(ak)){aj=ak}else{if(L.isPlainObject(ak)){ah=ak}}}}if(aj===null&&ah!==null&&ah.data){aj=ah.data}var am=new R();L("#"+an).removeClass("jqplot-error");if(L.jqplot.config.catchErrors){try{am.init(an,aj,ah);am.draw();am.themeEngine.init.call(am);return am}catch(al){var ao=L.jqplot.config.errorMessage||al.message;L("#"+an).append('<div class="jqplot-error-message">'+ao+"</div>");L("#"+an).addClass("jqplot-error");document.getElementById(an).style.background=L.jqplot.config.errorBackground;document.getElementById(an).style.border=L.jqplot.config.errorBorder;document.getElementById(an).style.fontFamily=L.jqplot.config.errorFontFamily;document.getElementById(an).style.fontSize=L.jqplot.config.errorFontSize;document.getElementById(an).style.fontStyle=L.jqplot.config.errorFontStyle;document.getElementById(an).style.fontWeight=L.jqplot.config.errorFontWeight}}else{am.init(an,aj,ah);am.draw();am.themeEngine.init.call(am);return am}};L.jqplot.versio
 n="1.0.8";L.jqplot.revision="1250";L.jqplot.targetCounter=1;L.jqplot.CanvasManager=function(){if(typeof L.jqplot.CanvasManager.canvases=="undefined"){L.jqplot.CanvasManager.canvases=[];L.jqplot.CanvasManager.free=[]}var ah=[];this.getCanvas=function(){var ak;var aj=true;if(!L.jqplot.use_excanvas){for(var al=0,ai=L.jqplot.CanvasManager.canvases.length;al<ai;al++){if(L.jqplot.CanvasManager.free[al]===true){aj=false;ak=L.jqplot.CanvasManager.canvases[al];L.jqplot.CanvasManager.free[al]=false;ah.push(al);break}}}if(aj){ak=document.createElement("canvas");ah.push(L.jqplot.CanvasManager.canvases.length);L.jqplot.CanvasManager.canvases.push(ak);L.jqplot.CanvasManager.free.push(false)}return ak};this.initCanvas=function(ai){if(L.jqplot.use_excanvas){return window.G_vmlCanvasManager.initElement(ai)}return ai};this.freeAllCanvases=function(){for(var aj=0,ai=ah.length;aj<ai;aj++){this.freeCanvas(ah[aj])}ah=[]};this.freeCanvas=function(ai){if(L.jqplot.use_excanvas&&window.G_vmlCanvasManager.uni
 nitElement!==u){window.G_vmlCanvasManager.uninitElement(L.jqplot.CanvasManager.canvases[ai]);L.jqplot.CanvasManager.canvases[ai]=null}else{var aj=L.jqplot.CanvasManager.canvases[ai];aj.getContext("2d").clearRect(0,0,aj.width,aj.height);L(aj).unbind().removeAttr("class").removeAttr("style");L(aj).css({left:"",top:"",position:""});aj.width=0;aj.height=0;L.jqplot.CanvasManager.free[ai]=true}}};L.jqplot.log=function(){if(window.console){window.console.log.apply(window.console,arguments)}};L.jqplot.config={addDomReference:false,enablePlugins:false,defaultHeight:300,defaultWidth:400,UTCAdjust:false,timezoneOffset:new Date(new Date().getTimezoneOffset()*60000),errorMessage:"",errorBackground:"",errorBorder:"",errorFontFamily:"",errorFontSize:"",errorFontStyle:"",errorFontWeight:"",catchErrors:false,defaultTickFormatString:"%.1f",defaultColors:["#4bb2c5","#EAA228","#c5b47f","#579575","#839557","#958c12","#953579","#4b5de4","#d8b83f","#ff5800","#0085cc","#c747a3","#cddf54","#FBD178","#26B4E3
 ","#bd70c7"],defaultNegativeColors:["#498991","#C08840","#9F9274","#546D61","#646C4A","#6F6621","#6E3F5F","#4F64B0","#A89050","#C45923","#187399","#945381","#959E5C","#C7AF7B","#478396","#907294"],dashLength:4,gapLength:4,dotGapLength:2.5,srcLocation:"jqplot/src/",pluginLocation:"jqplot/src/plugins/"};L.jqplot.arrayMax=function(ah){return Math.max.apply(Math,ah)};L.jqplot.arrayMin=function(ah){return Math.min.apply(Math,ah)};L.jqplot.enablePlugins=L.jqplot.config.enablePlugins;L.jqplot.support_canvas=function(){if(typeof L.jqplot.support_canvas.result=="undefined"){L.jqplot.support_canvas.result=!!document.createElement("canvas").getContext}return L.jqplot.support_canvas.result};L.jqplot.support_canvas_text=function(){if(typeof L.jqplot.support_canvas_text.result=="undefined"){if(window.G_vmlCanvasManager!==u&&window.G_vmlCanvasManager._version>887){L.jqplot.support_canvas_text.result=true}else{L.jqplot.support_canvas_text.result=!!(document.createElement("canvas").getContext&&typeo
 f document.createElement("canvas").getContext("2d").fillText=="function")}}return L.jqplot.support_canvas_text.result};L.jqplot.use_excanvas=((!L.support.boxModel||!L.support.objectAll||!$support.leadingWhitespace)&&!L.jqplot.support_canvas())?true:false;L.jqplot.preInitHooks=[];L.jqplot.postInitHooks=[];L.jqplot.preParseOptionsHooks=[];L.jqplot.postParseOptionsHooks=[];L.jqplot.preDrawHooks=[];L.jqplot.postDrawHooks=[];L.jqplot.preDrawSeriesHooks=[];L.jqplot.postDrawSeriesHooks=[];L.jqplot.preDrawLegendHooks=[];L.jqplot.addLegendRowHooks=[];L.jqplot.preSeriesInitHooks=[];L.jqplot.postSeriesInitHooks=[];L.jqplot.preParseSeriesOptionsHooks=[];L.jqplot.postParseSeriesOptionsHooks=[];L.jqplot.eventListenerHooks=[];L.jqplot.preDrawSeriesShadowHooks=[];L.jqplot.postDrawSeriesShadowHooks=[];L.jqplot.ElemContainer=function(){this._elem;this._plotWidth;this._plotHeight;this._plotDimensions={height:null,width:null}};L.jqplot.ElemContainer.prototype.createElement=function(ak,am,ai,aj,an){this
 ._offsets=am;var ah=ai||"jqplot";var al=document.createElement(ak);this._elem=L(al);this._elem.addClass(ah);this._elem.css(aj);this._elem.attr(an);al=null;return this._elem};L.jqplot.ElemContainer.prototype.getWidth=function(){if(this._elem){return this._elem.outerWidth(true)}else{return null}};L.jqplot.ElemContainer.prototype.getHeight=function(){if(this._elem){return this._elem.outerHeight(true)}else{return null}};L.jqplot.ElemContainer.prototype.getPosition=function(){if(this._elem){return this._elem.position()}else{return{top:null,left:null,bottom:null,right:null}}};L.jqplot.ElemContainer.prototype.getTop=function(){return this.getPosition().top};L.jqplot.ElemContainer.prototype.getLeft=function(){return this.getPosition().left};L.jqplot.ElemContainer.prototype.getBottom=function(){return this._elem.css("bottom")};L.jqplot.ElemContainer.prototype.getRight=function(){return this._elem.css("right")};function w(ah){L.jqplot.ElemContainer.call(this);this.name=ah;this._series=[];this
 .show=false;this.tickRenderer=L.jqplot.AxisTickRenderer;this.tickOptions={};this.labelRenderer=L.jqplot.AxisLabelRenderer;this.labelOptions={};this.label=null;this.showLabel=true;this.min=null;this.max=null;this.autoscale=false;this.pad=1.2;this.padMax=null;this.padMin=null;this.ticks=[];this.numberTicks;this.tickInterval;this.renderer=L.jqplot.LinearAxisRenderer;this.rendererOptions={};this.showTicks=true;this.showTickMarks=true;this.showMinorTicks=true;this.drawMajorGridlines=true;this.drawMinorGridlines=false;this.drawMajorTickMarks=true;this.drawMinorTickMarks=true;this.useSeriesColor=false;this.borderWidth=null;this.borderColor=null;this.scaleToHiddenSeries=false;this._dataBounds={min:null,max:null};this._intervalStats=[];this._offsets={min:null,max:null};this._ticks=[];this._label=null;this.syncTicks=null;this.tickSpacing=75;this._min=null;this._max=null;this._tickInterval=null;this._numberTicks=null;this.__ticks=null;this._options={}}w.prototype=new L.jqplot.ElemContainer();w
 .prototype.constructor=w;w.prototype.init=function(){if(L.isFunction(this.renderer)){this.renderer=new this.renderer()}this.tickOptions.axis=this.name;if(this.tickOptions.showMark==null){this.tickOptions.showMark=this.showTicks}if(this.tickOptions.showMark==null){this.tickOptions.showMark=this.showTickMarks}if(this.tickOptions.showLabel==null){this.tickOptions.showLabel=this.showTicks}if(this.label==null||this.label==""){this.showLabel=false}else{this.labelOptions.label=this.label}if(this.showLabel==false){this.labelOptions.show=false}if(this.pad==0){this.pad=1}if(this.padMax==0){this.padMax=1}if(this.padMin==0){this.padMin=1}if(this.padMax==null){this.padMax=(this.pad-1)/2+1}if(this.padMin==null){this.padMin=(this.pad-1)/2+1}this.pad=this.padMax+this.padMin-1;if(this.min!=null||this.max!=null){this.autoscale=false}if(this.syncTicks==null&&this.name.indexOf("y")>-1){this.syncTicks=true}else{if(this.syncTicks==null){this.syncTicks=false}}this.renderer.init.call(this,this.rendererOpti
 ons)};w.prototype.draw=function(ah,ai){if(this.__ticks){this.__ticks=null}return this.renderer.draw.call(this,ah,ai)};w.prototype.set=function(){this.renderer.set.call(this)};w.prototype.pack=function(ai,ah){if(this.show){this.renderer.pack.call(this,ai,ah)}if(this._min==null){this._min=this.min;this._max=this.max;this._tickInterval=this.tickInterval;this._numberTicks=this.numberTicks;this.__ticks=this._ticks}};w.prototype.reset=function(){this.renderer.reset.call(this)};w.prototype.resetScale=function(ah){L.extend(true,this,{min:null,max:null,numberTicks:null,tickInterval:null,_ticks:[],ticks:[]},ah);this.resetDataBounds()};w.prototype.resetDataBounds=function(){var ao=this._dataBounds;ao.min=null;ao.max=null;var ai,ap,am;var aj=(this.show)?true:false;for(var al=0;al<this._series.length;al++){ap=this._series[al];if(ap.show||this.scaleToHiddenSeries){am=ap._plotData;if(ap._type==="line"&&ap.renderer.bands.show&&this.name.charAt(0)!=="x"){am=[[0,ap.renderer.bands._min],[1,ap.renderer
 .bands._max]]}var ah=1,an=1;if(ap._type!=null&&ap._type=="ohlc"){ah=3;an=2}for(var ak=0,ai=am.length;ak<ai;ak++){if(this.name=="xaxis"||this.name=="x2axis"){if((am[ak][0]!=null&&am[ak][0]<ao.min)||ao.min==null){ao.min=am[ak][0]}if((am[ak][0]!=null&&am[ak][0]>ao.max)||ao.max==null){ao.max=am[ak][0]}}else{if((am[ak][ah]!=null&&am[ak][ah]<ao.min)||ao.min==null){ao.min=am[ak][ah]}if((am[ak][an]!=null&&am[ak][an]>ao.max)||ao.max==null){ao.max=am[ak][an]}}}if(aj&&ap.renderer.constructor!==L.jqplot.BarRenderer){aj=false}else{if(aj&&this._options.hasOwnProperty("forceTickAt0")&&this._options.forceTickAt0==false){aj=false}else{if(aj&&ap.renderer.constructor===L.jqplot.BarRenderer){if(ap.barDirection=="vertical"&&this.name!="xaxis"&&this.name!="x2axis"){if(this._options.pad!=null||this._options.padMin!=null){aj=false}}else{if(ap.barDirection=="horizontal"&&(this.name=="xaxis"||this.name=="x2axis")){if(this._options.pad!=null||this._options.padMin!=null){aj=false}}}}}}}}if(aj&&this.renderer.co
 nstructor===L.jqplot.LinearAxisRenderer&&ao.min>=0){this.padMin=1;this.forceTickAt0=true}};function q(ah){L.jqplot.ElemContainer.call(this);this.show=false;this.location="ne";this.labels=[];this.showLabels=true;this.showSwatches=true;this.placement="insideGrid";this.xoffset=0;this.yoffset=0;this.border;this.background;this.textColor;this.fontFamily;this.fontSize;this.rowSpacing="0.5em";this.renderer=L.jqplot.TableLegendRenderer;this.rendererOptions={};this.preDraw=false;this.marginTop=null;this.marginRight=null;this.marginBottom=null;this.marginLeft=null;this.escapeHtml=false;this._series=[];L.extend(true,this,ah)}q.prototype=new L.jqplot.ElemContainer();q.prototype.constructor=q;q.prototype.setOptions=function(ah){L.extend(true,this,ah);if(this.placement=="inside"){this.placement="insideGrid"}if(this.xoffset>0){if(this.placement=="insideGrid"){switch(this.location){case"nw":case"w":case"sw":if(this.marginLeft==null){this.marginLeft=this.xoffset+"px"}this.marginRight="0px";break;cas
 e"ne":case"e":case"se":default:if(this.marginRight==null){this.marginRight=this.xoffset+"px"}this.marginLeft="0px";break}}else{if(this.placement=="outside"){switch(this.location){case"nw":case"w":case"sw":if(this.marginRight==null){this.marginRight=this.xoffset+"px"}this.marginLeft="0px";break;case"ne":case"e":case"se":default:if(this.marginLeft==null){this.marginLeft=this.xoffset+"px"}this.marginRight="0px";break}}}this.xoffset=0}if(this.yoffset>0){if(this.placement=="outside"){switch(this.location){case"sw":case"s":case"se":if(this.marginTop==null){this.marginTop=this.yoffset+"px"}this.marginBottom="0px";break;case"ne":case"n":case"nw":default:if(this.marginBottom==null){this.marginBottom=this.yoffset+"px"}this.marginTop="0px";break}}else{if(this.placement=="insideGrid"){switch(this.location){case"sw":case"s":case"se":if(this.marginBottom==null){this.marginBottom=this.yoffset+"px"}this.marginTop="0px";break;case"ne":case"n":case"nw":default:if(this.marginTop==null){this.marginTop=
 this.yoffset+"px"}this.marginBottom="0px";break}}}this.yoffset=0}};q.prototype.init=function(){if(L.isFunction(this.renderer)){this.renderer=new this.renderer()}this.renderer.init.call(this,this.rendererOptions)};q.prototype.draw=function(ai,aj){for(var ah=0;ah<L.jqplot.preDrawLegendHooks.length;ah++){L.jqplot.preDrawLegendHooks[ah].call(this,ai)}return this.renderer.draw.call(this,ai,aj)};q.prototype.pack=function(ah){this.renderer.pack.call(this,ah)};function y(ah){L.jqplot.ElemContainer.call(this);this.text=ah;this.show=true;this.fontFamily;this.fontSize;this.textAlign;this.textColor;this.renderer=L.jqplot.DivTitleRenderer;this.rendererOptions={};this.escapeHtml=false}y.prototype=new L.jqplot.ElemContainer();y.prototype.constructor=y;y.prototype.init=function(){if(L.isFunction(this.renderer)){this.renderer=new this.renderer()}this.renderer.init.call(this,this.rendererOptions)};y.prototype.draw=function(ah){return this.renderer.draw.call(this,ah)};y.prototype.pack=function(){this.
 renderer.pack.call(this)};function S(ah){ah=ah||{};L.jqplot.ElemContainer.call(this);this.show=true;this.xaxis="xaxis";this._xaxis;this.yaxis="yaxis";this._yaxis;this.gridBorderWidth=2;this.renderer=L.jqplot.LineRenderer;this.rendererOptions={};this.data=[];this.gridData=[];this.label="";this.showLabel=true;this.color;this.negativeColor;this.lineWidth=2.5;this.lineJoin="round";this.lineCap="round";this.linePattern="solid";this.shadow=true;this.shadowAngle=45;this.shadowOffset=1.25;this.shadowDepth=3;this.shadowAlpha="0.1";this.breakOnNull=false;this.markerRenderer=L.jqplot.MarkerRenderer;this.markerOptions={};this.showLine=true;this.showMarker=true;this.index;this.fill=false;this.fillColor;this.fillAlpha;this.fillAndStroke=false;this.disableStack=false;this._stack=false;this.neighborThreshold=4;this.fillToZero=false;this.fillToValue=0;this.fillAxis="y";this.useNegativeColors=true;this._stackData=[];this._plotData=[];this._plotValues={x:[],y:[]};this._intervals={x:{},y:{}};this._prev
 PlotData=[];this._prevGridData=[];this._stackAxis="y";this._primaryAxis="_xaxis";this.canvas=new L.jqplot.GenericCanvas();this.shadowCanvas=new L.jqplot.GenericCanvas();this.plugins={};this._sumy=0;this._sumx=0;this._type=""}S.prototype=new L.jqplot.ElemContainer();S.prototype.constructor=S;S.prototype.init=function(ak,ao,am){this.index=ak;this.gridBorderWidth=ao;var an=this.data;var aj=[],al,ah;for(al=0,ah=an.length;al<ah;al++){if(!this.breakOnNull){if(an[al]==null||an[al][0]==null||an[al][1]==null){continue}else{aj.push(an[al])}}else{aj.push(an[al])}}this.data=aj;if(!this.color){this.color=am.colorGenerator.get(this.index)}if(!this.negativeColor){this.negativeColor=am.negativeColorGenerator.get(this.index)}if(!this.fillColor){this.fillColor=this.color}if(this.fillAlpha){var ai=L.jqplot.normalize2rgb(this.fillColor);var ai=L.jqplot.getColorComponents(ai);this.fillColor="rgba("+ai[0]+","+ai[1]+","+ai[2]+","+this.fillAlpha+")"}if(L.isFunction(this.renderer)){this.renderer=new this.re
 nderer()}this.renderer.init.call(this,this.rendererOptions,am);this.markerRenderer=new this.markerRenderer();if(!this.markerOptions.color){this.markerOptions.color=this.color}if(this.markerOptions.show==null){this.markerOptions.show=this.showMarker}this.showMarker=this.markerOptions.show;this.markerRenderer.init(this.markerOptions)};S.prototype.draw=function(an,ak,am){var ai=(ak==u)?{}:ak;an=(an==u)?this.canvas._ctx:an;var ah,al,aj;for(ah=0;ah<L.jqplot.preDrawSeriesHooks.length;ah++){L.jqplot.preDrawSeriesHooks[ah].call(this,an,ai)}if(this.show){this.renderer.setGridData.call(this,am);if(!ai.preventJqPlotSeriesDrawTrigger){L(an.canvas).trigger("jqplotSeriesDraw",[this.data,this.gridData])}al=[];if(ai.data){al=ai.data}else{if(!this._stack){al=this.data}else{al=this._plotData}}aj=ai.gridData||this.renderer.makeGridData.call(this,al,am);if(this._type==="line"&&this.renderer.smooth&&this.renderer._smoothedData.length){aj=this.renderer._smoothedData}this.renderer.draw.call(this,an,aj,ai,
 am)}for(ah=0;ah<L.jqplot.postDrawSeriesHooks.length;ah++){L.jqplot.postDrawSeriesHooks[ah].call(this,an,ai,am)}an=ak=am=ah=al=aj=null};S.prototype.drawShadow=function(an,ak,am){var ai=(ak==u)?{}:ak;an=(an==u)?this.shadowCanvas._ctx:an;var ah,al,aj;for(ah=0;ah<L.jqplot.preDrawSeriesShadowHooks.length;ah++){L.jqplot.preDrawSeriesShadowHooks[ah].call(this,an,ai)}if(this.shadow){this.renderer.setGridData.call(this,am);al=[];if(ai.data){al=ai.data}else{if(!this._stack){al=this.data}else{al=this._plotData}}aj=ai.gridData||this.renderer.makeGridData.call(this,al,am);this.renderer.drawShadow.call(this,an,aj,ai,am)}for(ah=0;ah<L.jqplot.postDrawSeriesShadowHooks.length;ah++){L.jqplot.postDrawSeriesShadowHooks[ah].call(this,an,ai)}an=ak=am=ah=al=aj=null};S.prototype.toggleDisplay=function(ai,ak){var ah,aj;if(ai.data.series){ah=ai.data.series}else{ah=this}if(ai.data.speed){aj=ai.data.speed}if(aj){if(ah.canvas._elem.is(":hidden")||!ah.show){ah.show=true;ah.canvas._elem.removeClass("jqplot-series
 -hidden");if(ah.shadowCanvas._elem){ah.shadowCanvas._elem.fadeIn(aj)}ah.canvas._elem.fadeIn(aj,ak);ah.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+ah.index).fadeIn(aj)}else{ah.show=false;ah.canvas._elem.addClass("jqplot-series-hidden");if(ah.shadowCanvas._elem){ah.shadowCanvas._elem.fadeOut(aj)}ah.canvas._elem.fadeOut(aj,ak);ah.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+ah.index).fadeOut(aj)}}else{if(ah.canvas._elem.is(":hidden")||!ah.show){ah.show=true;ah.canvas._elem.removeClass("jqplot-series-hidden");if(ah.shadowCanvas._elem){ah.shadowCanvas._elem.show()}ah.canvas._elem.show(0,ak);ah.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+ah.index).show()}else{ah.show=false;ah.canvas._elem.addClass("jqplot-series-hidden");if(ah.shadowCanvas._elem){ah.shadowCanvas._elem.hide()}ah.canvas._elem.hide(0,ak);ah.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+ah.index).hide()}}};function M(){L.jqplot.ElemContainer.call(this);this.drawGridlines=tr
 ue;this.gridLineColor="#cccccc";this.gridLineWidth=1;this.background="#fffdf6";this.borderColor="#999999";this.borderWidth=2;this.drawBorder=true;this.shadow=true;this.shadowAngle=45;this.shadowOffset=1.5;this.shadowWidth=3;this.shadowDepth=3;this.shadowColor=null;this.shadowAlpha="0.07";this._left;this._top;this._right;this._bottom;this._width;this._height;this._axes=[];this.renderer=L.jqplot.CanvasGridRenderer;this.rendererOptions={};this._offsets={top:null,bottom:null,left:null,right:null}}M.prototype=new L.jqplot.ElemContainer();M.prototype.constructor=M;M.prototype.init=function(){if(L.isFunction(this.renderer)){this.renderer=new this.renderer()}this.renderer.init.call(this,this.rendererOptions)};M.prototype.createElement=function(ah,ai){this._offsets=ah;return this.renderer.createElement.call(this,ai)};M.prototype.draw=function(){this.renderer.draw.call(this)};L.jqplot.GenericCanvas=function(){L.jqplot.ElemContainer.call(this);this._ctx};L.jqplot.GenericCanvas.prototype=new L.
 jqplot.ElemContainer();L.jqplot.GenericCanvas.prototype.constructor=L.jqplot.GenericCanvas;L.jqplot.GenericCanvas.prototype.createElement=function(al,aj,ai,am){this._offsets=al;var ah="jqplot";if(aj!=u){ah=aj}var ak;ak=am.canvasManager.getCanvas();if(ai!=null){this._plotDimensions=ai}ak.width=this._plotDimensions.width-this._offsets.left-this._offsets.right;ak.height=this._plotDimensions.height-this._offsets.top-this._offsets.bottom;this._elem=L(ak);this._elem.css({position:"absolute",left:this._offsets.left,top:this._offsets.top});this._elem.addClass(ah);ak=am.canvasManager.initCanvas(ak);ak=null;return this._elem};L.jqplot.GenericCanvas.prototype.setContext=function(){this._ctx=this._elem.get(0).getContext("2d");return this._ctx};L.jqplot.GenericCanvas.prototype.resetCanvas=function(){if(this._elem){if(L.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==u){window.G_vmlCanvasManager.uninitElement(this._elem.get(0))}this._elem.emptyForce()}this._ctx=null};L.jqplot.Hooks
 Manager=function(){this.hooks=[];this.args=[]};L.jqplot.HooksManager.prototype.addOnce=function(ak,ai){ai=ai||[];var al=false;for(var aj=0,ah=this.hooks.length;aj<ah;aj++){if(this.hooks[aj]==ak){al=true}}if(!al){this.hooks.push(ak);this.args.push(ai)}};L.jqplot.HooksManager.prototype.add=function(ai,ah){ah=ah||[];this.hooks.push(ai);this.args.push(ah)};L.jqplot.EventListenerManager=function(){this.hooks=[]};L.jqplot.EventListenerManager.prototype.addOnce=function(al,ak){var am=false,aj,ai;for(var ai=0,ah=this.hooks.length;ai<ah;ai++){aj=this.hooks[ai];if(aj[0]==al&&aj[1]==ak){am=true}}if(!am){this.hooks.push([al,ak])}};L.jqplot.EventListenerManager.prototype.add=function(ai,ah){this.hooks.push([ai,ah])};var U=["yMidAxis","xaxis","yaxis","x2axis","y2axis","y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis"];function R(){this.animate=false;this.animateReplot=false;this.axes={xaxis:new w("xaxis"),yaxis:new w("yaxis"),x2axis:new w("x2axis"),y2axis:new w("y2axis"),y3axis:new w
 ("y3axis"),y4axis:new w("y4axis"),y5axis:new w("y5axis"),y6axis:new w("y6axis"),y7axis:new w("y7axis"),y8axis:new w("y8axis"),y9axis:new w("y9axis"),yMidAxis:new w("yMidAxis")};this.baseCanvas=new L.jqplot.GenericCanvas();this.captureRightClick=false;this.data=[];this.dataRenderer;this.dataRendererOptions;this.defaults={axesDefaults:{},axes:{xaxis:{},yaxis:{},x2axis:{},y2axis:{},y3axis:{},y4axis:{},y5axis:{},y6axis:{},y7axis:{},y8axis:{},y9axis:{},yMidAxis:{}},seriesDefaults:{},series:[]};this.defaultAxisStart=1;this.drawIfHidden=false;this.eventCanvas=new L.jqplot.GenericCanvas();this.fillBetween={series1:null,series2:null,color:null,baseSeries:0,fill:true};this.fontFamily;this.fontSize;this.grid=new M();this.legend=new q();this.noDataIndicator={show:false,indicator:"Loading Data...",axes:{xaxis:{min:0,max:10,tickInterval:2,show:true},yaxis:{min:0,max:12,tickInterval:3,show:true}}};this.negativeSeriesColors=L.jqplot.config.defaultNegativeColors;this.options={};this.previousSeriesSt
 ack=[];this.plugins={};this.series=[];this.seriesStack=[];this.seriesColors=L.jqplot.config.defaultColors;this.sortData=true;this.stackSeries=false;this.syncXTicks=true;this.syncYTicks=true;this.target=null;this.targetId=null;this.textColor;this.title=new y();this._drawCount=0;this._sumy=0;this._sumx=0;this._stackData=[];this._plotData=[];this._width=null;this._height=null;this._plotDimensions={height:null,width:null};this._gridPadding={top:null,right:null,bottom:null,left:null};this._defaultGridPadding={top:10,right:10,bottom:23,left:10};this._addDomReference=L.jqplot.config.addDomReference;this.preInitHooks=new L.jqplot.HooksManager();this.postInitHooks=new L.jqplot.HooksManager();this.preParseOptionsHooks=new L.jqplot.HooksManager();this.postParseOptionsHooks=new L.jqplot.HooksManager();this.preDrawHooks=new L.jqplot.HooksManager();this.postDrawHooks=new L.jqplot.HooksManager();this.preDrawSeriesHooks=new L.jqplot.HooksManager();this.postDrawSeriesHooks=new L.jqplot.HooksManager(
 );this.preDrawLegendHooks=new L.jqplot.HooksManager();this.addLegendRowHooks=new L.jqplot.HooksManager();this.preSeriesInitHooks=new L.jqplot.HooksManager();this.postSeriesInitHooks=new L.jqplot.HooksManager();this.preParseSeriesOptionsHooks=new L.jqplot.HooksManager();this.postParseSeriesOptionsHooks=new L.jqplot.HooksManager();this.eventListenerHooks=new L.jqplot.EventListenerManager();this.preDrawSeriesShadowHooks=new L.jqplot.HooksManager();this.postDrawSeriesShadowHooks=new L.jqplot.HooksManager();this.colorGenerator=new L.jqplot.ColorGenerator();this.negativeColorGenerator=new L.jqplot.ColorGenerator();this.canvasManager=new L.jqplot.CanvasManager();this.themeEngine=new L.jqplot.ThemeEngine();var aj=0;this.init=function(av,ar,ay){ay=ay||{};for(var at=0;at<L.jqplot.preInitHooks.length;at++){L.jqplot.preInitHooks[at].call(this,av,ar,ay)}for(var at=0;at<this.preInitHooks.hooks.length;at++){this.preInitHooks.hooks[at].call(this,av,ar,ay)}this.targetId="#"+av;this.target=L("#"+av);
 if(this._addDomReference){this.target.data("jqplot",this)}this.target.removeClass("jqplot-error");if(!this.target.get(0)){throw new Error("No plot target specified")}if(this.target.css("position")=="static"){this.target.css("position","relative")}if(!this.target.hasClass("jqplot-target")){this.target.addClass("jqplot-target")}if(!this.target.height()){var au;if(ay&&ay.height){au=parseInt(ay.height,10)}else{if(this.target.attr("data-height")){au=parseInt(this.target.attr("data-height"),10)}else{au=parseInt(L.jqplot.config.defaultHeight,10)}}this._height=au;this.target.css("height",au+"px")}else{this._height=au=this.target.height()}if(!this.target.width()){var aw;if(ay&&ay.width){aw=parseInt(ay.width,10)}else{if(this.target.attr("data-width")){aw=parseInt(this.target.attr("data-width"),10)}else{aw=parseInt(L.jqplot.config.defaultWidth,10)}}this._width=aw;this.target.css("width",aw+"px")}else{this._width=aw=this.target.width()}for(var at=0,ap=U.length;at<ap;at++){this.axes[U[at]]=new w
 (U[at])}this._plotDimensions.height=this._height;this._plotDimensions.width=this._width;this.grid._plotDimensions=this._plotDimensions;this.title._plotDimensions=this._plotDimensions;this.baseCanvas._plotDimensions=this._plotDimensions;this.eventCanvas._plotDimensions=this._plotDimensions;this.legend._plotDimensions=this._plotDimensions;if(this._height<=0||this._width<=0||!this._height||!this._width){throw new Error("Canvas dimension not set")}if(ay.dataRenderer&&L.isFunction(ay.dataRenderer)){if(ay.dataRendererOptions){this.dataRendererOptions=ay.dataRendererOptions}this.dataRenderer=ay.dataRenderer;ar=this.dataRenderer(ar,this,this.dataRendererOptions)}if(ay.noDataIndicator&&L.isPlainObject(ay.noDataIndicator)){L.extend(true,this.noDataIndicator,ay.noDataIndicator)}if(ar==null||L.isArray(ar)==false||ar.length==0||L.isArray(ar[0])==false||ar[0].length==0){if(this.noDataIndicator.show==false){throw new Error("No data specified")}else{for(var al in this.noDataIndicator.axes){for(var 
 an in this.noDataIndicator.axes[al]){this.axes[al][an]=this.noDataIndicator.axes[al][an]}}this.postDrawHooks.add(function(){var aD=this.eventCanvas.getHeight();var aA=this.eventCanvas.getWidth();var az=L('<div class="jqplot-noData-container" style="position:absolute;"></div>');this.target.append(az);az.height(aD);az.width(aA);az.css("top",this.eventCanvas._offsets.top);az.css("left",this.eventCanvas._offsets.left);var aC=L('<div class="jqplot-noData-contents" style="text-align:center; position:relative; margin-left:auto; margin-right:auto;"></div>');az.append(aC);aC.html(this.noDataIndicator.indicator);var aB=aC.height();var ax=aC.width();aC.height(aB);aC.width(ax);aC.css("top",(aD-aB)/2+"px")})}}this.data=L.extend(true,[],ar);this.parseOptions(ay);if(this.textColor){this.target.css("color",this.textColor)}if(this.fontFamily){this.target.css("font-family",this.fontFamily)}if(this.fontSize){this.target.css("font-size",this.fontSize)}this.title.init();this.legend.init();this._sumy=0;t
 his._sumx=0;this.computePlotData();for(var at=0;at<this.series.length;at++){this.seriesStack.push(at);this.previousSeriesStack.push(at);this.series[at].shadowCanvas._plotDimensions=this._plotDimensions;this.series[at].canvas._plotDimensions=this._plotDimensions;for(var aq=0;aq<L.jqplot.preSeriesInitHooks.length;aq++){L.jqplot.preSeriesInitHooks[aq].call(this.series[at],av,this.data,this.options.seriesDefaults,this.options.series[at],this)}for(var aq=0;aq<this.preSeriesInitHooks.hooks.length;aq++){this.preSeriesInitHooks.hooks[aq].call(this.series[at],av,this.data,this.options.seriesDefaults,this.options.series[at],this)}this.series[at]._plotDimensions=this._plotDimensions;this.series[at].init(at,this.grid.borderWidth,this);for(var aq=0;aq<L.jqplot.postSeriesInitHooks.length;aq++){L.jqplot.postSeriesInitHooks[aq].call(this.series[at],av,this.data,this.options.seriesDefaults,this.options.series[at],this)}for(var aq=0;aq<this.postSeriesInitHooks.hooks.length;aq++){this.postSeriesInitHo
 oks.hooks[aq].call(this.series[at],av,this.data,this.options.seriesDefaults,this.options.series[at],this)}this._sumy+=this.series[at]._sumy;this._sumx+=this.series[at]._sumx}var am,ao;for(var at=0,ap=U.length;at<ap;at++){am=U[at];ao=this.axes[am];ao._plotDimensions=this._plotDimensions;ao.init();if(this.axes[am].borderColor==null){if(am.charAt(0)!=="x"&&ao.useSeriesColor===true&&ao.show){ao.borderColor=ao._series[0].color}else{ao.borderColor=this.grid.borderColor}}}if(this.sortData){ah(this.series)}this.grid.init();this.grid._axes=this.axes;this.legend._series=this.series;for(var at=0;at<L.jqplot.postInitHooks.length;at++){L.jqplot.postInitHooks[at].call(this,av,this.data,ay)}for(var at=0;at<this.postInitHooks.hooks.length;at++){this.postInitHooks.hooks[at].call(this,av,this.data,ay)}};this.resetAxesScale=function(aq,am){var ao=am||{};var ap=aq||this.axes;if(ap===true){ap=this.axes}if(L.isArray(ap)){for(var an=0;an<ap.length;an++){this.axes[ap[an]].resetScale(ao[ap[an]])}}else{if(ty
 peof(ap)==="object"){for(var al in ap){this.axes[al].resetScale(ao[al])}}}};this.reInitialize=function(au,al){var ay=L.extend(true,{},this.options,al);var aw=this.targetId.substr(1);var ar=(au==null)?this.data:au;for(var av=0;av<L.jqplot.preInitHooks.length;av++){L.jqplot.preInitHooks[av].call(this,aw,ar,ay)}for(var av=0;av<this.preInitHooks.hooks.length;av++){this.preInitHooks.hooks[av].call(this,aw,ar,ay)}this._height=this.target.height();this._width=this.target.width();if(this._height<=0||this._width<=0||!this._height||!this._width){throw new Error("Target dimension not set")}this._plotDimensions.height=this._height;this._plotDimensions.width=this._width;this.grid._plotDimensions=this._plotDimensions;this.title._plotDimensions=this._plotDimensions;this.baseCanvas._plotDimensions=this._plotDimensions;this.eventCanvas._plotDimensions=this._plotDimensions;this.legend._plotDimensions=this._plotDimensions;var am,ax,at,ao;for(var av=0,aq=U.length;av<aq;av++){am=U[av];ao=this.axes[am];a
 x=ao._ticks;for(var at=0,ap=ax.length;at<ap;at++){var an=ax[at]._elem;if(an){if(L.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==u){window.G_vmlCanvasManager.uninitElement(an.get(0))}an.emptyForce();an=null;ax._elem=null}}ax=null;delete ao.ticks;delete ao._ticks;this.axes[am]=new w(am);this.axes[am]._plotWidth=this._width;this.axes[am]._plotHeight=this._height}if(au){if(ay.dataRenderer&&L.isFunction(ay.dataRenderer)){if(ay.dataRendererOptions){this.dataRendererOptions=ay.dataRendererOptions}this.dataRenderer=ay.dataRenderer;au=this.dataRenderer(au,this,this.dataRendererOptions)}this.data=L.extend(true,[],au)}if(al){this.parseOptions(ay)}this.title._plotWidth=this._width;if(this.textColor){this.target.css("color",this.textColor)}if(this.fontFamily){this.target.css("font-family",this.fontFamily)}if(this.fontSize){this.target.css("font-size",this.fontSize)}this.title.init();this.legend.init();this._sumy=0;this._sumx=0;this.seriesStack=[];this.previousSeriesStack=[];this
 .computePlotData();for(var av=0,aq=this.series.length;av<aq;av++){this.seriesStack.push(av);this.previousSeriesStack.push(av);this.series[av].shadowCanvas._plotDimensions=this._plotDimensions;this.series[av].canvas._plotDimensions=this._plotDimensions;for(var at=0;at<L.jqplot.preSeriesInitHooks.length;at++){L.jqplot.preSeriesInitHooks[at].call(this.series[av],aw,this.data,this.options.seriesDefaults,this.options.series[av],this)}for(var at=0;at<this.preSeriesInitHooks.hooks.length;at++){this.preSeriesInitHooks.hooks[at].call(this.series[av],aw,this.data,this.options.seriesDefaults,this.options.series[av],this)}this.series[av]._plotDimensions=this._plotDimensions;this.series[av].init(av,this.grid.borderWidth,this);for(var at=0;at<L.jqplot.postSeriesInitHooks.length;at++){L.jqplot.postSeriesInitHooks[at].call(this.series[av],aw,this.data,this.options.seriesDefaults,this.options.series[av],this)}for(var at=0;at<this.postSeriesInitHooks.hooks.length;at++){this.postSeriesInitHooks.hooks[
 at].call(this.series[av],aw,this.data,this.options.seriesDefaults,this.options.series[av],this)}this._sumy+=this.series[av]._sumy;this._sumx+=this.series[av]._sumx}for(var av=0,aq=U.length;av<aq;av++){am=U[av];ao=this.axes[am];ao._plotDimensions=this._plotDimensions;ao.init();if(ao.borderColor==null){if(am.charAt(0)!=="x"&&ao.useSeriesColor===true&&ao.show){ao.borderColor=ao._series[0].color}else{ao.borderColor=this.grid.borderColor}}}if(this.sortData){ah(this.series)}this.grid.init();this.grid._axes=this.axes;this.legend._series=this.series;for(var av=0,aq=L.jqplot.postInitHooks.length;av<aq;av++){L.jqplot.postInitHooks[av].call(this,aw,this.data,ay)}for(var av=0,aq=this.postInitHooks.hooks.length;av<aq;av++){this.postInitHooks.hooks[av].call(this,aw,this.data,ay)}};this.quickInit=function(){this._height=this.target.height();this._width=this.target.width();if(this._height<=0||this._width<=0||!this._height||!this._width){throw new Error("Target dimension not set")}this._plotDimensio
 ns.height=this._height;this._plotDimensions.width=this._width;this.grid._plotDimensions=this._plotDimensions;this.title._plotDimensions=this._plotDimensions;this.baseCanvas._plotDimensions=this._plotDimensions;this.eventCanvas._plotDimensions=this._plotDimensions;this.legend._plotDimensions=this._plotDimensions;for(var aq in this.axes){this.axes[aq]._plotWidth=this._width;this.axes[aq]._plotHeight=this._height}this.title._plotWidth=this._width;if(this.textColor){this.target.css("color",this.textColor)}if(this.fontFamily){this.target.css("font-family",this.fontFamily)}if(this.fontSize){this.target.css("font-size",this.fontSize)}this._sumy=0;this._sumx=0;this.computePlotData();for(var ao=0;ao<this.series.length;ao++){if(this.series[ao]._type==="line"&&this.series[ao].renderer.bands.show){this.series[ao].renderer.initBands.call(this.series[ao],this.series[ao].renderer.options,this)}this.series[ao]._plotDimensions=this._plotDimensions;this.series[ao].canvas._plotDimensions=this._plotDim
 ensions;this._sumy+=this.series[ao]._sumy;this._sumx+=this.series[ao]._sumx}var am;for(var al=0;al<12;al++){am=U[al];var an=this.axes[am]._ticks;for(var ao=0;ao<an.length;ao++){var ap=an[ao]._elem;if(ap){if(L.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==u){window.G_vmlCanvasManager.uninitElement(ap.get(0))}ap.emptyForce();ap=null;an._elem=null}}an=null;this.axes[am]._plotDimensions=this._plotDimensions;this.axes[am]._ticks=[]}if(this.sortData){ah(this.series)}this.grid._axes=this.axes;this.legend._series=this.series};function ah(ap){var au,av,aw,al,at;for(var aq=0;aq<ap.length;aq++){var am;var ar=[ap[aq].data,ap[aq]._stackData,ap[aq]._plotData,ap[aq]._prevPlotData];for(var an=0;an<4;an++){am=true;au=ar[an];if(ap[aq]._stackAxis=="x"){for(var ao=0;ao<au.length;ao++){if(typeof(au[ao][1])!="number"){am=false;break}}if(am){au.sort(function(ay,ax){return ay[1]-ax[1]})}}else{for(var ao=0;ao<au.length;ao++){if(typeof(au[ao][0])!="number"){am=false;break}}if(am){au.sort(fun
 ction(ay,ax){return ay[0]-ax[0]})}}}}}this.computePlotData=function(){this._plotData=[];this._stackData=[];var at,au,ao;for(au=0,ao=this.series.length;au<ao;au++){at=this.series[au];this._plotData.push([]);this._stackData.push([]);var am=at.data;this._plotData[au]=L.extend(true,[],am);this._stackData[au]=L.extend(true,[],am);at._plotData=this._plotData[au];at._stackData=this._stackData[au];var ax={x:[],y:[]};if(this.stackSeries&&!at.disableStack){at._stack=true;var av=(at._stackAxis==="x")?0:1;for(var ap=0,al=am.length;ap<al;ap++){var aw=am[ap][av];if(aw==null){aw=0}this._plotData[au][ap][av]=aw;this._stackData[au][ap][av]=aw;if(au>0){for(var aq=au;aq--;){var an=this._plotData[aq][ap][av];if(aw*an>=0){this._plotData[au][ap][av]+=an;this._stackData[au][ap][av]+=an;break}}}}}else{for(var ar=0;ar<at.data.length;ar++){ax.x.push(at.data[ar][0]);ax.y.push(at.data[ar][1])}this._stackData.push(at.data);this.series[au]._stackData=at.data;this._plotData.push(at.data);at._plotData=at.data;at._
 plotValues=ax}if(au>0){at._prevPlotData=this.series[au-1]._plotData}at._sumy=0;at._sumx=0;for(ar=at.data.length-1;ar>-1;ar--){at._sumy+=at.data[ar][1];at._sumx+=at.data[ar][0]}}};this.populatePlotData=function(au,av){this._plotData=[];this._stackData=[];au._stackData=[];au._plotData=[];var ay={x:[],y:[]};if(this.stackSeries&&!au.disableStack){au._stack=true;var ax=(au._stackAxis==="x")?0:1;var az=L.extend(true,[],au.data);var aA=L.extend(true,[],au.data);var an,am,ao,aw,al;for(var ar=0;ar<av;ar++){var ap=this.series[ar].data;for(var aq=0;aq<ap.length;aq++){ao=ap[aq];an=(ao[0]!=null)?ao[0]:0;am=(ao[1]!=null)?ao[1]:0;az[aq][0]+=an;az[aq][1]+=am;aw=(ax)?am:an;if(au.data[aq][ax]*aw>=0){aA[aq][ax]+=aw}}}for(var at=0;at<aA.length;at++){ay.x.push(aA[at][0]);ay.y.push(aA[at][1])}this._plotData.push(aA);this._stackData.push(az);au._stackData=az;au._plotData=aA;au._plotValues=ay}else{for(var at=0;at<au.data.length;at++){ay.x.push(au.data[at][0]);ay.y.push(au.data[at][1])}this._stackData.push(
 au.data);this.series[av]._stackData=au.data;this._plotData.push(au.data);au._plotData=au.data;au._plotValues=ay}if(av>0){au._prevPlotData=this.series[av-1]._plotData}au._sumy=0;au._sumx=0;for(at=au.data.length-1;at>-1;at--){au._sumy+=au.data[at][1];au._sumx+=au.data[at][0]}};this.getNextSeriesColor=(function(am){var al=0;var an=am.seriesColors;return function(){if(al<an.length){return an[al++]}else{al=0;return an[al++]}}})(this);this.parseOptions=function(ay){for(var at=0;at<this.preParseOptionsHooks.hooks.length;at++){this.preParseOptionsHooks.hooks[at].call(this,ay)}for(var at=0;at<L.jqplot.preParseOptionsHooks.length;at++){L.jqplot.preParseOptionsHooks[at].call(this,ay)}this.options=L.extend(true,{},this.defaults,ay);var am=this.options;this.animate=am.animate;this.animateReplot=am.animateReplot;this.stackSeries=am.stackSeries;if(L.isPlainObject(am.fillBetween)){var ax=["series1","series2","color","baseSeries","fill"],au;for(var at=0,aq=ax.length;at<aq;at++){au=ax[at];if(am.fillB
 etween[au]!=null){this.fillBetween[au]=am.fillBetween[au]}}}if(am.seriesColors){this.seriesColors=am.seriesColors}if(am.negativeSeriesColors){this.negativeSeriesColors=am.negativeSeriesColors}if(am.captureRightClick){this.captureRightClick=am.captureRightClick}this.defaultAxisStart=(ay&&ay.defaultAxisStart!=null)?ay.defaultAxisStart:this.defaultAxisStart;this.colorGenerator.setColors(this.seriesColors);this.negativeColorGenerator.setColors(this.negativeSeriesColors);L.extend(true,this._gridPadding,am.gridPadding);this.sortData=(am.sortData!=null)?am.sortData:this.sortData;for(var at=0;at<12;at++){var an=U[at];var ap=this.axes[an];ap._options=L.extend(true,{},am.axesDefaults,am.axes[an]);L.extend(true,ap,am.axesDefaults,am.axes[an]);ap._plotWidth=this._width;ap._plotHeight=this._height}var aw=function(aD,aB,aE){var aA=[];var aC,az;aB=aB||"vertical";if(!L.isArray(aD[0])){for(aC=0,az=aD.length;aC<az;aC++){if(aB=="vertical"){aA.push([aE+aC,aD[aC]])}else{aA.push([aD[aC],aE+aC])}}}else{L.
 extend(true,aA,aD)}return aA};var av=0;this.series=[];for(var at=0;at<this.data.length;at++){var al=L.extend(true,{index:at},{seriesColors:this.seriesColors,negativeSeriesColors:this.negativeSeriesColors},this.options.seriesDefaults,this.options.series[at],{rendererOptions:{animation:{show:this.animate}}});var ax=new S(al);for(var ar=0;ar<L.jqplot.preParseSeriesOptionsHooks.length;ar++){L.jqplot.preParseSeriesOptionsHooks[ar].call(ax,this.options.seriesDefaults,this.options.series[at])}for(var ar=0;ar<this.preParseSeriesOptionsHooks.hooks.length;ar++){this.preParseSeriesOptionsHooks.hooks[ar].call(ax,this.options.seriesDefaults,this.options.series[at])}L.extend(true,ax,al);var ao="vertical";if(ax.renderer===L.jqplot.BarRenderer&&ax.rendererOptions&&ax.rendererOptions.barDirection=="horizontal"){ao="horizontal";ax._stackAxis="x";ax._primaryAxis="_yaxis"}ax.data=aw(this.data[at],ao,this.defaultAxisStart);switch(ax.xaxis){case"xaxis":ax._xaxis=this.axes.xaxis;break;case"x2axis":ax._xax
 is=this.axes.x2axis;break;default:break}ax._yaxis=this.axes[ax.yaxis];ax._xaxis._series.push(ax);ax._yaxis._series.push(ax);if(ax.show){ax._xaxis.show=true;ax._yaxis.show=true}else{if(ax._xaxis.scaleToHiddenSeries){ax._xaxis.show=true}if(ax._yaxis.scaleToHiddenSeries){ax._yaxis.show=true}}if(!ax.label){ax.label="Series "+(at+1).toString()}this.series.push(ax);for(var ar=0;ar<L.jqplot.postParseSeriesOptionsHooks.length;ar++){L.jqplot.postParseSeriesOptionsHooks[ar].call(this.series[at],this.options.seriesDefaults,this.options.series[at])}for(var ar=0;ar<this.postParseSeriesOptionsHooks.hooks.length;ar++){this.postParseSeriesOptionsHooks.hooks[ar].call(this.series[at],this.options.seriesDefaults,this.options.series[at])}}L.extend(true,this.grid,this.options.grid);for(var at=0,aq=U.length;at<aq;at++){var an=U[at];var ap=this.axes[an];if(ap.borderWidth==null){ap.borderWidth=this.grid.borderWidth}}if(typeof this.options.title=="string"){this.title.text=this.options.title}else{if(typeof t
 his.options.title=="object"){L.extend(true,this.title,this.options.title)}}this.title._plotWidth=this._width;this.legend.setOptions(this.options.legend);for(var at=0;at<L.jqplot.postParseOptionsHooks.length;at++){L.jqplot.postParseOptionsHooks[at].call(this,ay)}for(var at=0;at<this.postParseOptionsHooks.hooks.length;at++){this.postParseOptionsHooks.hooks[at].call(this,ay)}};this.destroy=function(){this.canvasManager.freeAllCanvases();if(this.eventCanvas&&this.eventCanvas._elem){this.eventCanvas._elem.unbind()}this.target.empty();this.target[0].innerHTML=""};this.replot=function(am){var an=am||{};var ap=an.data||null;var al=(an.clear===false)?false:true;var ao=an.resetAxes||false;delete an.data;delete an.clear;delete an.resetAxes;this.target.trigger("jqplotPreReplot");if(al){this.destroy()}if(ap||!L.isEmptyObject(an)){this.reInitialize(ap,an)}else{this.quickInit()}if(ao){this.resetAxesScale(ao,an.axes)}this.draw();this.target.trigger("jqplotPostReplot")};this.redraw=function(al){al=(
 al!=null)?al:true;this.target.trigger("jqplotPreRedraw");if(al){this.canvasManager.freeAllCanvases();this.eventCanvas._elem.unbind();this.target.empty()}for(var an in this.axes){this.axes[an]._ticks=[]}this.computePlotData();this._sumy=0;this._sumx=0;for(var am=0,ao=this.series.length;am<ao;am++){this._sumy+=this.series[am]._sumy;this._sumx+=this.series[am]._sumx}this.draw();this.target.trigger("jqplotPostRedraw")};this.draw=function(){if(this.drawIfHidden||this.target.is(":visible")){this.target.trigger("jqplotPreDraw");var aH,aF,aE,ao;for(aH=0,aE=L.jqplot.preDrawHooks.length;aH<aE;aH++){L.jqplot.preDrawHooks[aH].call(this)}for(aH=0,aE=this.preDrawHooks.hooks.length;aH<aE;aH++){this.preDrawHooks.hooks[aH].apply(this,this.preDrawSeriesHooks.args[aH])}this.target.append(this.baseCanvas.createElement({left:0,right:0,top:0,bottom:0},"jqplot-base-canvas",null,this));this.baseCanvas.setContext();this.target.append(this.title.draw());this.title.pack({top:0,left:0});var aL=this.legend.draw
 ({},this);var al={top:0,left:0,bottom:0,right:0};if(this.legend.placement=="outsideGrid"){this.target.append(aL);switch(this.legend.location){case"n":al.top+=this.legend.getHeight();break;case"s":al.bottom+=this.legend.getHeight();break;case"ne":case"e":case"se":al.right+=this.legend.getWidth();break;case"nw":case"w":case"sw":al.left+=this.legend.getWidth();break;default:al.right+=this.legend.getWidth();break}aL=aL.detach()}var ar=this.axes;var aM;for(aH=0;aH<12;aH++){aM=U[aH];this.target.append(ar[aM].draw(this.baseCanvas._ctx,this));ar[aM].set()}if(ar.yaxis.show){al.left+=ar.yaxis.getWidth()}var aG=["y2axis","y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis"];var az=[0,0,0,0,0,0,0,0];var aC=0;var aB;for(aB=0;aB<8;aB++){if(ar[aG[aB]].show){aC+=ar[aG[aB]].getWidth();az[aB]=aC}}al.right+=aC;if(ar.x2axis.show){al.top+=ar.x2axis.getHeight()}if(this.title.show){al.top+=this.title.getHeight()}if(ar.xaxis.show){al.bottom+=ar.xaxis.getHeight()}if(this.options.gridDimensions&&L.
 isPlainObject(this.options.gridDimensions)){var at=parseInt(this.options.gridDimensions.width,10)||0;var aI=parseInt(this.options.gridDimensions.height,10)||0;var an=(this._width-al.left-al.right-at)/2;var aK=(this._height-al.top-al.bottom-aI)/2;if(aK>=0&&an>=0){al.top+=aK;al.bottom+=aK;al.left+=an;al.right+=an}}var am=["top","bottom","left","right"];for(var aB in am){if(this._gridPadding[am[aB]]==null&&al[am[aB]]>0){this._gridPadding[am[aB]]=al[am[aB]]}else{if(this._gridPadding[am[aB]]==null){this._gridPadding[am[aB]]=this._defaultGridPadding[am[aB]]}}}var aA=this._gridPadding;if(this.legend.placement==="outsideGrid"){aA={top:this.title.getHeight(),left:0,right:0,bottom:0};if(this.legend.location==="s"){aA.left=this._gridPadding.left;aA.right=this._gridPadding.right}}ar.xaxis.pack({position:"absolute",bottom:this._gridPadding.bottom-ar.xaxis.getHeight(),left:0,width:this._width},{min:this._gridPadding.left,max:this._width-this._gridPadding.right});ar.yaxis.pack({position:"absolute"
 ,top:0,left:this._gridPadding.left-ar.yaxis.getWidth(),height:this._height},{min:this._height-this._gridPadding.bottom,max:this._gridPadding.top});ar.x2axis.pack({position:"absolute",top:this._gridPadding.top-ar.x2axis.getHeight(),left:0,width:this._width},{min:this._gridPadding.left,max:this._width-this._gridPadding.right});for(aH=8;aH>0;aH--){ar[aG[aH-1]].pack({position:"absolute",top:0,right:this._gridPadding.right-az[aH-1]},{min:this._height-this._gridPadding.bottom,max:this._gridPadding.top})}var au=(this._width-this._gridPadding.left-this._gridPadding.right)/2+this._gridPadding.left-ar.yMidAxis.getWidth()/2;ar.yMidAxis.pack({position:"absolute",top:0,left:au,zIndex:9,textAlign:"center"},{min:this._height-this._gridPadding.bottom,max:this._gridPadding.top});this.target.append(this.grid.createElement(this._gridPadding,this));this.grid.draw();var aq=this.series;var aJ=aq.length;for(aH=0,aE=aJ;aH<aE;aH++){aF=this.seriesStack[aH];this.target.append(aq[aF].shadowCanvas.createElement
 (this._gridPadding,"jqplot-series-shadowCanvas",null,this));aq[aF].shadowCanvas.setContext();aq[aF].shadowCanvas._elem.data("seriesIndex",aF)}for(aH=0,aE=aJ;aH<aE;aH++){aF=this.seriesStack[aH];this.target.append(aq[aF].canvas.createElement(this._gridPadding,"jqplot-series-canvas",null,this));aq[aF].canvas.setContext();aq[aF].canvas._elem.data("seriesIndex",aF)}this.target.append(this.eventCanvas.createElement(this._gridPadding,"jqplot-event-canvas",null,this));this.eventCanvas.setContext();this.eventCanvas._ctx.fillStyle="rgba(0,0,0,0)";this.eventCanvas._ctx.fillRect(0,0,this.eventCanvas._ctx.canvas.width,this.eventCanvas._ctx.canvas.height);this.bindCustomEvents();if(this.legend.preDraw){this.eventCanvas._elem.before(aL);this.legend.pack(aA);if(this.legend._elem){this.drawSeries({legendInfo:{location:this.legend.location,placement:this.legend.placement,width:this.legend.getWidth(),height:this.legend.getHeight(),xoffset:this.legend.xoffset,yoffset:this.legend.yoffset}})}else{this.dr
 awSeries()}}else{this.drawSeries();if(aJ){L(aq[aJ-1].canvas._elem).after(aL)}this.legend.pack(aA)}for(var aH=0,aE=L.jqplot.eventListenerHooks.length;aH<aE;aH++){this.eventCanvas._elem.bind(L.jqplot.eventListenerHooks[aH][0],{plot:this},L.jqplot.eventListenerHooks[aH][1])}for(var aH=0,aE=this.eventListenerHooks.hooks.length;aH<aE;aH++){this.eventCanvas._elem.bind(this.eventListenerHooks.hooks[aH][0],{plot:this},this.eventListenerHooks.hooks[aH][1])}var ay=this.fillBetween;if(ay.fill&&ay.series1!==ay.series2&&ay.series1<aJ&&ay.series2<aJ&&aq[ay.series1]._type==="line"&&aq[ay.series2]._type==="line"){this.doFillBetweenLines()}for(var aH=0,aE=L.jqplot.postDrawHooks.length;aH<aE;aH++){L.jqplot.postDrawHooks[aH].call(this)}for(var aH=0,aE=this.postDrawHooks.hooks.length;aH<aE;aH++){this.postDrawHooks.hooks[aH].apply(this,this.postDrawHooks.args[aH])}if(this.target.is(":visible")){this._drawCount+=1}var av,aw,aD,ap;for(aH=0,aE=aJ;aH<aE;aH++){av=aq[aH];aw=av.renderer;aD=".jqplot-point-label
 .jqplot-series-"+aH;if(aw.animation&&aw.animation._supported&&aw.animation.show&&(this._drawCount<2||this.animateReplot)){ap=this.target.find(aD);ap.stop(true,true).hide();av.canvas._elem.stop(true,true).hide();av.shadowCanvas._elem.stop(true,true).hide();av.canvas._elem.jqplotEffect("blind",{mode:"show",direction:aw.animation.direction},aw.animation.speed);av.shadowCanvas._elem.jqplotEffect("blind",{mode:"show",direction:aw.animation.direction},aw.animation.speed);ap.fadeIn(aw.animation.speed*0.8)}}ap=null;this.target.trigger("jqplotPostDraw",[this])}};R.prototype.doFillBetweenLines=function(){var an=this.fillBetween;var ax=an.series1;var av=an.series2;var aw=(ax<av)?ax:av;var au=(av>ax)?av:ax;var ar=this.series[aw];var aq=this.series[au];if(aq.renderer.smooth){var ap=aq.renderer._smoothedData.slice(0).reverse()}else{var ap=aq.gridData.slice(0).reverse()}if(ar.renderer.smooth){var at=ar.renderer._smoothedData.concat(ap)}else{var at=ar.gridData.concat(ap)}var ao=(an.color!==null)?an
 .color:this.series[ax].fillColor;var ay=(an.baseSeries!==null)?an.baseSeries:aw;var am=this.series[ay].renderer.shapeRenderer;var al={fillStyle:ao,fill:true,closePath:true};am.draw(ar.shadowCanvas._ctx,at,al)};this.bindCustomEvents=function(){this.eventCanvas._elem.bind("click",{plot:this},this.onClick);this.eventCanvas._elem.bind("dblclick",{plot:this},this.onDblClick);this.eventCanvas._elem.bind("mousedown",{plot:this},this.onMouseDown);this.eventCanvas._elem.bind("mousemove",{plot:this},this.onMouseMove);this.eventCanvas._elem.bind("mouseenter",{plot:this},this.onMouseEnter);this.eventCanvas._elem.bind("mouseleave",{plot:this},this.onMouseLeave);if(this.captureRightClick){this.eventCanvas._elem.bind("mouseup",{plot:this},this.onRightClick);this.eventCanvas._elem.get(0).oncontextmenu=function(){return false}}else{this.eventCanvas._elem.bind("mouseup",{plot:this},this.onMouseUp)}};function ai(av){var au=av.data.plot;var ap=au.eventCanvas._elem.offset();var at={x:av.pageX-ap.left,y:
 av.pageY-ap.top};var aq={xaxis:null,yaxis:null,x2axis:null,y2axis:null,y3axis:null,y4axis:null,y5axis:null,y6axis:null,y7axis:null,y8axis:null,y9axis:null,yMidAxis:null};var ar=["xaxis","yaxis","x2axis","y2axis","y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis","yMidAxis"];var al=au.axes;var am,ao;for(am=11;am>0;am--){ao=ar[am-1];if(al[ao].show){aq[ao]=al[ao].series_p2u(at[ao.charAt(0)])}}return{offsets:ap,gridPos:at,dataPos:aq}}function ak(al,am){var aq=am.series;var aW,aU,aT,aO,aP,aJ,aI,aw,au,az,aA,aK;var aS,aX,aQ,ar,aH,aM,aV;var an,aN;for(aT=am.seriesStack.length-1;aT>=0;aT--){aW=am.seriesStack[aT];aO=aq[aW];aV=aO._highlightThreshold;switch(aO.renderer.constructor){case L.jqplot.BarRenderer:aJ=al.x;aI=al.y;for(aU=0;aU<aO._barPoints.length;aU++){aH=aO._barPoints[aU];aQ=aO.gridData[aU];if(aJ>aH[0][0]&&aJ<aH[2][0]&&aI>aH[2][1]&&aI<aH[0][1]){return{seriesIndex:aO.index,pointIndex:aU,gridData:aQ,data:aO.data[aU],points:aO._barPoints[aU]}}}break;case L.jqplot.PyramidRender
 er:aJ=al.x;aI=al.y;for(aU=0;aU<aO._barPoints.length;aU++){aH=aO._barPoints[aU];aQ=aO.gridData[aU];if(aJ>aH[0][0]+aV[0][0]&&aJ<aH[2][0]+aV[2][0]&&aI>aH[2][1]&&aI<aH[0][1]){return{seriesIndex:aO.index,pointIndex:aU,gridData:aQ,data:aO.data[aU],points:aO._barPoints[aU]}}}break;case L.jqplot.DonutRenderer:az=aO.startAngle/180*Math.PI;aJ=al.x-aO._center[0];aI=al.y-aO._center[1];aP=Math.sqrt(Math.pow(aJ,2)+Math.pow(aI,2));if(aJ>0&&-aI>=0){aw=2*Math.PI-Math.atan(-aI/aJ)}else{if(aJ>0&&-aI<0){aw=-Math.atan(-aI/aJ)}else{if(aJ<0){aw=Math.PI-Math.atan(-aI/aJ)}else{if(aJ==0&&-aI>0){aw=3*Math.PI/2}else{if(aJ==0&&-aI<0){aw=Math.PI/2}else{if(aJ==0&&aI==0){aw=0}}}}}}if(az){aw-=az;if(aw<0){aw+=2*Math.PI}else{if(aw>2*Math.PI){aw-=2*Math.PI}}}au=aO.sliceMargin/180*Math.PI;if(aP<aO._radius&&aP>aO._innerRadius){for(aU=0;aU<aO.gridData.length;aU++){aA=(aU>0)?aO.gridData[aU-1][1]+au:au;aK=aO.gridData[aU][1];if(aw>aA&&aw<aK){return{seriesIndex:aO.index,pointIndex:aU,gridData:[al.x,al.y],data:aO.data[aU]}}}}
 break;case L.jqplot.PieRenderer:az=aO.startAngle/180*Math.PI;aJ=al.x-aO._center[0];aI=al.y-aO._center[1];aP=Math.sqrt(Math.pow(aJ,2)+Math.pow(aI,2));if(aJ>0&&-aI>=0){aw=2*Math.PI-Math.atan(-aI/aJ)}else{if(aJ>0&&-aI<0){aw=-Math.atan(-aI/aJ)}else{if(aJ<0){aw=Math.PI-Math.atan(-aI/aJ)}else{if(aJ==0&&-aI>0){aw=3*Math.PI/2}else{if(aJ==0&&-aI<0){aw=Math.PI/2}else{if(aJ==0&&aI==0){aw=0}}}}}}if(az){aw-=az;if(aw<0){aw+=2*Math.PI}else{if(aw>2*Math.PI){aw-=2*Math.PI}}}au=aO.sliceMargin/180*Math.PI;if(aP<aO._radius){for(aU=0;aU<aO.gridData.length;aU++){aA=(aU>0)?aO.gridData[aU-1][1]+au:au;aK=aO.gridData[aU][1];if(aw>aA&&aw<aK){return{seriesIndex:aO.index,pointIndex:aU,gridData:[al.x,al.y],data:aO.data[aU]}}}}break;case L.jqplot.BubbleRenderer:aJ=al.x;aI=al.y;var aF=null;if(aO.show){for(var aU=0;aU<aO.gridData.length;aU++){aQ=aO.gridData[aU];aX=Math.sqrt((aJ-aQ[0])*(aJ-aQ[0])+(aI-aQ[1])*(aI-aQ[1]));if(aX<=aQ[2]&&(aX<=aS||aS==null)){aS=aX;aF={seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[
 aU]}}}if(aF!=null){return aF}}break;case L.jqplot.FunnelRenderer:aJ=al.x;aI=al.y;var aL=aO._vertices,ap=aL[0],ao=aL[aL.length-1],at,aE,ay;function aR(a0,a2,a1){var aZ=(a2[1]-a1[1])/(a2[0]-a1[0]);var aY=a2[1]-aZ*a2[0];var a3=a0+a2[1];return[(a3-aY)/aZ,a3]}at=aR(aI,ap[0],ao[3]);aE=aR(aI,ap[1],ao[2]);for(aU=0;aU<aL.length;aU++){ay=aL[aU];if(aI>=ay[0][1]&&aI<=ay[3][1]&&aJ>=at[0]&&aJ<=aE[0]){return{seriesIndex:aO.index,pointIndex:aU,gridData:null,data:aO.data[aU]}}}break;case L.jqplot.LineRenderer:aJ=al.x;aI=al.y;aP=aO.renderer;if(aO.show){if((aO.fill||(aO.renderer.bands.show&&aO.renderer.bands.fill))&&(!am.plugins.highlighter||!am.plugins.highlighter.show)){var ax=false;if(aJ>aO._boundingBox[0][0]&&aJ<aO._boundingBox[1][0]&&aI>aO._boundingBox[1][1]&&aI<aO._boundingBox[0][1]){var aD=aO._areaPoints.length;var aG;var aU=aD-1;for(var aG=0;aG<aD;aG++){var aC=[aO._areaPoints[aG][0],aO._areaPoints[aG][1]];var aB=[aO._areaPoints[aU][0],aO._areaPoints[aU][1]];if(aC[1]<aI&&aB[1]>=aI||aB[1]<aI&&aC
 [1]>=aI){if(aC[0]+(aI-aC[1])/(aB[1]-aC[1])*(aB[0]-aC[0])<aJ){ax=!ax}}aU=aG}}if(ax){return{seriesIndex:aW,pointIndex:null,gridData:aO.gridData,data:aO.data,points:aO._areaPoints}}break}else{aN=aO.markerRenderer.size/2+aO.neighborThreshold;an=(aN>0)?aN:0;for(var aU=0;aU<aO.gridData.length;aU++){aQ=aO.gridData[aU];if(aP.constructor==L.jqplot.OHLCRenderer){if(aP.candleStick){var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._bodyWidth/2&&aJ<=aQ[0]+aP._bodyWidth/2&&aI>=av(aO.data[aU][2])&&aI<=av(aO.data[aU][3])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}else{if(!aP.hlc){var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._tickLength&&aJ<=aQ[0]+aP._tickLength&&aI>=av(aO.data[aU][2])&&aI<=av(aO.data[aU][3])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}else{var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._tickLength&&aJ<=aQ[0]+aP._tickLength&&aI>=av(aO.data[aU][1])&&aI<=av(aO.data[aU][2])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}}}els
 e{if(aQ[0]!=null&&aQ[1]!=null){aX=Math.sqrt((aJ-aQ[0])*(aJ-aQ[0])+(aI-aQ[1])*(aI-aQ[1]));if(aX<=an&&(aX<=aS||aS==null)){aS=aX;return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}}}}}break;default:aJ=al.x;aI=al.y;aP=aO.renderer;if(aO.show){aN=aO.markerRenderer.size/2+aO.neighborThreshold;an=(aN>0)?aN:0;for(var aU=0;aU<aO.gridData.length;aU++){aQ=aO.gridData[aU];if(aP.constructor==L.jqplot.OHLCRenderer){if(aP.candleStick){var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._bodyWidth/2&&aJ<=aQ[0]+aP._bodyWidth/2&&aI>=av(aO.data[aU][2])&&aI<=av(aO.data[aU][3])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}else{if(!aP.hlc){var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._tickLength&&aJ<=aQ[0]+aP._tickLength&&aI>=av(aO.data[aU][2])&&aI<=av(aO.data[aU][3])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}else{var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._tickLength&&aJ<=aQ[0]+aP._tickLength&&aI>=av(aO.data[aU][1])&&aI<=av(aO.data[aU][2])){return{
 seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}}}else{aX=Math.sqrt((aJ-aQ[0])*(aJ-aQ[0])+(aI-aQ[1])*(aI-aQ[1]));if(aX<=an&&(aX<=aS||aS==null)){aS=aX;return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}}}break}}return null}this.onClick=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);var al=L.Event("jqplotClick");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])};this.onDblClick=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);var al=L.Event("jqplotDblClick");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])};this.onMouseDown=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);var al=L.Event("jqplotMouseDown");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])};this.onMouseUp=function(an){var am=ai(an);var al=L.Event("jqplotMouseUp");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(a
 l,[am.gridPos,am.dataPos,null,an.data.plot])};this.onRightClick=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);if(ap.captureRightClick){if(an.which==3){var al=L.Event("jqplotRightClick");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])}else{var al=L.Event("jqplotMouseUp");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])}}};this.onMouseMove=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);var al=L.Event("jqplotMouseMove");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])};this.onMouseEnter=function(an){var am=ai(an);var ao=an.data.plot;var al=L.Event("jqplotMouseEnter");al.pageX=an.pageX;al.pageY=an.pageY;al.relatedTarget=an.relatedTarget;L(this).trigger(al,[am.gridPos,am.dataPos,null,ao])};this.onMouseLeave=function(an){var am=ai(an);var ao=an.data.plot;var al=L.Event("jqplotMouseLeave");al.pageX=an.pageX;al.pageY=an.pageY;al.r
 elatedTarget=an.relatedTarget;L(this).trigger(al,[am.gridPos,am.dataPos,null,ao])};this.drawSeries=function(an,al){var ap,ao,am;al=(typeof(an)==="number"&&al==null)?an:al;an=(typeof(an)==="object")?an:{};if(al!=u){ao=this.series[al];am=ao.shadowCanvas._ctx;am.clearRect(0,0,am.canvas.width,am.canvas.height);ao.drawShadow(am,an,this);am=ao.canvas._ctx;am.clearRect(0,0,am.canvas.width,am.canvas.height);ao.draw(am,an,this);if(ao.renderer.constructor==L.jqplot.BezierCurveRenderer){if(al<this.series.length-1){this.drawSeries(al+1)}}}else{for(ap=0;ap<this.series.length;ap++){ao=this.series[ap];am=ao.shadowCanvas._ctx;am.clearRect(0,0,am.canvas.width,am.canvas.height);ao.drawShadow(am,an,this);am=ao.canvas._ctx;am.clearRect(0,0,am.canvas.width,am.canvas.height);ao.draw(am,an,this)}}an=al=ap=ao=am=null};this.moveSeriesToFront=function(am){am=parseInt(am,10);var ap=L.inArray(am,this.seriesStack);if(ap==-1){return}if(ap==this.seriesStack.length-1){this.previousSeriesStack=this.seriesStack.slic
 e(0);return}var al=this.seriesStack[this.seriesStack.length-1];var ao=this.series[am].canvas._elem.detach();var an=this.series[am].shadowCanvas._elem.detach();this.series[al].shadowCanvas._elem.after(an);this.series[al].canvas._elem.after(ao);this.previousSeriesStack=this.seriesStack.slice(0);this.seriesStack.splice(ap,1);this.seriesStack.push(am)};this.moveSeriesToBack=function(am){am=parseInt(am,10);var ap=L.inArray(am,this.seriesStack);if(ap==0||ap==-1){return}var al=this.seriesStack[0];var ao=this.series[am].canvas._elem.detach();var an=this.series[am].shadowCanvas._elem.detach();this.series[al].shadowCanvas._elem.before(an);this.series[al].canvas._elem.before(ao);this.previousSeriesStack=this.seriesStack.slice(0);this.seriesStack.splice(ap,1);this.seriesStack.unshift(am)};this.restorePreviousSeriesOrder=function(){var ar,aq,ap,ao,an,al,am;if(this.seriesStack==this.previousSeriesStack){return}for(ar=1;ar<this.previousSeriesStack.length;ar++){al=this.previousSeriesStack[ar];am=th
 is.previousSeriesStack[ar-1];ap=this.series[al].canvas._elem.detach();ao=this.series[al].shadowCanvas._elem.detach();this.series[am].shadowCanvas._elem.after(ao);this.series[am].canvas._elem.after(ap)}an=this.seriesStack.slice(0);this.seriesStack=this.previousSeriesStack.slice(0);this.previousSeriesStack=an};this.restoreOriginalSeriesOrder=function(){var ap,ao,al=[],an,am;for(ap=0;ap<this.series.length;ap++){al.push(ap)}if(this.seriesStack==al){return}this.previousSeriesStack=this.seriesStack.slice(0);this.seriesStack=al;for(ap=1;ap<this.seriesStack.length;ap++){an=this.series[ap].canvas._elem.detach();am=this.series[ap].shadowCanvas._elem.detach();this.series[ap-1].shadowCanvas._elem.after(am);this.series[ap-1].canvas._elem.after(an)}};this.activateTheme=function(al){this.themeEngine.activate(this,al)}}L.jqplot.computeHighlightColors=function(ai){var ak;if(L.isArray(ai)){ak=[];for(var am=0;am<ai.length;am++){var al=L.jqplot.getColorComponents(ai[am]);var ah=[al[0],al[1],al[2]];var 
 an=ah[0]+ah[1]+ah[2];for(var aj=0;aj<3;aj++){ah[aj]=(an>660)?ah[aj]*0.85:0.73*ah[aj]+90;ah[aj]=parseInt(ah[aj],10);(ah[aj]>255)?255:ah[aj]}ah[3]=0.3+0.35*al[3];ak.push("rgba("+ah[0]+","+ah[1]+","+ah[2]+","+ah[3]+")")}}else{var al=L.jqplot.getColorComponents(ai);var ah=[al[0],al[1],al[2]];var an=ah[0]+ah[1]+ah[2];for(var aj=0;aj<3;aj++){ah[aj]=(an>660)?ah[aj]*0.85:0.73*ah[aj]+90;ah[aj]=parseInt(ah[aj],10);(ah[aj]>255)?255:ah[aj]}ah[3]=0.3+0.35*al[3];ak="rgba("+ah[0]+","+ah[1]+","+ah[2]+","+ah[3]+")"}return ak};L.jqplot.ColorGenerator=function(ai){ai=ai||L.jqplot.config.defaultColors;var ah=0;this.next=function(){if(ah<ai.length){return ai[ah++]}else{ah=0;return ai[ah++]}};this.previous=function(){if(ah>0){return ai[ah--]}else{ah=ai.length-1;return ai[ah]}};this.get=function(ak){var aj=ak-ai.length*Math.floor(ak/ai.length);return ai[aj]};this.setColors=function(aj){ai=aj};this.reset=function(){ah=0};this.getIndex=function(){return ah};this.setIndex=function(aj){ah=aj}};L.jqplot.hex2rg
 b=function(aj,ah){aj=aj.replace("#","");if(aj.length==3){aj=aj.charAt(0)+aj.charAt(0)+aj.charAt(1)+aj.charAt(1)+aj.charAt(2)+aj.charAt(2)}var ai;ai="rgba("+parseInt(aj.slice(0,2),16)+", "+parseInt(aj.slice(2,4),16)+", "+parseInt(aj.slice(4,6),16);if(ah){ai+=", "+ah}ai+=")";return ai};L.jqplot.rgb2hex=function(am){var aj=/rgba?\( *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *(?:, *[0-9.]*)?\)/;var ah=am.match(aj);var al="#";for(var ak=1;ak<4;ak++){var ai;if(ah[ak].search(/%/)!=-1){ai=parseInt(255*ah[ak]/100,10).toString(16);if(ai.length==1){ai="0"+ai}}else{ai=parseInt(ah[ak],10).toString(16);if(ai.length==1){ai="0"+ai}}al+=ai}return al};L.jqplot.normalize2rgb=function(ai,ah){if(ai.search(/^ *rgba?\(/)!=-1){return ai}else{if(ai.search(/^ *#?[0-9a-fA-F]?[0-9a-fA-F]/)!=-1){return L.jqplot.hex2rgb(ai,ah)}else{throw new Error("Invalid color spec")}}};L.jqplot.getColorComponents=function(am){am=L.jqplot.colorKeywordMap[am]||am;var ak=L.jqplot.normalize2r
 gb(am);var aj=/rgba?\( *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *,? *([0-9.]* *)?\)/;var ah=ak.match(aj);var ai=[];for(var al=1;al<4;al++){if(ah[al].search(/%/)!=-1){ai[al-1]=parseInt(255*ah[al]/100,10)}else{ai[al-1]=parseInt(ah[al],10)}}ai[3]=parseFloat(ah[4])?parseFloat(ah[4]):1;return ai};L.jqplot.colorKeywordMap={aliceblue:"rgb(240, 248, 255)",antiquewhite:"rgb(250, 235, 215)",aqua:"rgb( 0, 255, 255)",aquamarine:"rgb(127, 255, 212)",azure:"rgb(240, 255, 255)",beige:"rgb(245, 245, 220)",bisque:"rgb(255, 228, 196)",black:"rgb( 0, 0, 0)",blanchedalmond:"rgb(255, 235, 205)",blue:"rgb( 0, 0, 255)",blueviolet:"rgb(138, 43, 226)",brown:"rgb(165, 42, 42)",burlywood:"rgb(222, 184, 135)",cadetblue:"rgb( 95, 158, 160)",chartreuse:"rgb(127, 255, 0)",chocolate:"rgb(210, 105, 30)",coral:"rgb(255, 127, 80)",cornflowerblue:"rgb(100, 149, 237)",cornsilk:"rgb(255, 248, 220)",crimson:"rgb(220, 20, 60)",cyan:"rgb( 0, 255, 255)",darkblue:"rgb( 0, 0, 139)",dark
 cyan:"rgb( 0, 139, 139)",darkgoldenrod:"rgb(184, 134, 11)",darkgray:"rgb(169, 169, 169)",darkgreen:"rgb( 0, 100, 0)",darkgrey:"rgb(169, 169, 169)",darkkhaki:"rgb(189, 183, 107)",darkmagenta:"rgb(139, 0, 139)",darkolivegreen:"rgb( 85, 107, 47)",darkorange:"rgb(255, 140, 0)",darkorchid:"rgb(153, 50, 204)",darkred:"rgb(139, 0, 0)",darksalmon:"rgb(233, 150, 122)",darkseagreen:"rgb(143, 188, 143)",darkslateblue:"rgb( 72, 61, 139)",darkslategray:"rgb( 47, 79, 79)",darkslategrey:"rgb( 47, 79, 79)",darkturquoise:"rgb( 0, 206, 209)",darkviolet:"rgb(148, 0, 211)",deeppink:"rgb(255, 20, 147)",deepskyblue:"rgb( 0, 191, 255)",dimgray:"rgb(105, 105, 105)",dimgrey:"rgb(105, 105, 105)",dodgerblue:"rgb( 30, 144, 255)",firebrick:"rgb(178, 34, 34)",floralwhite:"rgb(255, 250, 240)",forestgreen:"rgb( 34, 139, 34)",fuchsia:"rgb(255, 0, 255)",gainsboro:"rgb(220, 220, 220)",ghostwhite:"rgb(248, 248, 255)",gold:"rgb(255, 215, 0)",goldenrod:"rgb(218, 165, 32)",gray:"rgb(128, 128, 128)",grey:"rgb(128, 128, 12
 8)",green:"rgb( 0, 128, 0)",greenyellow:"rgb(173, 255, 47)",honeydew:"rgb(240, 255, 240)",hotpink:"rgb(255, 105, 180)",indianred:"rgb(205, 92, 92)",indigo:"rgb( 75, 0, 130)",ivory:"rgb(255, 255, 240)",khaki:"rgb(240, 230, 140)",lavender:"rgb(230, 230, 250)",lavenderblush:"rgb(255, 240, 245)",lawngreen:"rgb(124, 252, 0)",lemonchiffon:"rgb(255, 250, 205)",lightblue:"rgb(173, 216, 230)",lightcoral:"rgb(240, 128, 128)",lightcyan:"rgb(224, 255, 255)",lightgoldenrodyellow:"rgb(250, 250, 210)",lightgray:"rgb(211, 211, 211)",lightgreen:"rgb(144, 238, 144)",lightgrey:"rgb(211, 211, 211)",lightpink:"rgb(255, 182, 193)",lightsalmon:"rgb(255, 160, 122)",lightseagreen:"rgb( 32, 178, 170)",lightskyblue:"rgb(135, 206, 250)",lightslategray:"rgb(119, 136, 153)",lightslategrey:"rgb(119, 136, 153)",lightsteelblue:"rgb(176, 196, 222)",lightyellow:"rgb(255, 255, 224)",lime:"rgb( 0, 255, 0)",limegreen:"rgb( 50, 205, 50)",linen:"rgb(250, 240, 230)",magenta:"rgb(255, 0, 255)",maroon:"rgb(128, 0, 0)",medium
 aquamarine:"rgb(102, 205, 170)",mediumblue:"rgb( 0, 0, 205)",mediumorchid:"rgb(186, 85, 211)",mediumpurple:"rgb(147, 112, 219)",mediumseagreen:"rgb( 60, 179, 113)",mediumslateblue:"rgb(123, 104, 238)",mediumspringgreen:"rgb( 0, 250, 154)",mediumturquoise:"rgb( 72, 209, 204)",mediumvioletred:"rgb(199, 21, 133)",midnightblue:"rgb( 25, 25, 112)",mintcream:"rgb(245, 255, 250)",mistyrose:"rgb(255, 228, 225)",moccasin:"rgb(255, 228, 181)",navajowhite:"rgb(255, 222, 173)",navy:"rgb( 0, 0, 128)",oldlace:"rgb(253, 245, 230)",olive:"rgb(128, 128, 0)",olivedrab:"rgb(107, 142, 35)",orange:"rgb(255, 165, 0)",orangered:"rgb(255, 69, 0)",orchid:"rgb(218, 112, 214)",palegoldenrod:"rgb(238, 232, 170)",palegreen:"rgb(152, 251, 152)",paleturquoise:"rgb(175, 238, 238)",palevioletred:"rgb(219, 112, 147)",papayawhip:"rgb(255, 239, 213)",peachpuff:"rgb(255, 218, 185)",peru:"rgb(205, 133, 63)",pink:"rgb(255, 192, 203)",plum:"rgb(221, 160, 221)",powderblue:"rgb(176, 224, 230)",purple:"rgb(128, 0, 128)",red:
 "rgb(255, 0, 0)",rosybrown:"rgb(188, 143, 143)",royalblue:"rgb( 65, 105, 225)",saddlebrown:"rgb(139, 69, 19)",salmon:"rgb(250, 128, 114)",sandybrown:"rgb(244, 164, 96)",seagreen:"rgb( 46, 139, 87)",seashell:"rgb(255, 245, 238)",sienna:"rgb(160, 82, 45)",silver:"rgb(192, 192, 192)",skyblue:"rgb(135, 206, 235)",slateblue:"rgb(106, 90, 205)",slategray:"rgb(112, 128, 144)",slategrey:"rgb(112, 128, 144)",snow:"rgb(255, 250, 250)",springgreen:"rgb( 0, 255, 127)",steelblue:"rgb( 70, 130, 180)",tan:"rgb(210, 180, 140)",teal:"rgb( 0, 128, 128)",thistle:"rgb(216, 191, 216)",tomato:"rgb(255, 99, 71)",turquoise:"rgb( 64, 224, 208)",violet:"rgb(238, 130, 238)",wheat:"rgb(245, 222, 179)",white:"rgb(255, 255, 255)",whitesmoke:"rgb(245, 245, 245)",yellow:"rgb(255, 255, 0)",yellowgreen:"rgb(154, 205, 50)"};L.jqplot.AxisLabelRenderer=function(ah){L.jqplot.ElemContainer.call(this);this.axis;this.show=true;this.label="";this.fontFamily=null;this.fontSize=null;this.textColor=null;this._elem;this.escapeH
 TML=false;L.extend(true,this,ah)};L.jqplot.AxisLabelRenderer.prototype=new L.jqplot.ElemContainer();L.jqplot.AxisLabelRenderer.prototype.constructor=L.jqplot.AxisLabelRenderer;L.jqplot.AxisLabelRenderer.prototype.init=function(ah){L.extend(true,this,ah)};L.jqplot.AxisLabelRenderer.prototype.draw=function(ah,ai){if(this._elem){this._elem.emptyForce();this._elem=null}this._elem=L('<div style="position:absolute;" class="jqplot-'+this.axis+'-label"></div>');if(Number(this.label)){this._elem.css("white-space","nowrap")}if(!this.escapeHTML){this._elem.html(this.label)}else{this._elem.text(this.label)}if(this.fontFamily){this._elem.css("font-family",this.fontFamily)}if(this.fontSize){this._elem.css("font-size",this.fontSize)}if(this.textColor){this._elem.css("color",this.textColor)}return this._elem};L.jqplot.AxisLabelRenderer.prototype.pack=function(){};L.jqplot.AxisTickRenderer=function(ah){L.jqplot.ElemContainer.call(this);this.mark="outside";this.axis;this.showMark=true;this.showGridli
 ne=true;this.isMinorTick=false;this.size=4;this.markSize=6;this.show=true;this.showLabel=true;this.label=null;this.value=null;this._styles={};this.formatter=L.jqplot.DefaultTickFormatter;this.prefix="";this.suffix="";this.formatString="";this.fontFamily;this.fontSize;this.textColor;this.escapeHTML=false;this._elem;this._breakTick=false;L.extend(true,this,ah)};L.jqplot.AxisTickRenderer.prototype.init=function(ah){L.extend(true,this,ah)};L.jqplot.AxisTickRenderer.prototype=new L.jqplot.ElemContainer();L.jqplot.AxisTickRenderer.prototype.constructor=L.jqplot.AxisTickRenderer;L.jqplot.AxisTickRenderer.prototype.setTick=function(ah,aj,ai){this.value=ah;this.axis=aj;if(ai){this.isMinorTick=true}return this};L.jqplot.AxisTickRenderer.prototype.draw=function(){if(this.label===null){this.label=this.prefix+this.formatter(this.formatString,this.value)+this.suffix}var ai={position:"absolute"};if(Number(this.label)){ai.whitSpace="nowrap"}if(this._elem){this._elem.emptyForce();this._elem=null}thi
 s._elem=L(document.createElement("div"));this._elem.addClass("jqplot-"+this.axis+"-tick");if(!this.escapeHTML){this._elem.html(this.label)}else{this._elem.text(this.label)}this._elem.css(ai);for(var ah in this._styles){this._elem.css(ah,this._styles[ah])}if(this.fontFamily){this._elem.css("font-family",this.fontFamily)}if(this.fontSize){this._elem.css("font-size",this.fontSize)}if(this.textColor){this._elem.css("color",this.textColor)}if(this._breakTick){this._elem.addClass("jqplot-breakTick")}return this._elem};L.jqplot.DefaultTickFormatter=function(ah,ai){if(typeof ai=="number"){if(!ah){ah=L.jqplot.config.defaultTickFormatString}return L.jqplot.sprintf(ah,ai)}else{return String(ai)}};L.jqplot.PercentTickFormatter=function(ah,ai){if(typeof ai=="number"){ai=100*ai;if(!ah){ah=L.jqplot.config.defaultTickFormatString}return L.jqplot.sprintf(ah,ai)}else{return String(ai)}};L.jqplot.AxisTickRenderer.prototype.pack=function(){};L.jqplot.CanvasGridRenderer=function(){this.shadowRenderer=ne
 w L.jqplot.ShadowRenderer()};L.jqplot.CanvasGridRenderer.prototype.init=function(ai){this._ctx;L.extend(true,this,ai);var ah={lineJoin:"miter",lineCap:"round",fill:false,isarc:false,angle:this.shadowAngle,offset:this.shadowOffset,alpha:this.shadowAlpha,depth:this.shadowDepth,lineWidth:this.shadowWidth,closePath:false,strokeStyle:this.shadowColor};this.renderer.shadowRenderer.init(ah)};L.jqplot.CanvasGridRenderer.prototype.createElement=function(ak){var aj;if(this._elem){if(L.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==u){aj=this._elem.get(0);window.G_vmlCanvasManager.uninitElement(aj);aj=null}this._elem.emptyForce();this._elem=null}aj=ak.canvasManager.getCanvas();var ah=this._plotDimensions.width;var ai=this._plotDimensions.height;aj.width=ah;aj.height=ai;this._elem=L(aj);this._elem.addClass("jqplot-grid-canvas");this._elem.css({position:"absolute",left:0,top:0});aj=ak.canvasManager.initCanvas(aj);this._top=this._offsets.top;this._bottom=ai-this._offsets.bottom;th
 is._left=this._offsets.left;this._right=ah-this._offsets.right;this._width=this._right-this._left;this._height=this._bottom-this._top;aj=null;return this._elem};L.jqplot.CanvasGridRenderer.prototype.draw=function(){this._ctx=this._elem.get(0).getContext("2d");var at=this._ctx;var aw=this._axes;at.save();at.clearRect(0,0,this._plotDimensions.width,this._plotDimensions.height);at.fillStyle=this.backgroundColor||this.background;at.fillRect(this._left,this._top,this._width,this._height);at.save();at.lineJoin="miter";at.lineCap="butt";at.lineWidth=this.gridLineWidth;at.strokeStyle=this.gridLineColor;var aA,az,ap,aq;var am=["xaxis","yaxis","x2axis","y2axis"];for(var ay=4;ay>0;ay--){var aD=am[ay-1];var ah=aw[aD];var aB=ah._ticks;var ar=aB.length;if(ah.show){if(ah.drawBaseline){var aC={};if(ah.baselineWidth!==null){aC.lineWidth=ah.baselineWidth}if(ah.baselineColor!==null){aC.strokeStyle=ah.baselineColor}switch(aD){case"xaxis":ao(this._left,this._bottom,this._right,this._bottom,aC);break;cas
 e"yaxis":ao(this._left,this._bottom,this._left,this._top,aC);break;case"x2axis":ao(this._left,this._bottom,this._right,this._bottom,aC);break;case"y2axis":ao(this._right,this._bottom,this._right,this._top,aC);break}}for(var au=ar;au>0;au--){var an=aB[au-1];if(an.show){var ak=Math.round(ah.u2p(an.value))+0.5;switch(aD){case"xaxis":if(an.showGridline&&this.drawGridlines&&((!an.isMinorTick&&ah.drawMajorGridlines)||(an.isMinorTick&&ah.drawMinorGridlines))){ao(ak,this._top,ak,this._bottom)}if(an.showMark&&an.mark&&((!an.isMinorTick&&ah.drawMajorTickMarks)||(an.isMinorTick&&ah.drawMinorTickMarks))){ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;switch(aq){case"outside":aA=this._bottom;az=this._bottom+ap;break;case"inside":aA=this._bottom-ap;az=this._bottom;break;case"cross":aA=this._bottom-ap;az=this._bottom+ap;break;default:aA=this._bottom;az=this._bottom+ap;break}if(this.shadow){this.renderer.shadowRenderer.draw(at,[[ak,aA],[ak,az]],{lineCap:"butt",lineWidth:this.grid
 LineWidth,offset:this.gridLineWidth*0.75,depth:2,fill:false,closePath:false})}ao(ak,aA,ak,az)}break;case"yaxis":if(an.showGridline&&this.drawGridlines&&((!an.isMinorTick&&ah.drawMajorGridlines)||(an.isMinorTick&&ah.drawMinorGridlines))){ao(this._right,ak,this._left,ak)}if(an.showMark&&an.mark&&((!an.isMinorTick&&ah.drawMajorTickMarks)||(an.isMinorTick&&ah.drawMinorTickMarks))){ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;switch(aq){case"outside":aA=this._left-ap;az=this._left;break;case"inside":aA=this._left;az=this._left+ap;break;case"cross":aA=this._left-ap;az=this._left+ap;break;default:aA=this._left-ap;az=this._left;break}if(this.shadow){this.renderer.shadowRenderer.draw(at,[[aA,ak],[az,ak]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}ao(aA,ak,az,ak,{strokeStyle:ah.borderColor})}break;case"x2axis":if(an.showGridline&&this.drawGridlines&&((!an.isMinorTick&&ah.drawMajorGridlines)||(an.isMinorTick
 &&ah.drawMinorGridlines))){ao(ak,this._bottom,ak,this._top)}if(an.showMark&&an.mark&&((!an.isMinorTick&&ah.drawMajorTickMarks)||(an.isMinorTick&&ah.drawMinorTickMarks))){ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;switch(aq){case"outside":aA=this._top-ap;az=this._top;break;case"inside":aA=this._top;az=this._top+ap;break;case"cross":aA=this._top-ap;az=this._top+ap;break;default:aA=this._top-ap;az=this._top;break}if(this.shadow){this.renderer.shadowRenderer.draw(at,[[ak,aA],[ak,az]],{lineCap:"butt",lineWidth:this.gridLineWidth,offset:this.gridLineWidth*0.75,depth:2,fill:false,closePath:false})}ao(ak,aA,ak,az)}break;case"y2axis":if(an.showGridline&&this.drawGridlines&&((!an.isMinorTick&&ah.drawMajorGridlines)||(an.isMinorTick&&ah.drawMinorGridlines))){ao(this._left,ak,this._right,ak)}if(an.showMark&&an.mark&&((!an.isMinorTick&&ah.drawMajorTickMarks)||(an.isMinorTick&&ah.drawMinorTickMarks))){ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;switch(
 aq){case"outside":aA=this._right;az=this._right+ap;break;case"inside":aA=this._right-ap;az=this._right;break;case"cross":aA=this._right-ap;az=this._right+ap;break;default:aA=this._right;az=this._right+ap;break}if(this.shadow){this.renderer.shadowRenderer.draw(at,[[aA,ak],[az,ak]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}ao(aA,ak,az,ak,{strokeStyle:ah.borderColor})}break;default:break}}}an=null}ah=null;aB=null}am=["y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis","yMidAxis"];for(var ay=7;ay>0;ay--){var ah=aw[am[ay-1]];var aB=ah._ticks;if(ah.show){var ai=aB[ah.numberTicks-1];var al=aB[0];var aj=ah.getLeft();var av=[[aj,ai.getTop()+ai.getHeight()/2],[aj,al.getTop()+al.getHeight()/2+1]];if(this.shadow){this.renderer.shadowRenderer.draw(at,av,{lineCap:"butt",fill:false,closePath:false})}ao(av[0][0],av[0][1],av[1][0],av[1][1],{lineCap:"butt",strokeStyle:ah.borderColor,lineWidth:ah.borderWidth});for(var au=aB.
 length;au>0;au--){var an=aB[au-1];ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;if(an.showMark&&an.mark){switch(aq){case"outside":aA=aj;az=aj+ap;break;case"inside":aA=aj-ap;az=aj;break;case"cross":aA=aj-ap;az=aj+ap;break;default:aA=aj;az=aj+ap;break}av=[[aA,ak],[az,ak]];if(this.shadow){this.renderer.shadowRenderer.draw(at,av,{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}ao(aA,ak,az,ak,{strokeStyle:ah.borderColor})}an=null}al=null}ah=null;aB=null}at.restore();function ao(aH,aG,aE,ax,aF){at.save();aF=aF||{};if(aF.lineWidth==null||aF.lineWidth!=0){L.extend(true,at,aF);at.beginPath();at.moveTo(aH,aG);at.lineTo(aE,ax);at.stroke();at.restore()}}if(this.shadow){var av=[[this._left,this._bottom],[this._right,this._bottom],[this._right,this._top]];this.renderer.shadowRenderer.draw(at,av)}if(this.borderWidth!=0&&this.drawBorder){ao(this._left,this._top,this._right,this._top,{lineCap:"round",strokeStyle:aw.x2axi
 s.borderColor,lineWidth:aw.x2axis.borderWidth});ao(this._right,this._top,this._right,this._bottom,{lineCap:"round",strokeStyle:aw.y2axis.borderColor,lineWidth:aw.y2axis.borderWidth});ao(this._right,this._bottom,this._left,this._bottom,{lineCap:"round",strokeStyle:aw.xaxis.borderColor,lineWidth:aw.xaxis.borderWidth});ao(this._left,this._bottom,this._left,this._top,{lineCap:"round",strokeStyle:aw.yaxis.borderColor,lineWidth:aw.yaxis.borderWidth})}at.restore();at=null;aw=null};L.jqplot.DivTitleRenderer=function(){};L.jqplot.DivTitleRenderer.prototype.init=function(ah){L.extend(true,this,ah)};L.jqplot.DivTitleRenderer.prototype.draw=function(){if(this._elem){this._elem.emptyForce();this._elem=null}var ak=this.renderer;var aj=document.createElement("div");this._elem=L(aj);this._elem.addClass("jqplot-title");if(!this.text){this.show=false;this._elem.height(0);this._elem.width(0)}else{if(this.text){var ah;if(this.color){ah=this.color}else{if(this.textColor){ah=this.textColor}}var ai={posit
 ion:"absolute",top:"0px",left:"0px"};if(this._plotWidth){ai.width=this._plotWidth+"px"}if(this.fontSize){ai.fontSize=this.fontSize}if(typeof this.textAlign==="string"){ai.textAlign=this.textAlign}else{ai.textAlign="center"}if(ah){ai.color=ah}if(this.paddingBottom){ai.paddingBottom=this.paddingBottom}if(this.fontFamily){ai.fontFamily=this.fontFamily}this._elem.css(ai);if(this.escapeHtml){this._elem.text(this.text)}else{this._elem.html(this.text)}}}aj=null;return this._elem};L.jqplot.DivTitleRenderer.prototype.pack=function(){};var r=0.1;L.jqplot.LinePattern=function(aw,aq){var ap={dotted:[r,L.jqplot.config.dotGapLength],dashed:[L.jqplot.config.dashLength,L.jqplot.config.gapLength],solid:null};if(typeof aq==="string"){if(aq[0]==="."||aq[0]==="-"){var ax=aq;aq=[];for(var ao=0,al=ax.length;ao<al;ao++){if(ax[ao]==="."){aq.push(r)}else{if(ax[ao]==="-"){aq.push(L.jqplot.config.dashLength)}else{continue}}aq.push(L.jqplot.config.gapLength)}}else{aq=ap[aq]}}if(!(aq&&aq.length)){return aw}var 
 ak=0;var ar=aq[0];var au=0;var at=0;var an=0;var ah=0;var av=function(ay,az){aw.moveTo(ay,az);au=ay;at=az;an=ay;ah=az};var aj=function(ay,aE){var aC=aw.lineWidth;var aA=ay-au;var az=aE-at;var aB=Math.sqrt(aA*aA+az*az);if((aB>0)&&(aC>0)){aA/=aB;az/=aB;while(true){var aD=aC*ar;if(aD<aB){au+=aD*aA;at+=aD*az;if((ak&1)==0){aw.lineTo(au,at)}else{aw.moveTo(au,at)}aB-=aD;ak++;if(ak>=aq.length){ak=0}ar=aq[ak]}else{au=ay;at=aE;if((ak&1)==0){aw.lineTo(au,at)}else{aw.moveTo(au,at)}ar-=aB/aC;break}}}};var ai=function(){aw.beginPath()};var am=function(){aj(an,ah)};return{moveTo:av,lineTo:aj,beginPath:ai,closePath:am}};L.jqplot.LineRenderer=function(){this.shapeRenderer=new L.jqplot.ShapeRenderer();this.shadowRenderer=new L.jqplot.ShadowRenderer()};L.jqplot.LineRenderer.prototype.init=function(ai,an){ai=ai||{};this._type="line";this.renderer.animation={show:false,direction:"left",speed:2500,_supported:true};this.renderer.smooth=false;this.renderer.tension=null;this.renderer.constrainSmoothing=true
 ;this.renderer._smoothedData=[];this.renderer._smoothedPlotData=[];this.renderer._hiBandGridData=[];this.renderer._lowBandGridData=[];this.renderer._hiBandSmoothedData=[];this.renderer._lowBandSmoothedData=[];this.renderer.bandData=[];this.renderer.bands={show:false,hiData:[],lowData:[],color:this.color,showLines:false,fill:true,fillColor:null,_min:null,_max:null,interval:"3%"};var al={highlightMouseOver:ai.highlightMouseOver,highlightMouseDown:ai.highlightMouseDown,highlightColor:ai.highlightColor};delete (ai.highlightMouseOver);delete (ai.highlightMouseDown);delete (ai.highlightColor);L.extend(true,this.renderer,ai);this.renderer.options=ai;if(this.renderer.bandData.length>1&&(!ai.bands||ai.bands.show==null)){this.renderer.bands.show=true}else{if(ai.bands&&ai.bands.show==null&&ai.bands.interval!=null){this.renderer.bands.show=true}}if(this.fill){this.renderer.bands.show=false}if(this.renderer.bands.show){this.renderer.initBands.call(this,this.renderer.options,an)}if(this._stack){t
 his.renderer.smooth=false}var am={lineJoin:this.lineJoin,lineCap:this.lineCap,fill:this.fill,isarc:false,strokeStyle:this.color,fillStyle:this.fillColor,lineWidth:this.lineWidth,linePattern:this.linePattern,closePath:this.fill};this.renderer.shapeRenderer.init(am);var aj=ai.shadowOffset;if(aj==null){if(this.lineWidth>2.5){aj=1.25*(1+(Math.atan((this.lineWidth/2.5))/0.785398163-1)*0.6)}else{aj=1.25*Math.atan((this.lineWidth/2.5))/0.785398163}}var ah={lineJoin:this.lineJoin,lineCap:this.lineCap,fill:this.fill,isarc:false,angle:this.shadowAngle,offset:aj,alpha:this.shadowAlpha,depth:this.shadowDepth,lineWidth:this.lineWidth,linePattern:this.linePattern,closePath:this.fill};this.renderer.shadowRenderer.init(ah);this._areaPoints=[];this._boundingBox=[[],[]];if(!this.isTrendline&&this.fill||this.renderer.bands.show){this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColor=null;if(al.highlightMouseDown&&al.highlightMouseOver==null){al.highlightMouseOver=false}L.extend
 (true,this,{highlightMouseOver:al.highlightMouseOver,highlightMouseDown:al.highlightMouseDown,highlightColor:al.highlightColor});if(!this.highlightColor){var ak=(this.renderer.bands.show)?this.renderer.bands.fillColor:this.fillColor;this.highlightColor=L.jqplot.computeHighlightColors(ak)}if(this.highlighter){this.highlighter.show=false}}if(!this.isTrendline&&an){an.plugins.lineRenderer={};an.postInitHooks.addOnce(z);an.postDrawHooks.addOnce(af);an.eventListenerHooks.addOnce("jqplotMouseMove",h);an.eventListenerHooks.addOnce("jqplotMouseDown",e);an.eventListenerHooks.addOnce("jqplotMouseUp",ad);an.eventListenerHooks.addOnce("jqplotClick",g);an.eventListenerHooks.addOnce("jqplotRightClick",s)}};L.jqplot.LineRenderer.prototype.initBands=function(ak,av){var al=ak.bandData||[];var an=this.renderer.bands;an.hiData=[];an.lowData=[];var aB=this.data;an._max=null;an._min=null;if(al.length==2){if(L.isArray(al[0][0])){var ao;var ah=0,ar=0;for(var aw=0,at=al[0].length;aw<at;aw++){ao=al[0][aw];i
 f((ao[1]!=null&&ao[1]>an._max)||an._max==null){an._max=ao[1]}if((ao[1]!=null&&ao[1]<an._min)||an._min==null){an._min=ao[1]}}for(var aw=0,at=al[1].length;aw<at;aw++){ao=al[1][aw];if((ao[1]!=null&&ao[1]>an._max)||an._max==null){an._max=ao[1];ar=1}if((ao[1]!=null&&ao[1]<an._min)||an._min==null){an._min=ao[1];ah=1}}if(ar===ah){an.show=false}an.hiData=al[ar];an.lowData=al[ah]}else{if(al[0].length===aB.length&&al[1].length===aB.length){var aj=(al[0][0]>al[1][0])?0:1;var aC=(aj)?0:1;for(var aw=0,at=aB.length;aw<at;aw++){an.hiData.push([aB[aw][0],al[aj][aw]]);an.lowData.push([aB[aw][0],al[aC][aw]])}}else{an.show=false}}}else{if(al.length>2&&!L.isArray(al[0][0])){var aj=(al[0][0]>al[0][1])?0:1;var aC=(aj)?0:1;for(var aw=0,at=al.length;aw<at;aw++){an.hiData.push([aB[aw][0],al[aw][aj]]);an.lowData.push([aB[aw][0],al[aw][aC]])}}else{var aq=an.interval;var aA=null;var az=null;var ai=null;var au=null;if(L.isArray(aq)){aA=aq[0];az=aq[1]}else{aA=aq}if(isNaN(aA)){if(aA.charAt(aA.length-1)==="%"){ai=
 "multiply";aA=parseFloat(aA)/100+1}}else{aA=parseFloat(aA);ai="add"}if(az!==null&&isNaN(az)){if(az.charAt(az.length-1)==="%"){au="multiply";az=parseFloat(az)/100+1}}else{if(az!==null){az=parseFloat(az);au="add"}}if(aA!==null){if(az===null){az=-aA;au=ai;if(au==="multiply"){az+=2}}if(aA<az){var ax=aA;aA=az;az=ax;ax=ai;ai=au;au=ax}for(var aw=0,at=aB.length;aw<at;aw++){switch(ai){case"add":an.hiData.push([aB[aw][0],aB[aw][1]+aA]);break;case"multiply":an.hiData.push([aB[aw][0],aB[aw][1]*aA]);break}switch(au){case"add":an.lowData.push([aB[aw][0],aB[aw][1]+az]);break;case"multiply":an.lowData.push([aB[aw][0],aB[aw][1]*az]);break}}}else{an.show=false}}}var am=an.hiData;var ap=an.lowData;for(var aw=0,at=am.length;aw<at;aw++){if((am[aw][1]!=null&&am[aw][1]>an._max)||an._max==null){an._max=am[aw][1]}}for(var aw=0,at=ap.length;aw<at;aw++){if((ap[aw][1]!=null&&ap[aw][1]<an._min)||an._min==null){an._min=ap[aw][1]}}if(an.fillColor===null){var ay=L.jqplot.getColorComponents(an.color);ay[3]=ay[3]*0.
 5;an.fillColor="rgba("+ay[0]+", "+ay[1]+", "+ay[2]+", "+ay[3]+")"}};function K(ai,ah){return(3.4182054+ah)*Math.pow(ai,-0.3534992)}function n(aj,ai){var ah=Math.sqrt(Math.pow((ai[0]-aj[0]),2)+Math.pow((ai[1]-aj[1]),2));return 5.7648*Math.log(ah)+7.4456}function A(ah){var ai=(Math.exp(2*ah)-1)/(Math.exp(2*ah)+1);return ai}function J(aJ){var at=this.renderer.smooth;var aD=this.canvas.getWidth();var an=this._xaxis.series_p2u;var aG=this._yaxis.series_p2u;var aF=null;var am=null;var az=aJ.length/aD;var aj=[];var ay=[];if(!isNaN(parseFloat(at))){aF=parseFloat(at)}else{aF=K(az,0.5)}var aw=[];var ak=[];for(var aE=0,aA=aJ.length;aE<aA;aE++){aw.push(aJ[aE][1]);ak.push(aJ[aE][0])}function av(aK,aL){if(aK-aL==0){return Math.pow(10,10)}else{return aK-aL}}var ax,ar,aq,ap;var ah=aJ.length-1;for(var al=1,aB=aJ.length;al<aB;al++){var ai=[];var au=[];for(var aC=0;aC<2;aC++){var aE=al-1+aC;if(aE==0||aE==ah){ai[aC]=Math.pow(10,10)}else{if(aw[aE+1]-aw[aE]==0||aw[aE]-aw[aE-1]==0){ai[aC]=0}else{if(((ak[a
 E+1]-ak[aE])/(aw[aE+1]-aw[aE])+(ak[aE]-ak[aE-1])/(aw[aE]-aw[aE-1]))==0){ai[aC]=0}else{if((aw[aE+1]-aw[aE])*(aw[aE]-aw[aE-1])<0){ai[aC]=0}else{ai[aC]=2/(av(ak[aE+1],ak[aE])/(aw[aE+1]-aw[aE])+av(ak[aE],ak[aE-1])/(aw[aE]-aw[aE-1]))}}}}}if(al==1){ai[0]=3/2*(aw[1]-aw[0])/av(ak[1],ak[0])-ai[1]/2}else{if(al==ah){ai[1]=3/2*(aw[ah]-aw[ah-1])/av(ak[ah],ak[ah-1])-ai[0]/2}}au[0]=-2*(ai[1]+2*ai[0])/av(ak[al],ak[al-1])+6*(aw[al]-aw[al-1])/Math.pow(av(ak[al],ak[al-1]),2);au[1]=2*(2*ai[1]+ai[0])/av(ak[al],ak[al-1])-6*(aw[al]-aw[al-1])/Math.pow(av(ak[al],ak[al-1]),2);ap=1/6*(au[1]-au[0])/av(ak[al],ak[al-1]);aq=1/2*(ak[al]*au[0]-ak[al-1]*au[1])/av(ak[al],ak[al-1]);ar=(aw[al]-aw[al-1]-aq*(Math.pow(ak[al],2)-Math.pow(ak[al-1],2))-ap*(Math.pow(ak[al],3)-Math.pow(ak[al-1],3)))/av(ak[al],ak[al-1]);ax=aw[al-1]-ar*ak[al-1]-aq*Math.pow(ak[al-1],2)-ap*Math.pow(ak[al-1],3);var aI=(ak[al]-ak[al-1])/aF;var aH,ao;for(var aC=0,aA=aF;aC<aA;aC++){aH=[];ao=ak[al-1]+aC*aI;aH.push(ao);aH.push(ax+ar*ao+aq*Math.pow(ao,2)
 +ap*Math.pow(ao,3));aj.push(aH);ay.push([an(aH[0]),aG(aH[1])])}}aj.push(aJ[aE]);ay.push([an(aJ[aE][0]),aG(aJ[aE][1])]);return[aj,ay]}function F(ap){var ao=this.renderer.smooth;var aU=this.renderer.tension;var ah=this.canvas.getWidth();var aH=this._x

<TRUNCATED>


[20/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/twoDimTimeSeries.html
----------------------------------------------------------------------
diff --git a/public/html/twoDimTimeSeries.html b/public/html/twoDimTimeSeries.html
deleted file mode 100644
index fa30193..0000000
--- a/public/html/twoDimTimeSeries.html
+++ /dev/null
@@ -1,813 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> -->
-  <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-  <script type="text/javascript" src="js/jquery.flot.min.js"></script>
-  <script type="text/javascript" src="js/json2.js"></script>
-  <script type="text/javascript" src="js/xmisc.js"></script>
-  <script type="text/javascript">
-
-    var Response = null;
-    var variable = "";
-
-
-    // called on load or reload
-    window.onload = function() {
-      select_data();
-      select_var();
-      // no data to download yet
-      disable_download_button();
-    }
-
-
-    // disable download data button
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=true;
-    }
-
-    // enable download data button
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }         
-
-
-    // enable all vars in dropdown menu
-    function reset_vars()
-    {
-      var x=document.getElementById("var");
-
-      x.options[0].disabled=false;
-      x.options[1].disabled=false;
-      x.options[2].disabled=false;
-      x.options[3].disabled=false;
-      x.options[4].disabled=false;
-      x.options[5].disabled=false;
-      x.options[6].disabled=false;
-      x.options[7].disabled=false;
-      x.options[8].disabled=false;
-      x.options[9].disabled=false;
-      x.options[10].disabled=false;
-      x.options[11].disabled=false;
-      x.options[12].disabled=false;
-      x.options[13].disabled=false;
-      x.options[14].disabled=false;
-      x.options[15].disabled=false;
-      x.options[16].disabled=false;
-      x.options[17].disabled=false;
-      x.options[18].disabled=false;
-      x.options[19].disabled=false;
-      x.options[20].disabled=false;
-      x.options[21].disabled=false;
-      x.options[22].disabled=false;
-      x.options[23].disabled=false;
-      x.options[24].disabled=false;
-    }
-
-    // form variable string based on "var" dropdown selection
-    function select_var()
-    {
-      var var_string = $("#var").val();
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      if (var_string == "Total Cloud Fraction")
-        variable = "clt";
-      else if (var_string == "Surface Temperature")
-        variable = "ts";
-      else if (var_string == "Sea Surface Temperature")
-        variable = "tos";
-      else if (var_string == "Precipitation Flux")
-        variable = "pr";
-      else if (var_string == "Eastward Near-Surface Wind")
-        variable = "uas";
-      else if (var_string == "Northward Near-Surface Wind")
-        variable = "vas";
-      else if (var_string == "Near-Surface Wind Speed")
-        variable = "sfcWind";
-      else if (var_string == "Sea Surface Height")
-        variable = "zos";
-      else if (var_string == "Leaf Area Index")
-        variable = "lai";
-      else if (var_string == "Equivalent Water Height Over Land")
-        variable = "zl";
-      else if (var_string == "Equivalent Water Height Over Ocean")
-        variable = "zo";
-      else if (var_string == "Ocean Heat Content Anomaly within 700 m Depth")
-        variable = "ohc700";
-      else if (var_string == "Ocean Heat Content Anomaly within 2000 m Depth")
-        variable = "ohc2000";
-      else if (var_string == "Surface Downwelling Longwave Radiation")
-        variable = "rlds";
-      else if (var_string == "Surface Downwelling Shortwave Radiation")
-        variable = "rsds";
-      else if (var_string == "Surface Upwelling Longwave Radiation")
-        variable = "rlus";
-      else if (var_string == "Surface Upwelling Shortwave Radiation")
-        variable = "rsus";
-      else if (var_string == "Surface Downwelling Clear-Sky Longwave Radiation")
-        variable = "rldscs";
-      else if (var_string == "Surface Downwelling Clear-Sky Shortwave Radiation")
-        variable = "rsdscs";
-      else if (var_string == "Surface Upwelling Clear-Sky Shortwave Radiation")
-        variable = "rsuscs";
-      else if (var_string == "TOA Incident Shortwave Radiation")
-        variable = "rsdt";
-      else if (var_string == "TOA Outgoing Clear-Sky Longwave Radiation")
-        variable = "rlutcs";
-      else if (var_string == "TOA Outgoing Longwave Radiation")
-        variable = "rlut";
-      else if (var_string == "TOA Outgoing Clear-Sky Shortwave Radiation")
-        variable = "rsutcs";
-      else if (var_string == "TOA Outgoing Shortwave Radiation")
-        variable = "rsut";
-
-      // alert("variable: " + variable)
-    }
-
-
-    // set up "var" dropdown based status of "data" dropdown
-    function select_data()
-    {
-      var data_string = $("#data").val();
-      var x=document.getElementById("var");
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      // enable all options in "var" dropdown first
-      reset_vars();
-
-      // alert(data_string);
-
-      // disable corresponding "var" options
-
-      if (data_string == "NASA/AMSRE") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[3].selected=true;
-      }
-      else if (data_string == "NASA/MODIS") {
-        x.options[0].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[1].selected=true;
-        //x.options[8].selected=true;
-      }
-      else if (data_string == "NASA/TRMM") {
-        x.options[0].selected=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-      }
-      else if (data_string == "NASA/GPCP") {
-        x.options[0].selected=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-      }
-      else if (data_string == "NASA/QuikSCAT") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[4].selected=true;
-        //x.options[5].selected=true;
-        //x.options[6].selected=true;
-      }
-      else if (data_string == "NASA/AVISO") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[7].selected=true;
-      }
-      else if (data_string == "NASA/GRACE") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[9].selected=true;
-        //x.options[10].selected=true;
-      }
-      else if (data_string == "NOAA/NODC") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[11].selected=true;
-        //x.options[12].selected=true;
-      }
-      else if (data_string == "NASA/CERES") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-
-        x.options[13].selected=true;
-      }
-      else if (data_string == "ECMWF/interim") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[3].selected=true;
-      }
-      // for all other models
-      else {
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-
-        x.options[0].selected=true;
-      }
-
-      // form variable string
-      select_var();
-    }
-
-
-    $(document).ready(function(){
-
-      $("a").click(function(event){
-        alert("As you can see, the link no longer took you to jquery.com");
-        event.preventDefault();
-      });
-
-
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        // alert(durl);
-        window.location.assign(durl);
-      });
-
-
-      $("#timeSeries2D").click(function(event) {
-        // alert('****** inside timeSeries2D()!');
-        Response = null;
-
-        // no data to download yet
-        disable_download_button();
-
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-
-        // form url string
-        // var url = "http://cmacws.jpl.nasa.gov:9002/svc/timeSeries2D?";
-        var url = "http://" + window.location.hostname + ":9002/svc/timeSeries2D?";
-        // alert("url: " + url);
-
-        var d1 = $("#data").val();
-        var model1 = d1.replace("/", "_");
-
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-
-        // alert("arglist: " + arglist);
-
-        var v1 = $("#var").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(variable);
-
-        // alert("arglist: " + arglist);
-
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-
-        // alert("arglist: " + arglist);
-
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-
-        // alert("arglist: " + arglist);
-
-        arglist = arglist.concat("&scale=");
-        var y = document.getElementById("radioLin").checked;
-        // alert(y);
-        if (y == true)
-          arglist = arglist.concat('0');
-        else
-          arglist = arglist.concat('2');
-
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-
-        // url = url + encodeURIComponent(arglist);
-        url = url + encodeURI(arglist);
-        // url = url + arglist;
-        // alert("url: " + url);
-
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        // alert("urlTimeBounds: " + urlTimeBounds);
-
-
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert("text: " + text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                // $("#Response").html(text);
-
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                // alert("tb: " + tb);
-                // alert("bds: " + bds);
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                // alert("lowerT: " + lowerT);
-                // alert("upperT: " + upperT);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                // alert("t0: " + t0I);
-                // alert("t1: " + t1I);
-
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    // $("#Response").html("<span style='color:red'>" + text + "</span>");
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert(text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                $("#Response").html(text);
-
-                var html1 = "<img src='"+data.url+"' width='820'/>";
-                // alert(html1);
-                $("#Image").html(html1);
-
-                // post dataUrl to textarea and enable download button
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-      });
-
-    });
-    
-  </script>
-</head>
-<body>
-
-<p>
-
-<table border="1">
-
-<tr>
-<td colspan="4">
-<center>
-<b>Service: 2-D Variable Time Series</b><br><br>
-This service generates a graph of a 2-dimensional variable's time series with monthly averaged values. <br>
-Select a data source (model or observation), a variable name, a time range, and a spatial range below.<br><br>
-</center>
-</td>
-</tr>
-
-<tr>
-<td>data source:</td><td><select name="data", id="data" onchange="select_data()">
-<!-- <option>NASA/obs4MIPs</option>  -->
-<optgroup label="Observation">
-<option selected="NASA/MODIS">NASA/MODIS</option>
-<option>NASA/AMSRE</option>
-<option>NASA/TRMM</option>
-<option>NASA/GPCP</option>
-<option>NASA/QuikSCAT</option>
-<option>NASA/AVISO</option>
-<option>NASA/GRACE</option>
-<option>NOAA/NODC</option>
-<option>NASA/CERES</option>
-</optgroup>
-<optgroup label="Model: Historical">
-<option>CCCMA/CANESM2</option>
-<option>GFDL/ESM2G</option>
-<option>GISS/E2-H</option>
-<option>GISS/E2-R</option>
-<option>NCAR/CAM5</option>
-<option>NCC/NORESM</option>
-<option>UKMO/HadGEM2-ES</option>
-</optgroup>
-<optgroup label="Model: AMIP">
-<option>CCCMA/CANAM4</option>
-<option>CSIRO/MK3.6</option>
-<option>GFDL/CM3</option>
-<option>IPSL/CM5A-LR</option>
-<option>MIROC/MIROC5</option>
-<option>UKMO/HadGEM2-A</option>
-</optgroup>
-<optgroup label="Reanalysis">  
-<option>ECMWF/interim</option>  
-</optgroup>
-</select></td>
-
-<td>variable name:</td><td><select name="var", id="var" onchange="select_var()">
-<option>Precipitation Flux</option>
-<option>Total Cloud Fraction</option>
-<option>Surface Temperature</option>
-<option>Sea Surface Temperature</option>
-<option>Eastward Near-Surface Wind</option>
-<option>Northward Near-Surface Wind</option>
-<option>Near-Surface Wind Speed</option>
-<option>Sea Surface Height</option>
-<option>Leaf Area Index</option>
-<option>Equivalent Water Height Over Land</option>
-<option>Equivalent Water Height Over Ocean</option>
-<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-<option>Surface Downwelling Longwave Radiation</option>
-<option>Surface Downwelling Shortwave Radiation</option>
-<option>Surface Upwelling Longwave Radiation</option>
-<option>Surface Upwelling Shortwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-<option>TOA Incident Shortwave Radiation</option>
-<option>TOA Outgoing Longwave Radiation</option>
-<option>TOA Outgoing Shortwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-</select></td>
-</tr>
-
-<tr>
-<td>start year-month:</td><td><input id="t0" value="2004-01" alt="start"/></td>
-<td>end year-month:</td><td><input id="t1" value="2004-12" alt="end"/></td>
-</tr>
-
-
-<tr>
-<td>start lat (deg):</td><td><input id="lat0" value="-90"/></td>
-<td>end lat (deg):</td><td><input id="lat1" value="90"/></td>
-</tr>
-
-<tr>
-<td>start lon (deg):</td><td><input id="lon0" value="0"/></td>
-<td>end lon (deg):</td><td><input id="lon1" value="360"/></td>
-</tr>
-
-<tr>
-<td colspan="1">
-variable scale:
-</td>
-<td colspan="3">
-<form> <input type="radio" name="scale1" value="linear" id="radioLin" checked>linear
-<input type="radio" name="scale1" value="logarithmic" id="radioLog">logarithmic
-</form>
-</td>
-</tr>
-
-<tr>
-<td colspan="1">
-Execution purpose
-</td>
-<td colspan="3">
-<form>
-<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-</form>
-</td>
-</tr>
-
-<tr>
-<td colspan="2" align="center"><input id="timeSeries2D" type="submit" value="            Get  Plot            " style="height:28px"/></td>
-<form>
-<td colspan="2" align="center"><input id="download_data" type="button" value="Download Data" style="height:28px"/>
-</td>
-</form>
-</tr>
-
-<tr>
-<td colspan="4">
-<div id="Image">Image Here</div>
-</td>
-</tr>
-
-<tr>
-<td colspan="4" align="center">
-<textarea readonly id="data_url" cols="89" rows="2">Data URL Here</textarea>
-</td>
-</tr>
-<tr>  
-<td colspan="4" align="center">  
-<textarea readonly id="Response" cols="89" rows="6">Service Response Text Here</textarea>  
-</td>  
-</tr>  
-
-</p>
-</table>
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/twoDimZonalMean.html
----------------------------------------------------------------------
diff --git a/public/html/twoDimZonalMean.html b/public/html/twoDimZonalMean.html
deleted file mode 100644
index 569f5a1..0000000
--- a/public/html/twoDimZonalMean.html
+++ /dev/null
@@ -1,1005 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> -->
-  <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-  <script type="text/javascript" src="js/jquery.flot.min.js"></script>
-  <script type="text/javascript" src="js/json2.js"></script>
-  <script type="text/javascript" src="js/xmisc.js"></script>
-  <script type="text/javascript">
-
-    var Response = null;
-    var variable = "";
-
-    // called on load or reload
-    window.onload = function() {
-      select_all_months();
-      select_data();
-      select_var();
-      // no data to download yet
-      disable_download_button();
-    }
-
-    // disable download data button
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=true;
-    }
-
-    // enable download data button
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-
-    // select all months in the checkboxes
-    function select_all_months()
-    {
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-        document.getElementById('Dec').checked = true;
-    }
-
-    // see if no month is selected
-    function no_month_check()
-    {
-        if (document.getElementById('Jan').checked == false &&
-           document.getElementById('Feb').checked == false &&
-           document.getElementById('Mar').checked == false &&
-           document.getElementById('Apr').checked == false &&
-           document.getElementById('May').checked == false &&
-           document.getElementById('Jun').checked == false &&
-           document.getElementById('Jul').checked == false &&
-           document.getElementById('Aug').checked == false &&
-           document.getElementById('Sep').checked == false &&
-           document.getElementById('Oct').checked == false &&
-           document.getElementById('Nov').checked == false &&
-           document.getElementById('Dec').checked == false) {
-           // alert("No month check!");
-           return true;
-          }
-        else
-           return false;
-    }
-
-    // unselect all months in the checkboxes
-    function reset_months()
-    {
-        document.getElementById('Jan').checked = false;
-        document.getElementById('Feb').checked = false;
-        document.getElementById('Mar').checked = false;
-        document.getElementById('Apr').checked = false;
-        document.getElementById('May').checked = false;
-        document.getElementById('Jun').checked = false;
-        document.getElementById('Jul').checked = false;
-        document.getElementById('Aug').checked = false;
-        document.getElementById('Sep').checked = false;
-        document.getElementById('Oct').checked = false;
-        document.getElementById('Nov').checked = false;
-        document.getElementById('Dec').checked = false;
-    }
-
-    // enable all vars in dropdown menu
-    function reset_vars()
-    {
-      var x=document.getElementById("var");
-
-      x.options[0].disabled=false;
-      x.options[1].disabled=false;
-      x.options[2].disabled=false;
-      x.options[3].disabled=false;
-      x.options[4].disabled=false;
-      x.options[5].disabled=false;
-      x.options[6].disabled=false;
-      x.options[7].disabled=false;
-      x.options[8].disabled=false;
-      x.options[9].disabled=false;
-      x.options[10].disabled=false;
-      x.options[11].disabled=false;
-      x.options[12].disabled=false;
-      x.options[13].disabled=false;
-      x.options[14].disabled=false;
-      x.options[15].disabled=false;
-      x.options[16].disabled=false;
-      x.options[17].disabled=false;
-      x.options[18].disabled=false;
-      x.options[19].disabled=false;
-      x.options[20].disabled=false;
-      x.options[21].disabled=false;
-      x.options[22].disabled=false;
-      x.options[23].disabled=false;
-      x.options[24].disabled=false;
-    }
-
-    // form variable string based on "var" dropdown selection
-    function select_var()
-    {
-      var var_string = $("#var").val();
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      if (var_string == "Total Cloud Fraction")
-        variable = "clt";
-      else if (var_string == "Surface Temperature")
-        variable = "ts";
-      else if (var_string == "Sea Surface Temperature")
-        variable = "tos";
-      else if (var_string == "Precipitation Flux")
-        variable = "pr";
-      else if (var_string == "Eastward Near-Surface Wind")
-        variable = "uas";
-      else if (var_string == "Northward Near-Surface Wind")
-        variable = "vas";
-      else if (var_string == "Near-Surface Wind Speed")
-        variable = "sfcWind";
-      else if (var_string == "Sea Surface Height")
-        variable = "zos";
-      else if (var_string == "Leaf Area Index")
-        variable = "lai";
-      else if (var_string == "Equivalent Water Height Over Land")
-        variable = "zl";
-      else if (var_string == "Equivalent Water Height Over Ocean")
-        variable = "zo";
-      else if (var_string == "Ocean Heat Content Anomaly within 700 m Depth")
-        variable = "ohc700";
-      else if (var_string == "Ocean Heat Content Anomaly within 2000 m Depth")
-        variable = "ohc2000";
-      else if (var_string == "Surface Downwelling Longwave Radiation")
-        variable = "rlds";
-      else if (var_string == "Surface Downwelling Shortwave Radiation")
-        variable = "rsds";
-      else if (var_string == "Surface Upwelling Longwave Radiation")
-        variable = "rlus";
-      else if (var_string == "Surface Upwelling Shortwave Radiation")
-        variable = "rsus";
-      else if (var_string == "Surface Downwelling Clear-Sky Longwave Radiation")
-        variable = "rldscs";
-      else if (var_string == "Surface Downwelling Clear-Sky Shortwave Radiation")
-        variable = "rsdscs";
-      else if (var_string == "Surface Upwelling Clear-Sky Shortwave Radiation")
-        variable = "rsuscs";
-      else if (var_string == "TOA Incident Shortwave Radiation")
-        variable = "rsdt";
-      else if (var_string == "TOA Outgoing Clear-Sky Longwave Radiation")
-        variable = "rlutcs";
-      else if (var_string == "TOA Outgoing Longwave Radiation")
-        variable = "rlut";
-      else if (var_string == "TOA Outgoing Clear-Sky Shortwave Radiation")
-        variable = "rsutcs";
-      else if (var_string == "TOA Outgoing Shortwave Radiation")
-        variable = "rsut";
-
-      // alert("variable: " + variable)
-    }
-
-    // set up "var" dropdown based status of "data" dropdown
-    function select_data()
-    {
-      var data_string = $("#data").val();
-      var x=document.getElementById("var");
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      // enable all options in "var" dropdown first
-      reset_vars();
-
-      // alert(data_string);
-
-      // disable corresponding "var" options
-
-      if (data_string == "NASA/AMSRE") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[3].selected=true;
-      }
-      else if (data_string == "NASA/MODIS") {
-        x.options[0].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[1].selected=true;
-        //x.options[8].selected=true;
-      }
-      else if (data_string == "NASA/TRMM") {
-        x.options[0].selected=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-      }
-      else if (data_string == "NASA/GPCP") {
-        x.options[0].selected=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-      }
-      else if (data_string == "NASA/QuikSCAT") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[4].selected=true;
-        //x.options[5].selected=true;
-        //x.options[6].selected=true;
-      }
-      else if (data_string == "NASA/AVISO") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[7].selected=true;
-      }
-      else if (data_string == "NASA/GRACE") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[9].selected=true;
-        //x.options[10].selected=true;
-      }
-      else if (data_string == "NOAA/NODC") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[11].selected=true;
-        //x.options[12].selected=true;
-      }
-      else if (data_string == "NASA/CERES") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-
-        x.options[13].selected=true;
-      }
-      else if (data_string == "ECMWF/interim") {
-
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-
-        x.options[3].selected=true;
-      }
-      // for all other models
-      else {
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-
-        x.options[0].selected=true;
-      }
-
-
- // form variable string
-      select_var();
-    }
-
-    // select checkboxes based on "months" dropdown
-    function select_months()
-    {
-      var s1=document.getElementById("months");
-      // alert(s1.selectedIndex);
-      // alert(s1.options[s1.selectedIndex].value);
-
-      // disable the download button because of this change
-      disable_download_button();
-
-      // "select none"
-      if (s1.selectedIndex == 1) {
-        reset_months();
-      }
-      // "select all"
-      if (s1.selectedIndex == 0) {
-        select_all_months();
-      }
-      // "summer"
-      if (s1.selectedIndex == 2) {
-        reset_months();
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-      }
-      // "autumn"
-      if (s1.selectedIndex == 3) {
-        reset_months();
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-      }
-      // "winter"
-      if (s1.selectedIndex == 4) {
-        reset_months();
-        document.getElementById('Dec').checked = true;
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-      }
-      // "spring"
-      if (s1.selectedIndex == 5) {
-        reset_months();
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-      }
-        
-    }
-
-    $(document).ready(function(){
-
-      $("a").click(function(event){
-        alert("As you can see, the link no longer took you to jquery.com");
-        event.preventDefault();
-      });
-
-
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        // alert(durl);
-        window.location.assign(durl);
-      });
-
-
-      $("#twodvarzonalmean").click(function(event) {
-	Response = null;
-
-        // no data to download yet
-        disable_download_button();
-
-        // flag error if no month box is checked
-        if (no_month_check()) {
-           // $("#Response").html("<span style='color:red'>Error: please check at least one month.</span>");
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        }
-
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-
-        // sample url: http://cmacws.jpl.nasa.gov:9002/svc/twoDimZonalMean?model=ukmo_hadgem2-a&var=ts&start_time=199001&end_time=199512&lat1=-29&lat2=29&months=1,2,4,5,6,10,12
-
-        // form url string
-        // var url = "http://cmacws.jpl.nasa.gov:9002/svc/twoDimZonalMean?";
-        var url = "http://" + window.location.hostname + ":9002/svc/twoDimZonalMean?";
-        // alert(url);
-
-        var d1 = $("#data").val();
-        var model1 = d1.replace("/", "_");
-
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-
-        var v1 = $("#var").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(variable);
-
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-
-        var s1 = document.getElementById('months');
-
-        // get months checked by client
-        var month_str = "";
-
-        var mm = document.getElementById('Jan');
-        if (mm.checked == true)
-          month_str = month_str.concat(",1");
-
-        var mm = document.getElementById('Feb');
-        if (mm.checked == true)
-          month_str = month_str.concat(",2");
-
-        var mm = document.getElementById('Mar');
-        if (mm.checked == true)
-          month_str = month_str.concat(",3");
-
-        var mm = document.getElementById('Apr');
-        if (mm.checked == true)
-          month_str = month_str.concat(",4");
-
-        var mm = document.getElementById('May');
-        if (mm.checked == true)
-          month_str = month_str.concat(",5");
-
-        var mm = document.getElementById('Jun');
-        if (mm.checked == true)
-          month_str = month_str.concat(",6");
-
-        var mm = document.getElementById('Jul');
-        if (mm.checked == true)
-          month_str = month_str.concat(",7");
-
-        var mm = document.getElementById('Aug');
-        if (mm.checked == true)
-          month_str = month_str.concat(",8");
-
-        var mm = document.getElementById('Sep');
-        if (mm.checked == true)
-          month_str = month_str.concat(",9");
-
-        var mm = document.getElementById('Oct');
-        if (mm.checked == true)
-          month_str = month_str.concat(",10");
-
-        var mm = document.getElementById('Nov');
-        if (mm.checked == true)
-          month_str = month_str.concat(",11");
-
-        var mm = document.getElementById('Dec');
-        if (mm.checked == true)
-          month_str = month_str.concat(",12");
-
-        // remove the leading ','
-        month_str = month_str.substr(1);
-        // alert(month_str);
-
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-        // alert("arglist: " + arglist);
-
-        arglist = arglist.concat("&scale=");
-        var y = document.getElementById("radioLin").checked;
-        // alert(y);
-        if (y == true)
-          arglist = arglist.concat('0');
-        else
-          arglist = arglist.concat('2');
-
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-
-        // url = url + encodeURIComponent(arglist);
-        url = url + encodeURI(arglist);
-        // url = url + arglist;
-        // alert("url: " + url);
-
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        // alert("urlTimeBounds: " + urlTimeBounds);
-
-
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert("text: " + text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                // $("#Response").html(text);
-
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                // alert("tb: " + tb);
-                // alert("bds: " + bds);
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                // alert("lowerT: " + lowerT);
-                // alert("upperT: " + upperT);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                // alert("t0: " + t0I);
-                // alert("t1: " + t1I);
-
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                // alert("data: " + data);
-                if (data.success == false) {
-                    // alert(data.error);
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    // $("#Response").html("<span style='color:red'>" + text + "</span>");
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                // alert(text);
-                // $("#Response").html("<pre>"+text+"</pre>");
-                $("#Response").html(text);
-
-                var html1 = "<img src='"+data.url+"' width='680'/>";
-                // alert(html1);
-                $("#Image").html(html1);
-
-                // post dataUrl to textarea and enable download button
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-                $("#data_url").html("error!");
-                // alert("xhr.status: "+xhr.status);
-                // alert("error status: "+textStatus);
-            },
-            complete: function(xhr, textStatus) {
-                //alert("complete status: "+textStatus);
-            }
-        });
-
-      });
-
-
-    });
-    
-  </script>
-</head>
-<body>
-
-<p>
-
-<table border="1">
-
-<tr>
-<td colspan="4">
-<center>
-<b>Service: 2-D Variable Zonal Mean</b> <br><br>
-This service generates a graph of a 2-dimensional variable's zonal mean with time averaing. <br>
-Select a data source (model or observation), a variable name, and a time range below.<br><br>
-</center>
-</td>
-</tr>
-
-<tr>
-<td>data source:</td><td><select name="data", id="data" onchange="select_data()">
-<!-- <option>NASA/obs4MIPs</option>  -->
-<optgroup label="Observation">
-<option selected="NASA/MODIS">NASA/MODIS</option>
-<option>NASA/AMSRE</option>
-<option>NASA/TRMM</option>
-<option>NASA/GPCP</option>
-<option>NASA/QuikSCAT</option>
-<option>NASA/AVISO</option>
-<option>NASA/GRACE</option>
-<option>NOAA/NODC</option>
-<option>NASA/CERES</option>
-</optgroup>
-<optgroup label="Model: Historical">
-<option>CCCMA/CANESM2</option>
-<option>GFDL/ESM2G</option>
-<option>GISS/E2-H</option>
-<option>GISS/E2-R</option>
-<option>NCAR/CAM5</option>
-<option>NCC/NORESM</option>
-<option>UKMO/HadGEM2-ES</option>
-</optgroup>
-<optgroup label="Model: AMIP">
-<option>CCCMA/CANAM4</option>
-<option>CSIRO/MK3.6</option>
-<option>GFDL/CM3</option>
-<option>IPSL/CM5A-LR</option>
-<option>MIROC/MIROC5</option>
-<option>UKMO/HadGEM2-A</option>
-</optgroup>
-<optgroup label="Reanalysis">
-<option>ECMWF/interim</option>
-</optgroup>
-</select></td>
-
-<td>variable name:</td><td><select name="var", id="var" onchange="select_var()">
-<option>Precipitation Flux</option>
-<option>Total Cloud Fraction</option>
-<option>Surface Temperature</option>
-<option>Sea Surface Temperature</option>
-<option>Eastward Near-Surface Wind</option>
-<option>Northward Near-Surface Wind</option>
-<option>Near-Surface Wind Speed</option>
-<option>Sea Surface Height</option>
-<option>Leaf Area Index</option>
-<option>Equivalent Water Height Over Land</option>
-<option>Equivalent Water Height Over Ocean</option>
-<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-<option>Surface Downwelling Longwave Radiation</option>
-<option>Surface Downwelling Shortwave Radiation</option>
-<option>Surface Upwelling Longwave Radiation</option>
-<option>Surface Upwelling Shortwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-<option>TOA Incident Shortwave Radiation</option>
-<option>TOA Outgoing Longwave Radiation</option>
-<option>TOA Outgoing Shortwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-</select></td>
-</tr>
-
-<tr>
-<td>start year-month:</td><td><input id="t0" value="2004-01" alt="start"/></td>
-<td>end year-month:</td><td><input id="t1" value="2004-12" alt="end"/></td>
-</tr>
-
-<tr>
-<td>select months:</td>
-<td><select name="months" id="months" onchange="select_months()">
-<option id="all">select all</option>
-<option id="none">select none</option>
-<option id="summer">Summer:Jun-Jul-Aug</option>
-<option id="autum">Autumn:Sep-Oct-Nov</option>
-<option id="winter">Winter:Dec-Jan-Feb</option>
-<option id="spring">Spring:Mar-Apr-May</option> </select>
-</td>
-<td>
-</td>
-<td>
-</tr>
-
-<tr>
-<td>
-<label><input type="checkbox" name="option1" id="Jan" value="Jan" /> Jan<br></label>
-<label><input type="checkbox" name="option1" id="Feb" value="Feb" /> Feb<br></label>
-<label><input type="checkbox" name="option1" id="Mar" value="Mar" /> Mar<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Apr" value="Apr" /> Apr<br></label>
-<label><input type="checkbox" name="option1" id="May" value="May" /> May<br></label>
-<label><input type="checkbox" name="option1" id="Jun" value="Jun" /> Jun<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Jul" value="Jul" /> Jul<br></label>
-<label><input type="checkbox" name="option1" id="Aug" value="Aug" /> Aug<br></label>
-<label><input type="checkbox" name="option1" id="Sep" value="Sep" /> Sep<br></label>
-</td>
-<td>
-<label><input type="checkbox" name="option1" id="Oct" value="Oct" /> Oct<br></label>
-<label><input type="checkbox" name="option1" id="Nov" value="Nov" /> Nov<br></label>
-<label><input type="checkbox" name="option1" id="Dec" value="Dec" /> Dec<br></label>
-</td>
-</tr>
-
-<tr>
-<td>start lat (deg):</td><td><input id="lat0" value="-90"/></td>
-<td>end lat (deg):</td><td><input id="lat1" value="90"/></td>
-</tr>
-
-<tr>               
-<td colspan="1">   
-variable scale:       
-</td>              
-<td colspan="3">   
-<form> <input type="radio" name="scale1" value="linear" id="radioLin" checked>linear
-<input type="radio" name="scale1" value="logarithmic" id="radioLog">logarithmic
-</form>        
-</td>          
-</tr> 
-
-<tr>
-<td colspan="1">
-Execution purpose
-</td>
-<td colspan="3">
-<form>
-<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-</form>
-</td>
-</tr>
-
-<tr>
-<td colspan="2" align="center"><input id="twodvarzonalmean" type="submit" value="            Get  Plot            " style="height:28px"/></td>
-<form>
-<td colspan="2" align="center"><input id="download_data" type="button" value="Download Data" style="height:28px"/>
-</td>
-</form>
-
-</tr>
-
-<tr>
-<td colspan="4">
-<div id="Image">Image Here</div>
-</td>
-</tr>
-<tr>
-<td colspan="4" align="center">
-<textarea readonly id="data_url" cols="89" rows="2">Data URL Here</textarea>
-</td>
-</tr>
-<tr>
-<td colspan="4" align="center">
-<textarea readonly id="Response" cols="89" rows="6">Service Response Text Here</textarea>
-</td>
-</tr>
-</p>
-
-</table>
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/2DMap.png
----------------------------------------------------------------------
diff --git a/public/images/2DMap.png b/public/images/2DMap.png
deleted file mode 100644
index 3024a3a..0000000
Binary files a/public/images/2DMap.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/2DMean.png
----------------------------------------------------------------------
diff --git a/public/images/2DMean.png b/public/images/2DMean.png
deleted file mode 100644
index cb3c746..0000000
Binary files a/public/images/2DMean.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/3DAverageVertical.png
----------------------------------------------------------------------
diff --git a/public/images/3DAverageVertical.png b/public/images/3DAverageVertical.png
deleted file mode 100644
index efd28dd..0000000
Binary files a/public/images/3DAverageVertical.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/3DVerticalProfile.jpeg
----------------------------------------------------------------------
diff --git a/public/images/3DVerticalProfile.jpeg b/public/images/3DVerticalProfile.jpeg
deleted file mode 100644
index 9e87edc..0000000
Binary files a/public/images/3DVerticalProfile.jpeg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ConditionalSampling1Variable.jpeg
----------------------------------------------------------------------
diff --git a/public/images/ConditionalSampling1Variable.jpeg b/public/images/ConditionalSampling1Variable.jpeg
deleted file mode 100644
index 8345dc0..0000000
Binary files a/public/images/ConditionalSampling1Variable.jpeg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/DifferencePlot.png
----------------------------------------------------------------------
diff --git a/public/images/DifferencePlot.png b/public/images/DifferencePlot.png
deleted file mode 100644
index a922f86..0000000
Binary files a/public/images/DifferencePlot.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/JPL_Cover.jpg
----------------------------------------------------------------------
diff --git a/public/images/JPL_Cover.jpg b/public/images/JPL_Cover.jpg
deleted file mode 100644
index eaf4522..0000000
Binary files a/public/images/JPL_Cover.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/NASA_JPL_logo.png
----------------------------------------------------------------------
diff --git a/public/images/NASA_JPL_logo.png b/public/images/NASA_JPL_logo.png
deleted file mode 100644
index a41cd45..0000000
Binary files a/public/images/NASA_JPL_logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/NASA_logo.png
----------------------------------------------------------------------
diff --git a/public/images/NASA_logo.png b/public/images/NASA_logo.png
deleted file mode 100644
index 314b76d..0000000
Binary files a/public/images/NASA_logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/NASA_logo_backup.png
----------------------------------------------------------------------
diff --git a/public/images/NASA_logo_backup.png b/public/images/NASA_logo_backup.png
deleted file mode 100644
index 314b76d..0000000
Binary files a/public/images/NASA_logo_backup.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ScatterPlot.png
----------------------------------------------------------------------
diff --git a/public/images/ScatterPlot.png b/public/images/ScatterPlot.png
deleted file mode 100644
index f56df26..0000000
Binary files a/public/images/ScatterPlot.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ThreeDTwoDSlice.png
----------------------------------------------------------------------
diff --git a/public/images/ThreeDTwoDSlice.png b/public/images/ThreeDTwoDSlice.png
deleted file mode 100644
index 35be615..0000000
Binary files a/public/images/ThreeDTwoDSlice.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/TimeSeriesPlot.jpeg
----------------------------------------------------------------------
diff --git a/public/images/TimeSeriesPlot.jpeg b/public/images/TimeSeriesPlot.jpeg
deleted file mode 100644
index 60e809a..0000000
Binary files a/public/images/TimeSeriesPlot.jpeg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/animated-overlay.gif
----------------------------------------------------------------------
diff --git a/public/images/animated-overlay.gif b/public/images/animated-overlay.gif
deleted file mode 100644
index d441f75..0000000
Binary files a/public/images/animated-overlay.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/bug.png
----------------------------------------------------------------------
diff --git a/public/images/bug.png b/public/images/bug.png
deleted file mode 100644
index 9a4363a..0000000
Binary files a/public/images/bug.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/conditionalSampling2Var.jpeg
----------------------------------------------------------------------
diff --git a/public/images/conditionalSampling2Var.jpeg b/public/images/conditionalSampling2Var.jpeg
deleted file mode 100644
index 95f5317..0000000
Binary files a/public/images/conditionalSampling2Var.jpeg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/conditionalSampling2Variables.jpeg
----------------------------------------------------------------------
diff --git a/public/images/conditionalSampling2Variables.jpeg b/public/images/conditionalSampling2Variables.jpeg
deleted file mode 100644
index bb26fe5..0000000
Binary files a/public/images/conditionalSampling2Variables.jpeg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/correlationMap.png
----------------------------------------------------------------------
diff --git a/public/images/correlationMap.png b/public/images/correlationMap.png
deleted file mode 100644
index 15bf148..0000000
Binary files a/public/images/correlationMap.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/embed/icons/cancel_search.png
----------------------------------------------------------------------
diff --git a/public/images/embed/icons/cancel_search.png b/public/images/embed/icons/cancel_search.png
deleted file mode 100644
index 967bf53..0000000
Binary files a/public/images/embed/icons/cancel_search.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/embed/icons/search_glyph.png
----------------------------------------------------------------------
diff --git a/public/images/embed/icons/search_glyph.png b/public/images/embed/icons/search_glyph.png
deleted file mode 100644
index 017a6d0..0000000
Binary files a/public/images/embed/icons/search_glyph.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/favicon.png
----------------------------------------------------------------------
diff --git a/public/images/favicon.png b/public/images/favicon.png
deleted file mode 100644
index fab5d28..0000000
Binary files a/public/images/favicon.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/github.png
----------------------------------------------------------------------
diff --git a/public/images/github.png b/public/images/github.png
deleted file mode 100644
index f41abc9..0000000
Binary files a/public/images/github.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/logo.png
----------------------------------------------------------------------
diff --git a/public/images/logo.png b/public/images/logo.png
deleted file mode 100644
index 5f6bcef..0000000
Binary files a/public/images/logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/main.jpg
----------------------------------------------------------------------
diff --git a/public/images/main.jpg b/public/images/main.jpg
deleted file mode 100644
index 3d8ed0c..0000000
Binary files a/public/images/main.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/question.jpeg
----------------------------------------------------------------------
diff --git a/public/images/question.jpeg b/public/images/question.jpeg
deleted file mode 100644
index 891bed4..0000000
Binary files a/public/images/question.jpeg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/regrid.jpg
----------------------------------------------------------------------
diff --git a/public/images/regrid.jpg b/public/images/regrid.jpg
deleted file mode 100644
index 3a7e950..0000000
Binary files a/public/images/regrid.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/service.jpeg
----------------------------------------------------------------------
diff --git a/public/images/service.jpeg b/public/images/service.jpeg
deleted file mode 100644
index a405673..0000000
Binary files a/public/images/service.jpeg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-bg_diagonals-thick_18_b81900_40x40.png
----------------------------------------------------------------------
diff --git a/public/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/public/images/ui-bg_diagonals-thick_18_b81900_40x40.png
deleted file mode 100644
index 4e691de..0000000
Binary files a/public/images/ui-bg_diagonals-thick_18_b81900_40x40.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-bg_diagonals-thick_20_666666_40x40.png
----------------------------------------------------------------------
diff --git a/public/images/ui-bg_diagonals-thick_20_666666_40x40.png b/public/images/ui-bg_diagonals-thick_20_666666_40x40.png
deleted file mode 100644
index 7bc8a92..0000000
Binary files a/public/images/ui-bg_diagonals-thick_20_666666_40x40.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-bg_flat_10_000000_40x100.png
----------------------------------------------------------------------
diff --git a/public/images/ui-bg_flat_10_000000_40x100.png b/public/images/ui-bg_flat_10_000000_40x100.png
deleted file mode 100644
index c5d10e6..0000000
Binary files a/public/images/ui-bg_flat_10_000000_40x100.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-bg_glass_100_f6f6f6_1x400.png
----------------------------------------------------------------------
diff --git a/public/images/ui-bg_glass_100_f6f6f6_1x400.png b/public/images/ui-bg_glass_100_f6f6f6_1x400.png
deleted file mode 100644
index ae8f555..0000000
Binary files a/public/images/ui-bg_glass_100_f6f6f6_1x400.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-bg_glass_100_fdf5ce_1x400.png
----------------------------------------------------------------------
diff --git a/public/images/ui-bg_glass_100_fdf5ce_1x400.png b/public/images/ui-bg_glass_100_fdf5ce_1x400.png
deleted file mode 100644
index c2c5706..0000000
Binary files a/public/images/ui-bg_glass_100_fdf5ce_1x400.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-bg_glass_65_ffffff_1x400.png
----------------------------------------------------------------------
diff --git a/public/images/ui-bg_glass_65_ffffff_1x400.png b/public/images/ui-bg_glass_65_ffffff_1x400.png
deleted file mode 100644
index b559b14..0000000
Binary files a/public/images/ui-bg_glass_65_ffffff_1x400.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-bg_gloss-wave_35_f6a828_500x100.png
----------------------------------------------------------------------
diff --git a/public/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/public/images/ui-bg_gloss-wave_35_f6a828_500x100.png
deleted file mode 100644
index f8b3d68..0000000
Binary files a/public/images/ui-bg_gloss-wave_35_f6a828_500x100.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
----------------------------------------------------------------------
diff --git a/public/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/public/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
deleted file mode 100644
index c121135..0000000
Binary files a/public/images/ui-bg_highlight-soft_100_eeeeee_1x100.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
----------------------------------------------------------------------
diff --git a/public/images/ui-bg_highlight-soft_75_ffe45c_1x100.png b/public/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
deleted file mode 100644
index 9c7d2f6..0000000
Binary files a/public/images/ui-bg_highlight-soft_75_ffe45c_1x100.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-icons_222222_256x240.png
----------------------------------------------------------------------
diff --git a/public/images/ui-icons_222222_256x240.png b/public/images/ui-icons_222222_256x240.png
deleted file mode 100644
index 1106eef..0000000
Binary files a/public/images/ui-icons_222222_256x240.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-icons_228ef1_256x240.png
----------------------------------------------------------------------
diff --git a/public/images/ui-icons_228ef1_256x240.png b/public/images/ui-icons_228ef1_256x240.png
deleted file mode 100644
index 8c64a89..0000000
Binary files a/public/images/ui-icons_228ef1_256x240.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-icons_ef8c08_256x240.png
----------------------------------------------------------------------
diff --git a/public/images/ui-icons_ef8c08_256x240.png b/public/images/ui-icons_ef8c08_256x240.png
deleted file mode 100644
index 760f14a..0000000
Binary files a/public/images/ui-icons_ef8c08_256x240.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-icons_ffd27a_256x240.png
----------------------------------------------------------------------
diff --git a/public/images/ui-icons_ffd27a_256x240.png b/public/images/ui-icons_ffd27a_256x240.png
deleted file mode 100644
index 21fd40e..0000000
Binary files a/public/images/ui-icons_ffd27a_256x240.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/images/ui-icons_ffffff_256x240.png
----------------------------------------------------------------------
diff --git a/public/images/ui-icons_ffffff_256x240.png b/public/images/ui-icons_ffffff_256x240.png
deleted file mode 100644
index 7cfcb5c..0000000
Binary files a/public/images/ui-icons_ffffff_256x240.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/img/clear.png
----------------------------------------------------------------------
diff --git a/public/img/clear.png b/public/img/clear.png
deleted file mode 100644
index 580b52a..0000000
Binary files a/public/img/clear.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/img/loading.gif
----------------------------------------------------------------------
diff --git a/public/img/loading.gif b/public/img/loading.gif
deleted file mode 100644
index 5b33f7e..0000000
Binary files a/public/img/loading.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/a.json
----------------------------------------------------------------------
diff --git a/public/javascripts/a.json b/public/javascripts/a.json
deleted file mode 100644
index 154ed45..0000000
--- a/public/javascripts/a.json
+++ /dev/null
@@ -1 +0,0 @@
-{"nodes": [{"caption": 123, "root": true, "id": 123}, {"caption": 19, "type": "service", "id": 19}, {"caption": 18, "type": "service", "id": 18}, {"caption": 20, "type": "service", "id": 20}, {"caption": 1597, "type": "service", "id": 1597}, {"caption": 21, "type": "service", "id": 21}, {"caption": 13, "type": "service", "id": 13}, {"caption": 12, "type": "service", "id": 12}, {"caption": 16, "type": "service", "id": 16}, {"caption": 1595, "type": "service", "id": 1595}], "edges": [{"source": 123, "dist": 1, "target": 21, "caption": "Use 1 times"}, {"source": 123, "dist": 32, "target": 19, "caption": "Use 32 times"}, {"source": 123, "dist": 33, "target": 20, "caption": "Use 33 times"}, {"source": 123, "dist": 45, "target": 18, "caption": "Use 45 times"}, {"source": 123, "dist": 29, "target": 1597, "caption": "Use 29 times"}, {"source": 123, "dist": 11, "target": 16, "caption": "Use 11 times"}, {"source": 123, "dist": 8, "target": 1595, "caption": "Use 8 times"}, {"source": 123, "dis
 t": 14, "target": 12, "caption": "Use 14 times"}, {"source": 123, "dist": 49, "target": 13, "caption": "Use 49 times"}]}
\ No newline at end of file


[35/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/twoDVariableMap.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/twoDVariableMap.scala.html b/app/views/climate/twoDVariableMap.scala.html
deleted file mode 100644
index 4721488..0000000
--- a/app/views/climate/twoDVariableMap.scala.html
+++ /dev/null
@@ -1,1068 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(parameters: metadata.TwoDVarMap) @import helper._
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-@scripts = {
-<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-<script type="text/javascript"
-	src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js"></script>
-<script type="
-	text/javascript"
-	src='@routes.Assets.at("javascripts/json2.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/xmisc.js")'></script>
-<script type="text/javascript">
-	var Response = null;
-    var variable = "";
-    window.onload = function() {
-      var z=document.getElementById("download_data");
-      z.disabled=false;
-      changeDataSource();
-      select_data();
-      changeVariableName();
-      select_var();
-      $('#t0').val($('#startYearMonth').text());
-      $('#t1').val($('#endYearMonth').text());
-      var selectMonths = $('#selectMonths').text();
-      $('#months option:contains('+selectMonths+')').prop({selected: true});
-      select_months();
-      select_monthsByPara();
-      $('#lat0').val($('#startLat').text());
-      $('#lat1').val($('#endLat').text());
-      $('#lon0').val($('#startLon').text());
-      $('#lon1').val($('#endLon').text());
-      var variableScale = $('#variableScale').text();
-      if(variableScale == "0") {
-        $('#radioLin').prop( "checked", true );
-        $('#radioLog').prop( "checked", false );
-      }
-      else {
-        $('#radioLin').prop( "checked", false );
-        $('#radioLog').prop( "checked", true );
-      }
-      $('#purpose').html($('#executionPurpose').text());
-      var imageUrl = $('#image').text();
-      $('#Image').html('<img src="'+imageUrl+'" width=680 />');
-      $('#data_url').html($('#dataURL').text());
-      $('#Response').html($('serviceResponseText').text());
-    }
-    function changeDataSource(){
-    	var dataSource = $('#dataSource').text();
-     	var x = document.getElementById("data");
-     	if(dataSource == "NASA_MODIS" ){
-     		x.options[0].selected=true;
-     	}
-     	else if(dataSource == "NASA_AMSRE" ){
-     		x.options[1].selected=true;
-     	}
-     	else if(dataSource == "NASA_TRMM" ){
-     		x.options[2].selected=true;
-     	}
-     	else if(dataSource == "NASA_GPCP" ){
-     		x.options[3].selected=true;
-     	}
-     	else if(dataSource == "NASA_QuikSCAT" ){
-     		x.options[4].selected=true;
-     	}
-     	else if(dataSource == "NASA_AVISO" ){
-     		x.options[5].selected=true;
-     	}
-     	else if(dataSource == "NASA_GRACE" ){
-     		x.options[6].selected=true;
-     	}
-     	else if(dataSource == "NOAA_NODC" ){
-     		x.options[7].selected=true;
-     	}
-     	else if(dataSource == "NASA_CERES" ){
-     		x.options[8].selected=true;
-     	}
-     	else if(dataSource == "CCCMA_CANESM2" ){
-     		x.options[9].selected=true;
-     	}
-     	else if(dataSource == "GFDL_ESM2G" ){
-     		x.options[10].selected=true;
-     	}
-     	else if(dataSource == "GISS_E2-H" ){
-     		x.options[11].selected=true;
-     	}
-     	else if(dataSource == "GISS_E2-R" ){
-     		x.options[12].selected=true;
-     	}
-     	else if(dataSource == "NCAR_CAM5" ){
-     		x.options[13].selected=true;
-     	}
-     	else if(dataSource == "NCC_NORESM" ){
-     		x.options[14].selected=true;
-     	}
-     	else if(dataSource == "UKMO_HadGEM2-ES" ){
-     		x.options[15].selected=true;
-     	}
-     	else if(dataSource == "CCCMA_CANAM4" ){
-     		x.options[16].selected=true;
-     	}
-     	else if(dataSource == "CSIRO_MK3.6" ){
-     		x.options[17].selected=true;
-     	}
-     	else if(dataSource == "GFDL_CM3" ){
-     		x.options[18].selected=true;
-     	}
-     	else if(dataSource == "IPSL_CM5A-LR" ){
-     		x.options[19].selected=true;
-     	}
-     	else if(dataSource == "MIROC_MIROC5" ){
-     		x.options[20].selected=true;
-     	}
-     	else if(dataSource == "UKMO_HADGEM2-A" ){
-     		x.options[21].selected=true;
-     	}
-     	else if(dataSource == "ECMWF_interim" ){
-     		x.options[22].selected=true;
-     	}
-    }
-    function changeVariableName(){
-    	var var_string = $('#variableName').text();
-     	var x=document.getElementById("var");
-     	if (var_string == "clt")
-     		x.options[1].selected=true;
-        else if (var_string == "ts")
-        	x.options[2].selected=true;
-        else if (var_string == "tos")
-        	x.options[3].selected=true;
-        else if (var_string == "pr")
-        	x.options[0].selected=true;
-        else if (var_string == "uas")
-        	x.options[4].selected=true;
-        else if (var_string == "vas")
-        	x.options[5].selected=true;
-        else if (var_string == "sfcWind")
-        	x.options[6].selected=true;
-        else if (var_string == "zos")
-        	x.options[7].selected=true;
-        else if (var_string == "lai")
-        	x.options[8].selected=true;
-        else if (var_string == "zl")
-        	x.options[9].selected=true;
-        else if (var_string == "zo")
-        	x.options[10].selected=true;
-        else if (var_string == "ohc700")
-        	x.options[11].selected=true;
-        else if (var_string == "ohc2000")
-        	x.options[12].selected=true;
-        else if (var_string == "rlds")
-        	x.options[13].selected=true;
-        else if (var_string == "rsds")
-        	x.options[14].selected=true;
-        else if (var_string == "rlus")
-        	x.options[15].selected=true;
-        else if (var_string == "rsus")
-        	x.options[16].selected=true;
-        else if (var_string == "rldscs")
-        	x.options[17].selected=true;
-        else if (var_string == "rsdscs")
-        	x.options[18].selected=true;
-        else if (var_string == "rsuscs")
-        	x.options[19].selected=true;
-        else if (var_string == "rsdt")
-        	x.options[20].selected=true;
-        else if (var_string == "rlutcs")
-        	x.options[21].selected=true;
-        else if (var_string == "rlut")
-        	x.options[22].selected=true;
-        else if (var_string == "rsutcs")
-        	x.options[23].selected=true;
-        else if (var_string == "rsut")
-        	x.options[24].selected=true;
-    }
-    function select_monthsByPara(){
-    	var monthsByPara = $('#monthsPara').text();
-    	if(monthsByPara.search("jan")>-1){
-    		document.getElementById('Jan').checked = true;
-    	}
-    	if(monthsByPara.search("feb")>-1){
-    		document.getElementById('Feb').checked = true;
-    	}
-    	if(monthsByPara.search("mar")>-1){
-    		document.getElementById('Mar').checked = true;
-    	}
-    	if(monthsByPara.search("apr")>-1){
-    		document.getElementById('Apr').checked = true;
-    	}
-    	if(monthsByPara.search("may")>-1){
-    		document.getElementById('May').checked = true;
-    	}
-    	if(monthsByPara.search("jun")>-1){
-    		document.getElementById('Jun').checked = true;
-    	}
-    	if(monthsByPara.search("jul")>-1){
-    		document.getElementById('Jul').checked = true;
-    	}
-    	if(monthsByPara.search("aug")>-1){
-    		document.getElementById('Aug').checked = true;
-    	}
-    	if(monthsByPara.search("sep")>-1){
-    		document.getElementById('Sep').checked = true;
-    	}
-    	if(monthsByPara.search("oct")>-1){
-    		document.getElementById('Oct').checked = true;
-    	}
-    	if(monthsByPara.search("nov")>-1){
-    		document.getElementById('Nov').checked = true;
-    	}
-    	if(monthsByPara.search("dec")>-1){
-    		document.getElementById('Dec').checked = true;
-    	}
-    }
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled = false;
-    }
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-    function select_all_months()
-    {
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-        document.getElementById('Dec').checked = true;
-    }
-    function no_month_check()
-    {
-        if (document.getElementById('Jan').checked == false &&
-           document.getElementById('Feb').checked == false &&
-           document.getElementById('Mar').checked == false &&
-           document.getElementById('Apr').checked == false &&
-           document.getElementById('May').checked == false &&
-           document.getElementById('Jun').checked == false &&
-           document.getElementById('Jul').checked == false &&
-           document.getElementById('Aug').checked == false &&
-           document.getElementById('Sep').checked == false &&
-           document.getElementById('Oct').checked == false &&
-           document.getElementById('Nov').checked == false &&
-           document.getElementById('Dec').checked == false) {
-           return true;
-          }
-        else
-           return false;
-    }
-    function reset_months()
-    {
-        document.getElementById('Jan').checked = false;
-        document.getElementById('Feb').checked = false;
-        document.getElementById('Mar').checked = false;
-        document.getElementById('Apr').checked = false;
-        document.getElementById('May').checked = false;
-        document.getElementById('Jun').checked = false;
-        document.getElementById('Jul').checked = false;
-        document.getElementById('Aug').checked = false;
-        document.getElementById('Sep').checked = false;
-        document.getElementById('Oct').checked = false;
-        document.getElementById('Nov').checked = false;
-        document.getElementById('Dec').checked = false;
-    }
-    function reset_vars()
-    {
-      var x=document.getElementById("var");
-      x.options[0].disabled=false;
-      x.options[1].disabled=false;
-      x.options[2].disabled=false;
-      x.options[3].disabled=false;
-      x.options[4].disabled=false;
-      x.options[5].disabled=false;
-      x.options[6].disabled=false;
-      x.options[7].disabled=false;
-      x.options[8].disabled=false;
-      x.options[9].disabled=false;
-      x.options[10].disabled=false;
-      x.options[11].disabled=false;
-      x.options[12].disabled=false;
-      x.options[13].disabled=false;
-      x.options[14].disabled=false;
-      x.options[15].disabled=false;
-      x.options[16].disabled=false;
-      x.options[17].disabled=false;
-      x.options[18].disabled=false;
-      x.options[19].disabled=false;
-      x.options[20].disabled=false;
-      x.options[21].disabled=false;
-      x.options[22].disabled=false;
-      x.options[23].disabled=false;
-      x.options[24].disabled=false;
-    }
-    function select_var()
-    {
-      var var_string = $("#var").val();
-      disable_download_button();
-      if (var_string == "Total Cloud Fraction")
-        variable = "clt";
-      else if (var_string == "Surface Temperature")
-        variable = "ts";
-      else if (var_string == "Sea Surface Temperature")
-        variable = "tos";
-      else if (var_string == "Precipitation Flux")
-        variable = "pr";
-      else if (var_string == "Eastward Near-Surface Wind")
-        variable = "uas";
-      else if (var_string == "Northward Near-Surface Wind")
-        variable = "vas";
-      else if (var_string == "Near-Surface Wind Speed")
-        variable = "sfcWind";
-      else if (var_string == "Sea Surface Height")
-        variable = "zos";
-      else if (var_string == "Leaf Area Index")
-        variable = "lai";
-      else if (var_string == "Equivalent Water Height Over Land")
-        variable = "zl";
-      else if (var_string == "Equivalent Water Height Over Ocean")
-        variable = "zo";
-      else if (var_string == "Ocean Heat Content Anomaly within 700 m Depth")
-        variable = "ohc700";
-      else if (var_string == "Ocean Heat Content Anomaly within 2000 m Depth")
-        variable = "ohc2000";
-      else if (var_string == "Surface Downwelling Longwave Radiation")
-        variable = "rlds";
-      else if (var_string == "Surface Downwelling Shortwave Radiation")
-        variable = "rsds";
-      else if (var_string == "Surface Upwelling Longwave Radiation")
-        variable = "rlus";
-      else if (var_string == "Surface Upwelling Shortwave Radiation")
-        variable = "rsus";
-      else if (var_string == "Surface Downwelling Clear-Sky Longwave Radiation")
-        variable = "rldscs";
-      else if (var_string == "Surface Downwelling Clear-Sky Shortwave Radiation")
-        variable = "rsdscs";
-      else if (var_string == "Surface Upwelling Clear-Sky Shortwave Radiation")
-        variable = "rsuscs";
-      else if (var_string == "TOA Incident Shortwave Radiation")
-        variable = "rsdt";
-      else if (var_string == "TOA Outgoing Clear-Sky Longwave Radiation")
-        variable = "rlutcs";
-      else if (var_string == "TOA Outgoing Longwave Radiation")
-        variable = "rlut";
-      else if (var_string == "TOA Outgoing Clear-Sky Shortwave Radiation")
-        variable = "rsutcs";
-      else if (var_string == "TOA Outgoing Shortwave Radiation")
-        variable = "rsut";
-    }
-    function select_data()
-    {
-      var data_string = $("#data").val();
-      var x=document.getElementById("var");
-      disable_download_button();
-      reset_vars();
-      if (data_string == "NASA/AMSRE") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[3].selected=true;
-      }
-      else if (data_string == "NASA/MODIS") {
-        x.options[0].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[1].selected=true;
-      }
-      else if (data_string == "NASA/TRMM") {
-        x.options[0].selected=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-      }
-      else if (data_string == "NASA/GPCP") {
-        x.options[0].selected=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-      }
-      else if (data_string == "NASA/QuikSCAT") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[4].selected=true;
-      }
-      else if (data_string == "NASA/AVISO") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[7].selected=true;
-      }
-      else if (data_string == "NASA/GRACE") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[9].selected=true;
-      }
-      else if (data_string == "NOAA/NODC") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[11].selected=true;
-      }
-      else if (data_string == "NASA/CERES") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].selected=true;
-      }
-      else if (data_string == "ECMWF/interim") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[3].selected=true;
-      }
-      else if (data_string == "CCCMA/CANAM4" || data_string == "CSIRO/MK3.6") {
-        x.options[3].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[0].selected=true;
-      }
-      else {
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[0].selected=true;
-      }
-      select_var();
-    }
-    function select_months()
-    {
-      var s1=document.getElementById("months");
-      disable_download_button();
-      if (s1.selectedIndex == 1) {
-        reset_months();
-      }
-      if (s1.selectedIndex == 0) {
-        select_all_months();
-      }
-      if (s1.selectedIndex == 2) {
-        reset_months();
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-      }
-      if (s1.selectedIndex == 3) {
-        reset_months();
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-      }
-      if (s1.selectedIndex == 4) {
-        reset_months();
-        document.getElementById('Dec').checked = true;
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-      }
-      if (s1.selectedIndex == 5) {
-        reset_months();
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-      }
-    }
-    $(document).ready(function(){
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        window.location.assign(durl);
-      });
-      $("#twodvarmap").click(function(event) {
-	Response = null;
-        disable_download_button();
-        if (no_month_check()) {
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        }
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-        var url = "http://" + window.location.hostname + ":9002/svc/twoDimMap?";
-        var d1 = $("#data").val();
-        var model1 = d1.replace("/", "_");
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-        var v1 = $("#var").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(variable);
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-        var s1 = document.getElementById('months');
-        var month_str = "";
-        var mm = document.getElementById('Jan');
-        if (mm.checked == true)
-          month_str = month_str.concat(",1");
-        var mm = document.getElementById('Feb');
-        if (mm.checked == true)
-          month_str = month_str.concat(",2");
-        var mm = document.getElementById('Mar');
-        if (mm.checked == true)
-          month_str = month_str.concat(",3");
-        var mm = document.getElementById('Apr');
-        if (mm.checked == true)
-          month_str = month_str.concat(",4");
-        var mm = document.getElementById('May');
-        if (mm.checked == true)
-          month_str = month_str.concat(",5");
-        var mm = document.getElementById('Jun');
-        if (mm.checked == true)
-          month_str = month_str.concat(",6");
-        var mm = document.getElementById('Jul');
-        if (mm.checked == true)
-          month_str = month_str.concat(",7");
-        var mm = document.getElementById('Aug');
-        if (mm.checked == true)
-          month_str = month_str.concat(",8");
-        var mm = document.getElementById('Sep');
-        if (mm.checked == true)
-          month_str = month_str.concat(",9");
-        var mm = document.getElementById('Oct');
-        if (mm.checked == true)
-          month_str = month_str.concat(",10");
-        var mm = document.getElementById('Nov');
-        if (mm.checked == true)
-          month_str = month_str.concat(",11");
-        var mm = document.getElementById('Dec');
-        if (mm.checked == true)
-          month_str = month_str.concat(",12");
-        month_str = month_str.substr(1);
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-        arglist = arglist.concat("&scale=");
-        var z = document.getElementById("radioLin").checked;
-        if (z == true)
-          arglist = arglist.concat('0');
-        else
-          arglist = arglist.concat('4');
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-        url = url + encodeURI(arglist);
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                $("#Response").html(text);
-                var html1 = "<img src='"+data.url+"' width='680'/>";
-                $("#Image").html(html1);
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-      });
-    });
-  </script>
-} @main("Service 12", scripts){ @flash_message()
-<p>
-<div id="dataSource" style="display: none;">@parameters.getDataSource()</div>
-<div id="variableName" style="display: none;">@parameters.getVariableName()</div>
-<div id="startYearMonth" style="display: none;">@parameters.getStartYearMonth()</div>
-<div id="endYearMonth" style="display: none;">@parameters.getEndYearMonth()</div>
-<div id="selectMonths" style="display: none;">@parameters.getSelectMonths()</div>
-<div id="monthsPara" style="display: none;">@parameters.getMonth()</div>
-<div id="startLat" style="display: none;">@parameters.getStartLat()</div>
-<div id="endLat" style="display: none;">@parameters.getEndLat()</div>
-<div id="startLon" style="display: none;">@parameters.getStartLon()</div>
-<div id="endLon" style="display: none;">@parameters.getEndLon()</div>
-<div id="variableScale" style="display: none;">@parameters.getVariableScale()</div>
-<div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div>
-<div id="image" style="display: none;">@parameters.getImage()</div>
-<div id="dataURL" style="display: none;">@parameters.getDataURL()</div>
-<div id="serviceResponseText" style="display: none;">@parameters.getServiceResponseText()</div>
-<table border="1" align="center">
-	<tr>
-		<td colspan="4">
-			<center>
-				<b>Service: 2-D Variable Map</b> <br> <br> This service
-				generates a map of a 2-dimensional variable with time averaging and
-				spatial subsetting. <br> Select a data source (model or
-				observation), a variable name, a time range, and a spatial range
-				(lat-lon box) below.<br>
-				<br>
-			</center>
-		</td>
-	</tr>
-	<tr>
-		<td>data source:</td>
-		<td><select name="data" , id="data" onchange="select_data()">
-				<optgroup label="Observation">
-					<option selected="NASA/MODIS">NASA/MODIS</option>
-					<option>NASA/AMSRE</option>
-					<option>NASA/TRMM</option>
-					<option>NASA/GPCP</option>
-					<option>NASA/QuikSCAT</option>
-					<option>NASA/AVISO</option>
-					<option>NASA/GRACE</option>
-					<option>NOAA/NODC</option>
-					<option>NASA/CERES</option>
-				</optgroup>
-				<optgroup label="Model: Historical">
-					<option>CCCMA/CANESM2</option>
-					<option>GFDL/ESM2G</option>
-					<option>GISS/E2-H</option>
-					<option>GISS/E2-R</option>
-					<option>NCAR/CAM5</option>
-					<option>NCC/NORESM</option>
-					<option>UKMO/HadGEM2-ES</option>
-				</optgroup>
-				<optgroup label="Model: AMIP">
-					<option>CCCMA/CANAM4</option>
-					<option>CSIRO/MK3.6</option>
-					<option>GFDL/CM3</option>
-					<option>IPSL/CM5A-LR</option>
-					<option>MIROC/MIROC5</option>
-					<option>UKMO/HadGEM2-A</option>
-				</optgroup>
-				<optgroup label="Reanalysis">
-					<option>ECMWF/interim</option>
-				</optgroup>
-		</select></td>
-		<td>variable name:</td>
-		<td><select name="var" , id="var" onchange="select_var()">
-				<option>Precipitation Flux</option>
-				<option>Total Cloud Fraction</option>
-				<option>Surface Temperature</option>
-				<option>Sea Surface Temperature</option>
-				<option>Eastward Near-Surface Wind</option>
-				<option>Northward Near-Surface Wind</option>
-				<option>Near-Surface Wind Speed</option>
-				<option>Sea Surface Height</option>
-				<option>Leaf Area Index</option>
-				<option>Equivalent Water Height Over Land</option>
-				<option>Equivalent Water Height Over Ocean</option>
-				<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-				<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-				<option>Surface Downwelling Longwave Radiation</option>
-				<option>Surface Downwelling Shortwave Radiation</option>
-				<option>Surface Upwelling Longwave Radiation</option>
-				<option>Surface Upwelling Shortwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-				<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-				<option>TOA Incident Shortwave Radiation</option>
-				<option>TOA Outgoing Longwave Radiation</option>
-				<option>TOA Outgoing Shortwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-		</select></td>
-	</tr>
-	<tr>
-		<td>start year-month:</td>
-		<td><input id="t0" value="2004-01" alt="start" /></td>
-		<td>end year-month:</td>
-		<td><input id="t1" value="2004-12" alt="end" /></td>
-	</tr>
-	<tr>
-		<td>select months:</td>
-		<td><select name="months" id="months" onchange="select_months()">
-				<option id="all">select all</option>
-				<option id="none">select none</option>
-				<option id="summer">Summer:Jun-Jul-Aug</option>
-				<option id="autum">Autumn:Sep-Oct-Nov</option>
-				<option id="winter">Winter:Dec-Jan-Feb</option>
-				<option id="spring">Spring:Mar-Apr-May</option>
-		</select></td>
-		<td></td>
-		<td>
-	</tr>
-	<tr>
-		<td><label><input type="checkbox" name="option1" id="Jan"
-				value="Jan" /> Jan<br></label> <label><input type="checkbox"
-				name="option1" id="Feb" value="Feb" /> Feb<br></label> <label><input
-				type="checkbox" name="option1" id="Mar" value="Mar" /> Mar<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Apr"
-				value="Apr" /> Apr<br></label> <label><input type="checkbox"
-				name="option1" id="May" value="May" /> May<br></label> <label><input
-				type="checkbox" name="option1" id="Jun" value="Jun" /> Jun<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Jul"
-				value="Jul" /> Jul<br></label> <label><input type="checkbox"
-				name="option1" id="Aug" value="Aug" /> Aug<br></label> <label><input
-				type="checkbox" name="option1" id="Sep" value="Sep" /> Sep<br></label>
-		</td>
-		<td><label><input type="checkbox" name="option1" id="Oct"
-				value="Oct" /> Oct<br></label> <label><input type="checkbox"
-				name="option1" id="Nov" value="Nov" /> Nov<br></label> <label><input
-				type="checkbox" name="option1" id="Dec" value="Dec" /> Dec<br></label>
-		</td>
-	</tr>
-	<tr>
-		<td>start lat (deg):</td>
-		<td><input id="lat0" value="-90" /></td>
-		<td>end lat (deg):</td>
-		<td><input id="lat1" value="90" /></td>
-	</tr>
-	<tr>
-		<td>start lon (deg):</td>
-		<td><input id="lon0" value="0" /></td>
-		<td>end lon (deg):</td>
-		<td><input id="lon1" value="360" /></td>
-	</tr>
-	<tr>
-		<td colspan="1">color scale:</td>
-		<td colspan="3">
-			<form>
-				<input type="radio" name="scale1" value="linear" id="radioLin"
-					checked>linear <input type="radio" name="scale1"
-					value="logarithmic" id="radioLog">logarithmic
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="1">Execution purpose</td>
-		<td colspan="3">
-			<form>
-				<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2" align="center"><input id="twodvarmap"
-			type="submit" value="            Run  Again            "
-			style="height: 28px" /></td>
-		<form>
-			<td colspan="2" align="center"><input id="download_data"
-				type="button" value="Download Data" style="height: 28px" /></td>
-		</form>
-	</tr>
-	<tr>
-		<td colspan="4">
-			<div id="Image">Image Here</div>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="data_url"
-				cols="89" rows="2">Data URL Here</textarea></td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="Response"
-				cols="89" rows="6">Service Response Text Here</textarea></td>
-	</tr>
-	</p>
-</table>
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/twoDVariableTimeSeries.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/twoDVariableTimeSeries.scala.html b/app/views/climate/twoDVariableTimeSeries.scala.html
deleted file mode 100644
index bf44feb..0000000
--- a/app/views/climate/twoDVariableTimeSeries.scala.html
+++ /dev/null
@@ -1,842 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(parameters: metadata.TwoDVarTimeSeries) @import helper._
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-@scripts = {
-<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-<script type="text/javascript"
-	src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js"></script>
-<script type="
-	text/javascript"
-	src='@routes.Assets.at("javascripts/json2.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/xmisc.js")'></script>
-<script type="text/javascript">
-	var Response = null;
-    var variable = "";
-        var method =  @parameters.getVariableScale;
-    window.onload = function() {
-      changeDataSource();
-      select_data();
-      changeVariableName();
-      select_var();
-      disable_download_button();
-    var variableScale = $('#variableScale').text();
-    if(variableScale == "0") {
-      $('#radioLin').prop( "checked", true );
-      $('#radioLog').prop( "checked", false );
-    }
-    else {
-      $('#radioLin').prop( "checked", false );
-      $('#radioLog').prop( "checked", true );
-    }
-    $('#purpose').html($('#executionPurpose').text());
-    var imageUrl = $('#image').text();
-    $('#Image').html('<img src="'+imageUrl+'" width=680 />');
-    $('#data_url').html($('#dataURL').text());
-    $('#Response').html($('serviceResponseText').text());
-    }
-    function changeDataSource(){
-    var dataSource = $('#dataSource').text();
-    var x = document.getElementById("data");
-    if(dataSource == "NASA_MODIS" ){
-    x.options[0].selected=true;
-    }
-    else if(dataSource == "NASA_AMSRE" ){
-    x.options[1].selected=true;
-    }
-    else if(dataSource == "NASA_TRMM" ){
-    x.options[2].selected=true;
-    }
-    else if(dataSource == "NASA_GPCP" ){
-    x.options[3].selected=true;
-    }
-    else if(dataSource == "NASA_QuikSCAT" ){
-    x.options[4].selected=true;
-    }
-    else if(dataSource == "NASA_AVISO" ){
-    x.options[5].selected=true;
-    }
-    else if(dataSource == "NASA_GRACE" ){
-    x.options[6].selected=true;
-    }
-    else if(dataSource == "NOAA_NODC" ){
-    x.options[7].selected=true;
-    }
-    else if(dataSource == "NASA_CERES" ){
-    x.options[8].selected=true;
-    }
-    else if(dataSource == "CCCMA_CANESM2" ){
-    x.options[9].selected=true;
-    }
-    else if(dataSource == "GFDL_ESM2G" ){
-    x.options[10].selected=true;
-    }
-    else if(dataSource == "GISS_E2-H" ){
-    x.options[11].selected=true;
-    }
-    else if(dataSource == "GISS_E2-R" ){
-    x.options[12].selected=true;
-    }
-    else if(dataSource == "NCAR_CAM5" ){
-    x.options[13].selected=true;
-    }
-    else if(dataSource == "NCC_NORESM" ){
-    x.options[14].selected=true;
-    }
-    else if(dataSource == "UKMO_HadGEM2-ES" ){
-    x.options[15].selected=true;
-    }
-    else if(dataSource == "CCCMA_CANAM4" ){
-    x.options[16].selected=true;
-    }
-    else if(dataSource == "CSIRO_MK3.6" ){
-    x.options[17].selected=true;
-    }
-    else if(dataSource == "GFDL_CM3" ){
-    x.options[18].selected=true;
-    }
-    else if(dataSource == "IPSL_CM5A-LR" ){
-    x.options[19].selected=true;
-    }
-    else if(dataSource == "MIROC_MIROC5" ){
-    x.options[20].selected=true;
-    }
-    else if(dataSource == "UKMO_HADGEM2-A" ){
-    x.options[21].selected=true;
-    }
-    else if(dataSource == "ECMWF_interim" ){
-    x.options[22].selected=true;
-    }
-    }
-    function changeVariableName(){
-    var var_string = $('#variableName').text();
-    var x=document.getElementById("var");
-    if (var_string == "clt")
-    x.options[1].selected=true;
-    else if (var_string == "ts")
-    x.options[2].selected=true;
-    else if (var_string == "tos")
-    x.options[3].selected=true;
-    else if (var_string == "pr")
-    x.options[0].selected=true;
-    else if (var_string == "uas")
-    x.options[4].selected=true;
-    else if (var_string == "vas")
-    x.options[5].selected=true;
-    else if (var_string == "sfcWind")
-    x.options[6].selected=true;
-    else if (var_string == "zos")
-    x.options[7].selected=true;
-    else if (var_string == "lai")
-    x.options[8].selected=true;
-    else if (var_string == "zl")
-    x.options[9].selected=true;
-    else if (var_string == "zo")
-    x.options[10].selected=true;
-    else if (var_string == "ohc700")
-    x.options[11].selected=true;
-    else if (var_string == "ohc2000")
-    x.options[12].selected=true;
-    else if (var_string == "rlds")
-    x.options[13].selected=true;
-    else if (var_string == "rsds")
-    x.options[14].selected=true;
-    else if (var_string == "rlus")
-    x.options[15].selected=true;
-    else if (var_string == "rsus")
-    x.options[16].selected=true;
-    else if (var_string == "rldscs")
-    x.options[17].selected=true;
-    else if (var_string == "rsdscs")
-    x.options[18].selected=true;
-    else if (var_string == "rsuscs")
-    x.options[19].selected=true;
-    else if (var_string == "rsdt")
-    x.options[20].selected=true;
-    else if (var_string == "rlutcs")
-    x.options[21].selected=true;
-    else if (var_string == "rlut")
-    x.options[22].selected=true;
-    else if (var_string == "rsutcs")
-    x.options[23].selected=true;
-    else if (var_string == "rsut")
-    x.options[24].selected=true;
-    }
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }         
-    function reset_vars()
-    {
-      var x=document.getElementById("var");
-      x.options[0].disabled=false;
-      x.options[1].disabled=false;
-      x.options[2].disabled=false;
-      x.options[3].disabled=false;
-      x.options[4].disabled=false;
-      x.options[5].disabled=false;
-      x.options[6].disabled=false;
-      x.options[7].disabled=false;
-      x.options[8].disabled=false;
-      x.options[9].disabled=false;
-      x.options[10].disabled=false;
-      x.options[11].disabled=false;
-      x.options[12].disabled=false;
-      x.options[13].disabled=false;
-      x.options[14].disabled=false;
-      x.options[15].disabled=false;
-      x.options[16].disabled=false;
-      x.options[17].disabled=false;
-      x.options[18].disabled=false;
-      x.options[19].disabled=false;
-      x.options[20].disabled=false;
-      x.options[21].disabled=false;
-      x.options[22].disabled=false;
-      x.options[23].disabled=false;
-      x.options[24].disabled=false;
-    }
-    function select_var()
-    {
-      var var_string = $("#var").val();
-      disable_download_button();
-      if (var_string == "Total Cloud Fraction")
-        variable = "clt";
-      else if (var_string == "Surface Temperature")
-        variable = "ts";
-      else if (var_string == "Sea Surface Temperature")
-        variable = "tos";
-      else if (var_string == "Precipitation Flux")
-        variable = "pr";
-      else if (var_string == "Eastward Near-Surface Wind")
-        variable = "uas";
-      else if (var_string == "Northward Near-Surface Wind")
-        variable = "vas";
-      else if (var_string == "Near-Surface Wind Speed")
-        variable = "sfcWind";
-      else if (var_string == "Sea Surface Height")
-        variable = "zos";
-      else if (var_string == "Leaf Area Index")
-        variable = "lai";
-      else if (var_string == "Equivalent Water Height Over Land")
-        variable = "zl";
-      else if (var_string == "Equivalent Water Height Over Ocean")
-        variable = "zo";
-      else if (var_string == "Ocean Heat Content Anomaly within 700 m Depth")
-        variable = "ohc700";
-      else if (var_string == "Ocean Heat Content Anomaly within 2000 m Depth")
-        variable = "ohc2000";
-      else if (var_string == "Surface Downwelling Longwave Radiation")
-        variable = "rlds";
-      else if (var_string == "Surface Downwelling Shortwave Radiation")
-        variable = "rsds";
-      else if (var_string == "Surface Upwelling Longwave Radiation")
-        variable = "rlus";
-      else if (var_string == "Surface Upwelling Shortwave Radiation")
-        variable = "rsus";
-      else if (var_string == "Surface Downwelling Clear-Sky Longwave Radiation")
-        variable = "rldscs";
-      else if (var_string == "Surface Downwelling Clear-Sky Shortwave Radiation")
-        variable = "rsdscs";
-      else if (var_string == "Surface Upwelling Clear-Sky Shortwave Radiation")
-        variable = "rsuscs";
-      else if (var_string == "TOA Incident Shortwave Radiation")
-        variable = "rsdt";
-      else if (var_string == "TOA Outgoing Clear-Sky Longwave Radiation")
-        variable = "rlutcs";
-      else if (var_string == "TOA Outgoing Longwave Radiation")
-        variable = "rlut";
-      else if (var_string == "TOA Outgoing Clear-Sky Shortwave Radiation")
-        variable = "rsutcs";
-      else if (var_string == "TOA Outgoing Shortwave Radiation")
-        variable = "rsut";
-    }
-    function select_data()
-    {
-      var data_string = $("#data").val();
-      var x=document.getElementById("var");
-      disable_download_button();
-      reset_vars();
-      if (data_string == "NASA/AMSRE") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[3].selected=true;
-      }
-      else if (data_string == "NASA/MODIS") {
-        x.options[0].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[1].selected=true;
-      }
-      else if (data_string == "NASA/TRMM") {
-        x.options[0].selected=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-      }
-      else if (data_string == "NASA/GPCP") {
-        x.options[0].selected=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-      }
-      else if (data_string == "NASA/QuikSCAT") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[4].selected=true;
-      }
-      else if (data_string == "NASA/AVISO") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[7].selected=true;
-      }
-      else if (data_string == "NASA/GRACE") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[9].selected=true;
-      }
-      else if (data_string == "NOAA/NODC") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[11].selected=true;
-      }
-      else if (data_string == "NASA/CERES") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[3].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].selected=true;
-      }
-      else if (data_string == "ECMWF/interim") {
-        x.options[0].disabled=true;
-        x.options[1].disabled=true;
-        x.options[2].disabled=true;
-        x.options[4].disabled=true;
-        x.options[5].disabled=true;
-        x.options[6].disabled=true;
-        x.options[7].disabled=true;
-        x.options[8].disabled=true;
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[13].disabled=true;
-        x.options[14].disabled=true;
-        x.options[15].disabled=true;
-        x.options[16].disabled=true;
-        x.options[17].disabled=true;
-        x.options[18].disabled=true;
-        x.options[19].disabled=true;
-        x.options[20].disabled=true;
-        x.options[21].disabled=true;
-        x.options[22].disabled=true;
-        x.options[23].disabled=true;
-        x.options[24].disabled=true;
-        x.options[3].selected=true;
-      }
-      else {
-        x.options[9].disabled=true;
-        x.options[10].disabled=true;
-        x.options[11].disabled=true;
-        x.options[12].disabled=true;
-        x.options[0].selected=true;
-      }
-      select_var();
-    }
-    $(document).ready(function(){
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        window.location.assign(durl);
-      });
-      $("#timeSeries2D").click(function(event) {
-        Response = null;
-        disable_download_button();
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-        var url = "http://" + window.location.hostname + ":9002/svc/timeSeries2D?";
-        var d1 = $("#data").val();
-        var model1 = d1.replace("/", "_");
-        var arglist = "";
-        arglist = arglist.concat("model=");
-        arglist = arglist.concat(model1);
-        var v1 = $("#var").val();
-        arglist = arglist.concat("&var=");
-        arglist = arglist.concat(variable);
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-        arglist = arglist.concat("&scale=");
-        var y = document.getElementById("radioLin").checked;
-        if (y == true)
-          arglist = arglist.concat('0');
-        else
-          arglist = arglist.concat('2');
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-        url = url + encodeURI(arglist);
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var=");
-        arglistTB = arglistTB.concat(variable);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                var tb = data.time_bounds;
-                var bds = String(tb).split(",");
-                var lowerT = parseInt(bds[0]);
-                var upperT = parseInt(bds[1]);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                if ( lowerT == 0 && upperT ==0 ) {
-                  alert("We do not have data for this source and variable configuration.");
-                  return;
-                }
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                $("#Response").html(text);
-                var html1 = "<img src='"+data.url+"' width='820'/>";
-                $("#Image").html(html1);
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-      });
-    });
-  </script>
-} @main("Parameters of ConfId", scripts){ @flash_message()
-<p>
-<div id="dataSource" style="display: none;">@parameters.getDataSource()</div>
-<div id="variableName" style="display: none;">@parameters.getVariableName()</div>
-<div id="startYearMonth" style="display: none;">@parameters.getStartYearMonth()</div>
-<div id="endYearMonth" style="display: none;">@parameters.getEndYearMonth()</div>
-<div id="startLat" style="display: none;">@parameters.getStartLat()</div>
-<div id="endLat" style="display: none;">@parameters.getEndLat()</div>
-<div id="startLon" style="display: none;">@parameters.getStartLon()</div>
-<div id="endLon" style="display: none;">@parameters.getEndLon()</div>
-<div id="variableScale" style="display: none;">@parameters.getVariableScale()</div>
-<div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div>
-<div id="image" style="display: none;">@parameters.getImage()</div>
-<div id="dataURL" style="display: none;">@parameters.getDataURL()</div>
-<div id="serviceResponseText" style="display: none;">@parameters.getServiceResponseText()</div>
-<table border="1" align="center">
-	<tr>
-		<td colspan="4">
-			<center>
-				<b>Service: 2-D Variable Time Series</b><br> <br> This
-				service generates a graph of a 2-dimensional variable's time series
-				with monthly averaged values. <br> Select a data source (model
-				or observation), a variable name, a time range, and a spatial range
-				below.<br> <br>
-			</center>
-		</td>
-	</tr>
-	<tr>
-		<td>data source:</td>
-		<td><select name="data" , id="data" onchange="select_data()">
-				<optgroup label="Observation">
-					<option selected="NASA/MODIS">NASA/MODIS</option>
-					<option>NASA/AMSRE</option>
-					<option>NASA/TRMM</option>
-					<option>NASA/GPCP</option>
-					<option>NASA/QuikSCAT</option>
-					<option>NASA/AVISO</option>
-					<option>NASA/GRACE</option>
-					<option>NOAA/NODC</option>
-					<option>NASA/CERES</option>
-				</optgroup>
-				<optgroup label="Model: Historical">
-					<option>CCCMA/CANESM2</option>
-					<option>GFDL/ESM2G</option>
-					<option>GISS/E2-H</option>
-					<option>GISS/E2-R</option>
-					<option>NCAR/CAM5</option>
-					<option>NCC/NORESM</option>
-					<option>UKMO/HadGEM2-ES</option>
-				</optgroup>
-				<optgroup label="Model: AMIP">
-					<option>CCCMA/CANAM4</option>
-					<option>CSIRO/MK3.6</option>
-					<option>GFDL/CM3</option>
-					<option>IPSL/CM5A-LR</option>
-					<option>MIROC/MIROC5</option>
-					<option>UKMO/HadGEM2-A</option>
-				</optgroup>
-				<optgroup label="Reanalysis">
-					<option>ECMWF/interim</option>
-				</optgroup>
-		</select></td>
-		<td>variable name:</td>
-		<td><select name="var" , id="var" onchange="select_var()">
-				<option>Precipitation Flux</option>
-				<option>Total Cloud Fraction</option>
-				<option>Surface Temperature</option>
-				<option>Sea Surface Temperature</option>
-				<option>Eastward Near-Surface Wind</option>
-				<option>Northward Near-Surface Wind</option>
-				<option>Near-Surface Wind Speed</option>
-				<option>Sea Surface Height</option>
-				<option>Leaf Area Index</option>
-				<option>Equivalent Water Height Over Land</option>
-				<option>Equivalent Water Height Over Ocean</option>
-				<option>Ocean Heat Content Anomaly within 700 m Depth</option>
-				<option>Ocean Heat Content Anomaly within 2000 m Depth</option>
-				<option>Surface Downwelling Longwave Radiation</option>
-				<option>Surface Downwelling Shortwave Radiation</option>
-				<option>Surface Upwelling Longwave Radiation</option>
-				<option>Surface Upwelling Shortwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Longwave Radiation</option>
-				<option>Surface Downwelling Clear-Sky Shortwave Radiation</option>
-				<option>Surface Upwelling Clear-Sky Shortwave Radiation</option>
-				<option>TOA Incident Shortwave Radiation</option>
-				<option>TOA Outgoing Longwave Radiation</option>
-				<option>TOA Outgoing Shortwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Longwave Radiation</option>
-				<option>TOA Outgoing Clear-Sky Shortwave Radiation</option>
-		</select></td>
-	</tr>
-	<tr>
-		<td>start year-month:</td>
-		<td><input id="t0" value=@parameters.getStartYearMonth()
-			alt="start" /></td>
-		<td>end year-month:</td>
-		<td><input id="t1" value=@parameters.getEndYearMonth() alt="end" /></td>
-	</tr>
-	<tr>
-		<td>start lat (deg):</td>
-		<td><input id="lat0" value=@parameters.getStartLat()></td>
-		<td>end lat (deg):</td>
-		<td><input id="lat1" value=@parameters.getEndLat()></td>
-	</tr>
-	<tr>
-		<td>start lon (deg):</td>
-		<td><input id="lon0" value=@parameters.getStartLon()></td>
-		<td>end lon (deg):</td>
-		<td><input id="lon1" value=@parameters.getEndLon()></td>
-	</tr>
-	<tr>
-		<td colspan="1">variable scale:</td>
-		<td colspan="3">
-			<form>
-				<input type="radio" name="scale1" value="linear" id="radioLin"
-					checked>linear <input type="radio" name="scale1"
-					value="logarithmic" id="radioLog">logarithmic
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="1">Execution purpose</td>
-		<td colspan="3">
-			<form>
-				<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea>
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2" align="center"><input id="timeSeries2D"
-			type="submit" value="            Run  Again            "
-			style="height: 28px" /></td>
-		<form>
-			<td colspan="2" align="center"><input id="download_data"
-				type="button" value="Download Data" style="height: 28px" /></td>
-		</form>
-	</tr>
-	<tr>
-		<td colspan="4">
-			<div id="Image">Image Here</div>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="data_url"
-				cols="89" rows="2">Data URL Here</textarea></td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="Response"
-				cols="89" rows="6">Service Response Text Here</textarea></td>
-	</tr>
-	</p>
-</table>
-}


[29/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/html/js/.svn/text-base/jquery-1.6.4.min.js.svn-base
----------------------------------------------------------------------
diff --git a/public/html/js/.svn/text-base/jquery-1.6.4.min.js.svn-base b/public/html/js/.svn/text-base/jquery-1.6.4.min.js.svn-base
deleted file mode 100644
index 628ed9b..0000000
--- a/public/html/js/.svn/text-base/jquery-1.6.4.min.js.svn-base
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v1.6.4 http://jquery.com/ | http://jquery.org/license */
-(function(a,b){function cu(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cr(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cq(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cp(){cn=b}function co(){setTimeout(cp,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p
 ;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bA.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e i
 n b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bW(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bP,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bW(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bW(a,c,d,e,"*",g));return l}function bV(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bL),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function by(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bt:bu;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bv(a,b,b);if(d<0||d==null)d=a.
 style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bd,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bk(a){f.nodeName(a,"input")?bj(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bj)}function bj(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bi(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="op
 tion")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bf(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function V(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(Q.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function
 (a,d){return f.inArray(a,b)>=0===c})}function U(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function M(a,b){return(a&&a!=="*"?a+".":"")+b.replace(y,"`").replace(z,"&")}function L(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(w,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++
 ){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function D(){return!0}function C(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d
 :parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if
 (!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.4",length:0,size:function(){return this.length},t
 oArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=argumen
 ts.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;B.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachE
 vent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("
 return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:H?function(a){return a==null?"":H.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:fu
 nction(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?F.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(!b)return-1;if(I)return I.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=G.call(arguments,2),g=function(){return a.apply(c,f.concat(
 G.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){J["[object "+b+"]"]=b.toLowerCase()}),A=e.uaMatch(z),A.browser&&(e.brow
 ser[A.browser]=!0,e.browser.version=A.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?C=function(){c.removeEventListener("DOMContentLoaded",C,!1),e.ready()}:c.attachEvent&&(C=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",C),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferr
 ed(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g+"With"](this===b?d:this,[h])}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].pro
 mise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles
 :!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-1000px",top:"-1000px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.
 insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=
 null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i=f.expando,j=typeof c=="string",k=a.nodeType,l=k?f.cache:a,m=k?a[f.expando]:a[f.expando]&&f.expando;if((!m||e&&m&&l[m]&&!l[m][i])&&j&&d===b)return;m||(k?a[f.expando]=m=++f.uuid:m=f.expando),l[m]||(l[m]={},k||(l[m].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?l[m][i]=f.extend(l[m][i],c):l[m]=f.extend(l[m],c);g=l[m],e&&(g[i]||(g[i]={}),g=g[i]),d!==b&&(g[f.camelCase(c)]=d);if(c==="events"&&!g[c])return g[i]&&g[i].events;j?(h=g[c],h==null&&(h=g[f.camelCase(c)])):h=g;return h}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e=f.expando,g=a.nodeType,h=g?f.cache:a,i=g?a[f.exp
 ando]:f.expando;if(!h[i])return;if(b){d=c?h[i][e]:h[i];if(d){d[b]||(b=f.camelCase(b)),delete d[b];if(!l(d))return}}if(c){delete h[i][e];if(!l(h[i]))return}var j=h[i][e];f.support.deleteExpando||!h.setInterval?delete h[i]:h[i]=null,j?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=j):g&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHa
 ndler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue")
 )}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidd
 en|loop|multiple|open|readonly|required|scoped|selected)$/i,u,v;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.l
 ength;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e
 .type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d}
 ,set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=v:u&&(i=u)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.attr(a,b,""),a.removeAttribute(b),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type propert
 y can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(u&&f.nodeName(a,"button"))return u.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(u&&f.nodeName(a,"button"))return u.set(a,b,c);a.value=b}}},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(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==null?g:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.tes
 t(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabIndex=f.propHooks.tabIndex,v={get:function(a,c){var d;return f.prop(a,c)===!0||(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(u=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.
 toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=/\.(.*)$/,x=/^(?:textarea|input|select)$/i,y=/\./g,z=/ /g,A=/[^\w\s.|`]/g,B=function(a){return a.replace(A,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=C;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.
 triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=C);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"
 +f.map(m.slice(0).sort(),B).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete 
-t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)=
 ==!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode cl
 ientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKe
 y=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,M(a.origType,a.selector),f.extend({},a,{handler:L,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,M(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?D:C):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype
 ={preventDefault:function(){this.isDefaultPrevented=D;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=D;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=D,this.stopPropagation()},isDefaultPrevented:C,isPropagationStopped:C,isImmediatePropagationStopped:C};var E=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},F=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?F:E,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?F:E)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.eve
 nt.add(this,"click.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="submit"||c==="image")&&f(b).closest("form").length&&J("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&J("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var G,H=function(a){var b=f.nodeName(a,"input")?a.type:"",c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},I=function(c){var d=c.target,e,g;if(!!x.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=H(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g==
 =e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:I,beforedeactivate:I,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&I.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&I.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",H(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in G)f.event.add(this,c+".specialChange",G[c]);return x.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return x.test(this.nodeName)}},G=f.event.special.change.filters,G.focus=G.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f
 .event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return t
 his.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var K={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||C,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=w.exec(h),k="",j&&(k=j[0],h=h.replace(w,""));if(h==="hover"){a.push("mouseenter"+k,"m
 ouseleave"+k);continue}l=h,K[h]?(a.push(K[h]+k),h=h+k):h=(K[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+M(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+M(h,m),e)}return this}}),f.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".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1
 ;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.
 set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.sp
 lice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[
 \w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(
 d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(
 h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},f
 ilters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a)
 {return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function
 (a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g
 .length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosi
 tion(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||
 typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w
 \-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[tes
 t!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||
 a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var N=/Until$/,O=/^(?:parents|prevUntil|prevAll)/,P=/,/,Q=/^.[^:#\[\.,]*$/,R=Array.prototype.slice,S=f.expr.match.POS,T={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b
 .length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(V(this,a,!1),"not",a)},filter:function(a){return this.pushStack(V(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=S.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=S.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-
 1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(U(c[0])||U(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"i
 frame")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=R.call(arguments);N.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!T[a]?f.unique(e):e,(this.length>1||P.test(d))&&O.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|ob
 ject|embed|option|style)/i,bb=/checked\s*(?:[^=]|=\s*.checked.)/i,bc=/\/(java|ecma)script/i,bd=/^\s*<!(?:\[CDATA\[|\-\-)/,be={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].owner
 Document).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a
 .push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhites
 pace||!X.test(a))&&!be[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bb.test(j))return this.each(function(){f(this).domMan
 ip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bf(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bl)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!ba.test(a[0])&&(f.support.checkClone||!bb.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean
-(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)g[h]&&bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j+
 +){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=be[l]||be._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bk(k[i]);else bk(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bc.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j
 ]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bm=/alpha\([^)]*\)/i,bn=/opacity=([^)]*)/,bo=/([A-Z]|^ms)/g,bp=/^-?\d+(?:px)?$/i,bq=/^-?\d/,br=/^([\-+])=([\-+.\de]+)/,bs={position:"absolute",visibility:"hidden",display:"block"},bt=["Left","Right"],bu=["Top","Bottom"],bv,bw,bx;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{op
 acity:{get:function(a,b){if(b){var c=bv(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=br.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bv)return bv(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a)
 ;for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return by(a,b,d);f.swap(a,bs,function(){e=by(a,b,d)});return e}},set:function(a,b){if(!bp.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bm,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bv(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComput
 edStyle&&(bw=function(a,c){var d,e,g;c=c.replace(bo,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bx=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bp.test(d)&&bq.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bv=bw||bx,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bz=/%20/g,bA=/\[\]$/,bB=/\r?\n/g,bC=/#.*$/,bD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bE=/^(?:color|date|datetime|datetime-local|emai
 l|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bF=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bG=/^(?:GET|HEAD)$/,bH=/^\/\//,bI=/\?/,bJ=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bK=/^(?:select|textarea)/i,bL=/\s+/,bM=/([?&])_=[^&]*/,bN=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bO=f.fn.load,bP={},bQ={},bR,bS,bT=["*/"]+["*"];try{bR=e.href}catch(bU){bR=c.createElement("a"),bR.href="",bR=bR.href}bS=bN.exec(bR.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bO)return bO.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bJ,"")).find(g):c)),d&&i.ea
 ch(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bK.test(this.nodeName)||bE.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bB,"\r\n")}}):{name:b.name,value:c.replace(bB,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?bX(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),bX(a,b);re
 turn a},ajaxSettings:{url:bR,isLocal:bF.test(bS[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bT},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bV(bP),ajaxTransport:bV(bQ),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?bZ(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=b$(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w)
 ,o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bD.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[
 j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bC,"").replace(bH,bS[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bL),d.crossDomain==null&&(r=bN.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bS[1]&&r[2]==bS[2]&&(r[3]||(r[1]==="http:"?80:443))==(bS[3]||(bS[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bW(bP,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bG.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bI.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bM,"$1_="+x);d.url=y+(y===d.url?(bI.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.e
 tag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bT+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bW(bQ,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bz,"+")}}),f.extend({active:0,lastModified:{},e
 tag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text 
 script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.suppo
 rt.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj
 =/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cq("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cr(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cq("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:fu
 nction(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cq("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overf
 low,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cr(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cq("show",1),slideUp:cq("hide",1),slideToggle:cq("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fade
 Toggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.el
 em[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return d.step(a)}var d=this,e=f.fx;this.startTime=cn||co(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&f.timers.push(g)&&!cl&&(cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||co(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.
 support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){
 return a===b.elem}).length});var cs=/^t(?:able|d|h)$/i,ct=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cu(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h
 =g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cs.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f
 .css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",th

<TRUNCATED>


[40/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/conditionalSampling2Var.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/conditionalSampling2Var.scala.html b/app/views/climate/conditionalSampling2Var.scala.html
deleted file mode 100644
index 1a7607b..0000000
--- a/app/views/climate/conditionalSampling2Var.scala.html
+++ /dev/null
@@ -1,1151 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(parameters: metadata.ConditionalSampling2Var) @import helper._
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-@scripts = {
-<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js"></script>
-	<script type="
-	text/javascript" src='@routes.Assets.at("javascripts/json2.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/xmisc.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("html/js2/dataList2.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("html/js2/varList.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("html/js2/common.js")'></script>
-<script type="text/javascript">
-  	var Response = null;
-    var variable1 = "";
-    var variable2 = "";
-    var naValue = "-999999";
-    window.onload = function() {
-      put_data(1);
-      changeDataSource1();
-      put_data(2);
-      changeDataSource2();
-      put_data(3);
-      changeDataSource3();
-      put_var(1);
-      changeVariableName1();
-      put_var(2);
-      changeVariableName2();
-      put_var(3);
-      changeVariableName3();
-      time_range3();
-      fillMonth();
-      enable_download_button();
-      disable_pres(1);
-      disable_pres(2);
-      disable_pres(3);
-      $('#t0').val($('#startYearMonth').text());
-      $('#t1').val($('#endYearMonth').text());
-      var enviVariableChoose1 = $('#enChoose1');
-      if(enviVariableChoose1 == "0"){
-    	  $('#radioDef1').prop("checked", true);
-    	  $('#radioCus1').prop("checked", false);
-      }else{
-    	  $('#radioDef1').prop("checked", false);
-    	  $('#radioCus1').prop("checked", true);
-      }
-      var enviVariableChoose2 = $('#enChoose2');
-      if(enviVariableChoose2 == "0"){
-    	  $('#radioDef2').prop("checked", true);
-    	  $('#radioCus2').prop("checked", false);
-      }else{
-    	  $('#radioDef2').prop("checked", false);
-    	  $('#radioCus2').prop("checked", true);
-      }
-      var selectMonths = $('#selectMonths').text();
-      $('#months option:contains('+selectMonths+')').prop({selected: true});
-      select_monthsByPara();
-      $('#lat0').val($('#startLat').text());
-      $('#lat1').val($('#endLat').text());
-      $('#lon0').val($('#startLon').text());
-      $('#lon1').val($('#endLon').text());
-      var x_axis = $('#div_X').text();
-      if(x_axis == "0") {
-        $('#radioXLin').prop( "checked", true );
-        $('#radioXLog').prop( "checked", false );
-      }
-      else {
-        $('#radioXLin').prop( "checked", false );
-        $('#radioXLog').prop( "checked", true );
-      }
-      var y_axis = $('#div_Y').text();
-      if(y_axis == "0") {
-          $('#radioYLin').prop( "checked", true );
-          $('#radioYLog').prop( "checked", false );
-        }
-        else {
-          $('#radioYLin').prop( "checked", false );
-          $('#radioYLog').prop( "checked", true );
-        }
-      var z_axis = $('#div_Z').text();
-      if(z_axis == "0") {
-          $('#radioZLin').prop( "checked", true );
-          $('#radioZLog').prop( "checked", false );
-        }
-        else {
-          $('#radioZLin').prop( "checked", false );
-          $('#radioZLog').prop( "checked", true );
-        }
-      var binMin1 = $('#binMin1').text();
-      var binMax1 = $('#binMax1').text();
-      var binNum1 = $('#binNum1').text();
-      if(binMin1 == "-999999" && binMax1 == "-999999" && binNum1=="-999999"){
-    	  $('#radioDef1').prop( "checked", true );
-    	  setDefault(1);
-      }else{
-    	  $('#radioCus1').prop( "checked", true );
-    	  $('#min1').val(binMin1);
-          $('#max1').val(binMax1);
-          $('#bins1').val(binNum1);
-      }
-      var binMin2 = $('#binMin2').text();
-      var binMax2 = $('#binMax2').text();
-      var binNum2 = $('#binNum2').text();
-      if(binMin2 == "-999999" && binMax2 == "-999999" && binNum2=="-999999"){
-    	  $('#radioDef2').prop( "checked", true );
-    	  setDefault(2);
-      }else{
-    	  $('#radioCus2').prop( "checked", true );
-    	  $('#min2').val(binMin2);
-          $('#max2').val(binMax2);
-          $('#bins2').val(binNum2);
-      }
-      $('#purpose').html($('#executionPurpose').text());
-      var imageUrl = $('#image').text();
-      $('#Image').html('<img src="'+imageUrl+'" width=680 />');
-      $('#data_url').html($('#dataURL').text());
-      $('#Response').html($('serviceResponseText').text());
-    }
-    function put_data(ID){
-        var list1=document.getElementById("data"+ID);
-        for(var key in dataList) {
-          if (key.slice(0,5)==="group") {
-            var og = document.createElement("OPTGROUP");
-            og.setAttribute('label', dataList[key][0]);
-            list1.add(og);
-          } else {
-            og.appendChild(new Option(key,key));
-          }
-        }
-      }
-      function put_var(ID) {
-        var list1=document.getElementById("var"+ID);
-        for (var i=list1.length-1; i>=0; i--) {
-        list1.remove(i);
-        }
-        data_string =  document.getElementById("data"+ID).value;
-        var varList2 = dataList[data_string][1];  
-        for (var i=0; i<varList2.length; i++) {
-          var k = varList2[i];
-          list1.add(new Option(varList[k][0],k));
-        }
-      }
-    function select_monthsByPara(){
-      	var monthsByPara = $('#monthsPara').text();
-      	console.log("HERE!!!!!!"+monthsByPara);
-      	if(monthsByPara.search("jan")>-1){
-      		document.getElementById('Jan').checked = true;
-      	}
-      	if(monthsByPara.search("feb")>-1){
-      		document.getElementById('Feb').checked = true;
-      		console.log("Feb!");
-      	}
-      	if(monthsByPara.search("mar")>-1){
-      		document.getElementById('Mar').checked = true;
-      	}
-      	if(monthsByPara.search("apr")>-1){
-      		document.getElementById('Apr').checked = true;
-      	}
-      	if(monthsByPara.search("may")>-1){
-      		document.getElementById('May').checked = true;
-      	}
-      	if(monthsByPara.search("jun")>-1){
-      		document.getElementById('Jun').checked = true;
-      	}
-      	if(monthsByPara.search("jul")>-1){
-      		document.getElementById('Jul').checked = true;
-      	}
-      	if(monthsByPara.search("aug")>-1){
-      		document.getElementById('Aug').checked = true;
-      	}
-      	if(monthsByPara.search("sep")>-1){
-      		document.getElementById('Sep').checked = true;
-      	}
-      	if(monthsByPara.search("oct")>-1){
-      		document.getElementById('Oct').checked = true;
-      	}
-      	if(monthsByPara.search("nov")>-1){
-      		document.getElementById('Nov').checked = true;
-      	}
-      	if(monthsByPara.search("dec")>-1){
-      		document.getElementById('Dec').checked = true;
-      	}
-      }
-    function disable_pres(ID)
-    {
-      var x;
-      var var1 = $("#var"+ID).val();
-      x=document.getElementById("pres"+ID);
-      if(x.value == "-999999,-999999" && ID == 1){
-    	  x.value = "N/A";
-          x.disabled=true;
-      }else if(x.value == "-999999" && (ID == 2 || ID == 3)){
-    	  x.value = "N/A";
-          x.disabled=true;
-      }else{
-    	  if(ID == 1){
-	    	  	var split12 = x.value.split(",");
-	   	        var temp1 = split12[0];
-	   	        var temp2 = split12[1];
-	   	        if ( var1 == 'ot' || var1 == 'os') {
-	   	          temp1 = temp1 / 10000;  
-	   	          temp2 = temp2 / 10000;  
-	   	        } 
-	   	        else {
-	   	          temp1 = temp1 / 100;  
-	   	          temp2 = temp2 / 100;  
-	   	        }
-	   	        x.value = temp1 + "," + temp2;
-    	  }
-    	  else{
-    		  if ( var1 == 'ot' || var1 == 'os') {
-	   	          x.value = x.value / 10000;  
-	   	        } 
-	   	        else {
-	   	        	x.value = x.value / 100;  
-	   	        }
-    	  }
-      }
-    }
-    function enable_pres1(ID)
-    {
-      var x;
-      x=document.getElementById("pres"+ID);
-      x.disabled=false;
-    }
-    function changeDataSource1() {
-    	var dataSource = $('#dataSourceP').text();
-	    var x = document.getElementById("data1");
-	    if(dataSource == "gfdl_esm2g" ){
-     		x.options[0].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-h" ){
-     		x.options[1].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-r" ){
-     		x.options[2].selected=true;
-     	}
-     	else if(dataSource == "ncar_cam5" ){
-     		x.options[3].selected=true;
-     	}
-     	else if(dataSource == "ncc_noresm" ){
-     		x.options[4].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-es" ){
-     		x.options[5].selected=true;
-     	}
-     	else if(dataSource == "cccma_canam4" ){
-     		x.options[6].selected=true;
-     	}
-     	else if(dataSource == "csiro_mk3.6" ){
-     		x.options[7].selected=true;
-     	}
-     	else if(dataSource == "gfdl_cm3" ){
-     		x.options[8].selected=true;
-     	}
-     	else if(dataSource == "ipsl_cm5a-lr" ){
-     		x.options[9].selected=true;
-     	}
-     	else if(dataSource == "miroc_miroc5" ){
-     		x.options[10].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-a" ){
-     		x.options[11].selected=true;
-     	}
-     	else if(dataSource == "nasa_grace" ){
-     		x.options[12].selected=true;
-     	}
-     	else if(dataSource == "nasa_modis" ){
-     		x.options[13].selected=true;
-     	}
-     	else if(dataSource == "nasa_amsre" ){
-     		x.options[14].selected=true;
-     	}
-     	else if(dataSource == "nasa_trmm" ){
-     		x.options[15].selected=true;
-     	}
-     	else if(dataSource == "nasa_gpcp" ){
-     		x.options[16].selected=true;
-     	}
-     	else if(dataSource == "nasa_quikscat" ){
-     		x.options[17].selected=true;
-     	}
-     	else if(dataSource == "nasa_aviso" ){
-     		x.options[18].selected=true;
-     	}
-     	else if(dataSource == "noaa_nodc" ){
-     		x.options[19].selected=true;
-     	}
-     	else if(dataSource == "nasa_ceres" ){
-     		x.options[20].selected=true;
-     	}
-     	else if(dataSource == "nasa_airs" ){
-     		x.options[21].selected=true;
-     	}
-     	else if(dataSource == "nasa_mls" ){
-     		x.options[22].selected=true;
-     	}
-     	else if(dataSource == "nasa_argo" ){
-     		x.options[23].selected=true;
-     	}
-     	else if(dataSource == "ecmwf_interim" ){
-     		x.options[24].selected=true;
-     	}
-    }
-    function changeDataSource2() {
-    	var dataSource = $('#dataSourceE1').text();
-	    var x = document.getElementById("data2");
-	    if(dataSource == "gfdl_esm2g" ){
-     		x.options[0].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-h" ){
-     		x.options[1].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-r" ){
-     		x.options[2].selected=true;
-     	}
-     	else if(dataSource == "ncar_cam5" ){
-     		x.options[3].selected=true;
-     	}
-     	else if(dataSource == "ncc_noresm" ){
-     		x.options[4].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-es" ){
-     		x.options[5].selected=true;
-     	}
-     	else if(dataSource == "cccma_canam4" ){
-     		x.options[6].selected=true;
-     	}
-     	else if(dataSource == "csiro_mk3.6" ){
-     		x.options[7].selected=true;
-     	}
-     	else if(dataSource == "gfdl_cm3" ){
-     		x.options[8].selected=true;
-     	}
-     	else if(dataSource == "ipsl_cm5a-lr" ){
-     		x.options[9].selected=true;
-     	}
-     	else if(dataSource == "miroc_miroc5" ){
-     		x.options[10].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-a" ){
-     		x.options[11].selected=true;
-     	}
-     	else if(dataSource == "nasa_grace" ){
-     		x.options[12].selected=true;
-     	}
-     	else if(dataSource == "nasa_modis" ){
-     		x.options[13].selected=true;
-     	}
-     	else if(dataSource == "nasa_amsre" ){
-     		x.options[14].selected=true;
-     	}
-     	else if(dataSource == "nasa_trmm" ){
-     		x.options[15].selected=true;
-     	}
-     	else if(dataSource == "nasa_gpcp" ){
-     		x.options[16].selected=true;
-     	}
-     	else if(dataSource == "nasa_quikscat" ){
-     		x.options[17].selected=true;
-     	}
-     	else if(dataSource == "nasa_aviso" ){
-     		x.options[18].selected=true;
-     	}
-     	else if(dataSource == "noaa_nodc" ){
-     		x.options[19].selected=true;
-     	}
-     	else if(dataSource == "nasa_ceres" ){
-     		x.options[20].selected=true;
-     	}
-     	else if(dataSource == "nasa_airs" ){
-     		x.options[21].selected=true;
-     	}
-     	else if(dataSource == "nasa_mls" ){
-     		x.options[22].selected=true;
-     	}
-     	else if(dataSource == "nasa_argo" ){
-     		x.options[23].selected=true;
-     	}
-     	else if(dataSource == "ecmwf_interim" ){
-     		x.options[24].selected=true;
-     	}
-    }
-    function changeDataSource3() {
-    	var dataSource = $('#dataSourceE2').text();
-	    var x = document.getElementById("data3");
-	    if(dataSource == "gfdl_esm2g" ){
-     		x.options[0].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-h" ){
-     		x.options[1].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-r" ){
-     		x.options[2].selected=true;
-     	}
-     	else if(dataSource == "ncar_cam5" ){
-     		x.options[3].selected=true;
-     	}
-     	else if(dataSource == "ncc_noresm" ){
-     		x.options[4].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-es" ){
-     		x.options[5].selected=true;
-     	}
-     	else if(dataSource == "cccma_canam4" ){
-     		x.options[6].selected=true;
-     	}
-     	else if(dataSource == "csiro_mk3.6" ){
-     		x.options[7].selected=true;
-     	}
-     	else if(dataSource == "gfdl_cm3" ){
-     		x.options[8].selected=true;
-     	}
-     	else if(dataSource == "ipsl_cm5a-lr" ){
-     		x.options[9].selected=true;
-     	}
-     	else if(dataSource == "miroc_miroc5" ){
-     		x.options[10].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-a" ){
-     		x.options[11].selected=true;
-     	}
-     	else if(dataSource == "nasa_grace" ){
-     		x.options[12].selected=true;
-     	}
-     	else if(dataSource == "nasa_modis" ){
-     		x.options[13].selected=true;
-     	}
-     	else if(dataSource == "nasa_amsre" ){
-     		x.options[14].selected=true;
-     	}
-     	else if(dataSource == "nasa_trmm" ){
-     		x.options[15].selected=true;
-     	}
-     	else if(dataSource == "nasa_gpcp" ){
-     		x.options[16].selected=true;
-     	}
-     	else if(dataSource == "nasa_quikscat" ){
-     		x.options[17].selected=true;
-     	}
-     	else if(dataSource == "nasa_aviso" ){
-     		x.options[18].selected=true;
-     	}
-     	else if(dataSource == "noaa_nodc" ){
-     		x.options[19].selected=true;
-     	}
-     	else if(dataSource == "nasa_ceres" ){
-     		x.options[20].selected=true;
-     	}
-     	else if(dataSource == "nasa_airs" ){
-     		x.options[21].selected=true;
-     	}
-     	else if(dataSource == "nasa_mls" ){
-     		x.options[22].selected=true;
-     	}
-     	else if(dataSource == "nasa_argo" ){
-     		x.options[23].selected=true;
-     	}
-     	else if(dataSource == "ecmwf_interim" ){
-     		x.options[24].selected=true;
-     	}
-    }
-    function changeVariableName1(){
-        var var_string = $('#variableNameP').text();
-        var data_string = $('#dataSourceP').text();
-        data_string = data_string.replace("_", "/").toUpperCase();
-        var varList2 = dataList[data_string][1];  
-        var x = document.getElementById("var1");
-        for (var i=0; i<varList2.length; i++) {
-      	  var k = varList2[i];
-            if (k == var_string) {
-            	x.options[i].selected=true;
-            	break;
-            }
-        }
-    }
-    function changeVariableName2(){
-        var var_string = $('#variableNameE1').text();
-        var data_string = $('#dataSourceE1').text();
-        data_string = data_string.replace("_", "/").toUpperCase();
-        var varList2 = dataList[data_string][1];  
-        var x = document.getElementById("var2");
-        for (var i=0; i<varList2.length; i++) {
-      	  var k = varList2[i];
-            if (k == var_string) {
-            	x.options[i].selected=true;
-            	break;
-            }
-        }
-    }
-    function changeVariableName3(){
-        var var_string = $('#variableNameE2').text();
-        var data_string = $('#dataSourceE2').text();
-        data_string = data_string.replace("_", "/").toUpperCase();
-        var varList2 = dataList[data_string][1];  
-        var x = document.getElementById("var3");
-        for (var i=0; i<varList2.length; i++) {
-      	  var k = varList2[i];
-            if (k == var_string) {
-            	x.options[i].selected=true;
-            	break;
-            }
-        }
-    }
-    function select_all_months()
-    {
-        document.getElementById('Jan').checked = true;
-        document.getElementById('Feb').checked = true;
-        document.getElementById('Mar').checked = true;
-        document.getElementById('Apr').checked = true;
-        document.getElementById('May').checked = true;
-        document.getElementById('Jun').checked = true;
-        document.getElementById('Jul').checked = true;
-        document.getElementById('Aug').checked = true;
-        document.getElementById('Sep').checked = true;
-        document.getElementById('Oct').checked = true;
-        document.getElementById('Nov').checked = true;
-        document.getElementById('Dec').checked = true;
-    }
-    function no_month_check()
-    {
-        if (document.getElementById('Jan').checked == false &&
-           document.getElementById('Feb').checked == false &&
-           document.getElementById('Mar').checked == false &&
-           document.getElementById('Apr').checked == false &&
-           document.getElementById('May').checked == false &&
-           document.getElementById('Jun').checked == false &&
-           document.getElementById('Jul').checked == false &&
-           document.getElementById('Aug').checked == false &&
-           document.getElementById('Sep').checked == false &&
-           document.getElementById('Oct').checked == false &&
-           document.getElementById('Nov').checked == false &&
-           document.getElementById('Dec').checked == false) {
-           return true;
-          }
-        else
-           return false;
-    }
-    function reset_months()
-    {
-        document.getElementById('Jan').checked = false;
-        document.getElementById('Feb').checked = false;
-        document.getElementById('Mar').checked = false;
-        document.getElementById('Apr').checked = false;
-        document.getElementById('May').checked = false;
-        document.getElementById('Jun').checked = false;
-        document.getElementById('Jul').checked = false;
-        document.getElementById('Aug').checked = false;
-        document.getElementById('Sep').checked = false;
-        document.getElementById('Oct').checked = false;
-        document.getElementById('Nov').checked = false;
-        document.getElementById('Dec').checked = false;
-    }
-    function setDefault(ID)
-    {
-       var x=document.getElementById("min"+ID);
-       var y=document.getElementById("max"+ID);
-       var z=document.getElementById("bins"+ID);
-       x.value = "N/A";
-       x.disabled=true;
-       y.value = "N/A";
-       y.disabled=true;
-       z.value = "N/A";
-       z.disabled=true;
-    }
-    function setCustomized(ID)
-    {
-       var x=document.getElementById("min"+ID);
-       var y=document.getElementById("max"+ID);
-       var z=document.getElementById("bins"+ID);
-       x.value = "";
-       x.disabled=false;
-       y.value = "";
-       y.disabled=false;
-       z.value = "";
-       z.disabled=false;
-    }
-    function getMonthStr() {
-            var month_str = "";
-            for (var i=0; i<monthList.length; i++) {
-              var mm = document.getElementById(monthList[i]);
-              if (mm.checked == true) {
-                month_str += ","+(i+1);
-              }
-            }
-            month_str = month_str.substr(1);
-            return month_str;
-    }
-    $(document).ready(function(){
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        window.location.assign(durl);
-      });
-      $("#conditionalSamp").click(function(event) {
-        Response = null;
-        disable_download_button();
-        if (no_month_check()) {
-           $("#Response").html("Error: please check at least one month.");
-           $("#Image").html("");
-           return;
-        }
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-        var url = "http://" + window.location.hostname + ":9002/svc/conditionalSampling2Var?";
-        var d1 = $("#data1").val();
-        var model1 = d1.replace("/", "_");
-        model1 = model1.toLowerCase();
-        var arglist = "";
-        arglist = arglist.concat("model1=");
-        arglist = arglist.concat(model1);
-        var variable1 = $("#var1").val();
-        arglist = arglist.concat("&var1=");
-        arglist = arglist.concat(variable1);
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-        var press_range = $("#pres1").val();
-        var pres12 = parse_pres(press_range);
-        var pres1;
-        var pres2;
-        if (pres12 === naValue) {
-          pres1 = naValue;
-          pres2 = naValue;
-        } else {
-          split12 = pres12.split(",");
-          if (split12.length != 2) {
-            alert("pressure level range needs to be two values separated by comma.");
-            return; 
-          } else {
-            pres1 = split12[0];
-            pres2 = split12[1];
-            if (variable1 == 'ot' || variable1 == 'os') {
-              pres1 = pres1 * 10000;  
-              pres2 = pres2 * 10000;  
-            } 
-            else {
-              pres1 = pres1 * 100;  
-              pres2 = pres2 * 100;  
-            }
-          }
-        }
-        arglist = arglist.concat("&pres1=");
-        arglist = arglist.concat(pres1);
-        arglist = arglist.concat("&pres2=");
-        arglist = arglist.concat(pres2);
-        var month_str = getMonthStr();
-        arglist = arglist.concat("&months=");
-        arglist = arglist.concat(month_str);
-        var d2 = $("#data2").val();
-        var model2 = d2.replace("/", "_");
-        model2 = model2.toLowerCase();
-        arglist = arglist.concat("&model2=");
-        arglist = arglist.concat(model2);
-        var variable2 = $("#var2").val();
-        arglist = arglist.concat("&var2=");
-        arglist = arglist.concat(variable2);
-        var d3 = $("#data3").val();
-        var model3 = d3.replace("/", "_");
-        model3 = model3.toLowerCase();
-        arglist = arglist.concat("&model3=");
-        arglist = arglist.concat(model3);
-        var variable3 = $("#var3").val();
-        arglist = arglist.concat("&var3=");
-        arglist = arglist.concat(variable3);
-        var plev1 = $("#pres2").val();
-        plev1 = parse_pres(plev1);
-        if (plev1>0) {
-          if (variable2 == 'ot' || variable2 == 'os') {
-            plev1 = plev1 * 10000;  
-          } 
-          else {
-            plev1 = plev1 * 100;  
-          }
-        }
-        arglist = arglist.concat("&env_var_plev1=");
-        arglist = arglist.concat(plev1);
-        var plev2 = $("#pres3").val();
-        plev2 = parse_pres(plev2);
-        if (plev2>0) {
-          if (variable3 == 'ot' || variable3 == 'os') {
-            plev2 = plev2 * 10000;  
-          } 
-          else {
-            plev2 = plev2 * 100;  
-          }
-        }
-        arglist = arglist.concat("&env_var_plev2=");
-        arglist = arglist.concat(plev2);
-        var binstate1 = document.getElementById('radioDef1').checked;
-        var binMin1, binMax1, numBins1;
-        if (binstate1 == true) { 
-          binMin1 = naValue;
-          binMax1 = naValue;
-          numBins1 = naValue;
-        }
-        else { 
-          binMin1 = $("#min1").val();
-          binMax1 = $("#max1").val();
-          numBins1 = $("#bins1").val();
-        }
-        arglist = arglist.concat("&bin_min1=");
-        arglist = arglist.concat(binMin1);
-        arglist = arglist.concat("&bin_max1=");
-        arglist = arglist.concat(binMax1);
-        arglist = arglist.concat("&bin_n1=");
-        arglist = arglist.concat(numBins1);
-        var binstate2 = document.getElementById('radioDef2').checked;
-        var binMin2, binMax2, numBins2;
-        if (binstate2 == true) { 
-          binMin2 = naValue;
-          binMax2 = naValue;
-          numBins2 = naValue;
-        }
-        else { 
-          binMin2 = $("#min2").val();
-          binMax2 = $("#max2").val();
-          numBins2 = $("#bins2").val();
-        }
-        arglist = arglist.concat("&bin_min2=");
-        arglist = arglist.concat(binMin2);
-        arglist = arglist.concat("&bin_max2=");
-        arglist = arglist.concat(binMax2);
-        arglist = arglist.concat("&bin_n2=");
-        arglist = arglist.concat(numBins2);
-        var xstate = document.getElementById('radioXLin').checked;
-        var xvalue;
-        if (xstate == true)
-          xvalue = 0;
-        else
-          xvalue = 1;
-        var ystate = document.getElementById('radioYLin').checked;
-        var yvalue;
-        if (ystate == true)
-          yvalue = 0;
-        else
-          yvalue = 1;
-        var zstate = document.getElementById('radioZLin').checked;
-        var zvalue;
-        if (zstate == true)
-          zvalue = 0;
-        else
-          zvalue = 1;
-        var dispOpt;
-        dispOpt = xvalue*1 + yvalue*2 + zvalue*4;
-        var dispOptString = dispOpt.toString();
-        arglist = arglist.concat("&displayOpt=");
-        arglist = arglist.concat(dispOptString);
-        url = url + encodeURI(arglist);
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/two_time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("1");
-        arglistTB = arglistTB.concat("&source1=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var1=");
-        arglistTB = arglistTB.concat(variable1);
-        arglistTB = arglistTB.concat("&source2=");
-        arglistTB = arglistTB.concat(d2);
-        arglistTB = arglistTB.concat("&var2=");
-        arglistTB = arglistTB.concat(variable2);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                var tb1 = data.time_bounds1;
-                var bds1 = String(tb1).split(",");
-                var lowerT1 = parseInt(bds1[0]);
-                var upperT1 = parseInt(bds1[1]);
-                var tb2 = data.time_bounds2;
-                var bds2 = String(tb2).split(",");
-                var lowerT2 = parseInt(bds2[0]);
-                var upperT2 = parseInt(bds2[1]);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                var lowerT, upperT;
-                if (lowerT1 == 0  || upperT1 == 0){ 
-                  alert("We do not have data for the data-1 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 == 0  || upperT2 == 0){ 
-                  alert("We do not have data for the data-2 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 > upperT1 || lowerT1 > upperT2) { 
-                  alert("The two data sets/vars do not have a common time range.");
-                  return;
-                }
-                else { 
-                  if (lowerT1 > lowerT2) { 
-                    lowerT = lowerT1;
-                  }
-                  else {
-                    lowerT = lowerT2;
-                  }
-                  if (upperT1 > upperT2) { 
-                    upperT = upperT2;
-                  }
-                  else {
-                    upperT = upperT1;
-                  }
-                }
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                $("#Response").html(text);
-                var html = "<img src='"+data.url+"' width='820'/>";
-                $("#Image").html(html);
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-      });
-    });
-  </script>
-} @main("Parameters of ConfId", scripts){ @flash_message()
-<p>
-<div id="dataSourceP" style="display: none;">@parameters.getDataSourceP()</div>
-<div id="dataSourceE1" style="display: none;">@parameters.getDataSourceE1()</div>
-<div id="dataSourceE2" style="display: none;">@parameters.getDataSourceE2()</div>
-<div id="variableNameP" style="display: none;">@parameters.getVariableNameP()</div>
-<div id="variableNameE1" style="display: none;">@parameters.getVariableNameE1()</div>
-<div id="variableNameE2" style="display: none;">@parameters.getVariableNameE2()</div>
-<div id="pressureRange1" style="display: none;">@parameters.getPressureRange1()</div>
-<div id="pressureRange2" style="display: none;">@parameters.getPressureRange2()</div>
-<div id="env_var_plev1" style="display: none;">@parameters.getEnableVarPlev1()</div>
-<div id="env_var_plev2" style="display: none;">@parameters.getEnableVarPlev2()</div>
-<div id="startYearMonth" style="display: none;">@parameters.getStartYearMonth()</div>
-<div id="enChoose1" style="display: none;">@parameters.getCustomized1</div>
-<div id="enChoose2" style="display: none;">@parameters.getCustomized2</div>
-<div id="endYearMonth" style="display: none;">@parameters.getEndYearMonth()</div>
-<div id="selectMonths" style="display: none;">@parameters.getSelectMonths()</div>
-<div id="monthsPara" style="display: none;">@parameters.getMonth()</div>
-<div id="startLat" style="display: none;">@parameters.getStartLat()</div>
-<div id="endLat" style="display: none;">@parameters.getEndLat()</div>
-<div id="startLon" style="display: none;">@parameters.getStartLon()</div>
-<div id="endLon" style="display: none;">@parameters.getEndLon()</div>
-<div id="div_X" style="display: none;">@parameters.getX()</div>
-<div id="div_Y" style="display: none;">@parameters.getY()</div>
-<div id="div_Z" style="display: none;">@parameters.getZ()</div>
-<div id="binMin1" style="display: none;">@parameters.getBin_min1()</div>
-<div id="binMax1" style="display: none;">@parameters.getBin_max1()</div>
-<div id="binNum1" style="display: none;">@parameters.getBin_n1()</div>
-<div id="binMin2" style="display: none;">@parameters.getBin_min2()</div>
-<div id="binMax2" style="display: none;">@parameters.getBin_max2()</div>
-<div id="binNum2" style="display: none;">@parameters.getBin_n2()</div>
-<div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div>
-<div id="image" style="display: none;">@parameters.getImage()</div>
-<div id="dataURL" style="display: none;">@parameters.getDataURL()</div>
-<div id="serviceResponseText" style="display: none;">@parameters.getServiceResponseText()</div>
-<table border="1">
-	<tr>
-		<td colspan="4">
-			<center>
-				<b>Service: Conditional Sampling with Two Variables</b><br>
-				<br> This service sorts one variable called sampled variable by
-				the values of two variables called sampling variables and displays
-				the averaged value of the sampled variable in color as a function of
-				the bin value of the two sampling variables in X-Y axis. There are
-				overlaid contours which show the number of samples in each of the
-				two sampling variable bin.<br>
-				<br>
-			</center>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2">
-			<center>Physical Variable (sampled variable)</center>
-		</td>
-		<td colspan="2" rowspan="4"></td>
-	</tr>
-	<tr>
-		<td>source:</td>
-		<td><select name="data1" , id="data1"
-			onchange="put_var(1); time_range3()"></select></td>
-	</tr>
-	<tr>
-		<td>variable name:</td>
-		<td><select name="var1" , id="var1"
-			onchange="select_var(1); time_range3()">
-		</select></td>
-	</tr>
-	<td>atmosphere pressure range (hPa) <br> or ocean pressure
-		range (dbar):
-	</td>
-	<td><input id="pres1"
-		value="@{parameters.getPressureRange1()+','+parameters.getPressureRange2()}"
-		alt="pressure" /></td>
-	</tr>
-	<tr>
-		<td colspan="2">
-			<center>Environmental Variable 1 (sampling variable)</center>
-		</td>
-		<td colspan="2" rowspan="6"></td>
-	</tr>
-	<tr>
-		<td>source:</td>
-		<td><select name="data2" , id="data2"
-			onchange="put_var(2); time_range3()"></select></td>
-	</tr>
-	<tr>
-		<td>variable name:</td>
-		<td><select name="var2" , id="var2"
-			onchange="select_var(2); time_range3()">
-		</select></td>
-	</tr>
-	<tr>
-		<td>atmosphere pressure level (hPa) <br> or ocean pressure
-			level (dbar):
-		</td>
-		<td><input id="pres2" value="@parameters.getEnableVarPlev1()"
-			alt="pressure" /></td>
-	</tr>
-	<tr>
-		<td colspan="2">sampling variable binning specification:
-			<form>
-				default: <input onclick="setDefault(1)" type="radio" name="default1"
-					value="" id="radioDef1" checked> customized: <input
-					onclick="setCustomized(1)" type="radio" name="default1" value=""
-					id="radioCus1">
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2">
-			<form>
-				Min: <input id="min1" value="@parameters.getBin_min1()" alt=""
-					size=3 /> Max: <input id="max1" value="@parameters.getBin_max1()"
-					alt="" size=3 /> number of bins: <input id="bins1"
-					value="@parameters.getBin_n1()" alt="" size=3 />
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2">
-			<center>Environmental Variable 2 (sampling variable)</center>
-		</td>
-	</tr>
-	<tr>
-		<td>source:</td>
-		<td><select name="data3" , id="data3"
-			onchange="put_var(3); time_range3()"></select></td>
-	</tr>
-	<tr>
-		<td>variable name:</td>
-		<td><select name="var3" , id="var3"
-			onchange="select_var(3); time_range3()">
-		</select></td>
-	</tr>
-	<tr>
-		<td>atmosphere pressure level (hPa) <br> or ocean pressure
-			level (dbar):
-		</td>
-		<td><input id="pres3" value="@parameters.getEnableVarPlev2()"
-			alt="pressure" /></td>
-	</tr>
-	<tr>
-		<td colspan="2">sampling variable binning specification:
-			<form>
-				default: <input onclick="setDefault(2)" type="radio" name="default2"
-					value="" id="radioDef2" checked> customized: <input
-					onclick="setCustomized(2)" type="radio" name="default2" value=""
-					id="radioCus2">
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2">
-			<form>
-				Min: <input id="min2" value="@parameters.getBin_min2()" alt=""
-					size=3 /> Max: <input id="max2" value="@parameters.getBin_max2()"
-					alt="" size=3 /> number of bins: <input id="bins2"
-					value="@parameters.getBin_n2()" alt="" size=3 />
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td id=startYear>start year-month:</td>
-		<td><input id="t0" value="@parameters.getStartYearMonth()"
-			alt="start" /></td>
-		<td id=endYear>end year-month:</td>
-		<td><input id="t1" value="@parameters.getEndYearMonth()"
-			alt="end" /></td>
-	</tr>
-	<tr>
-		<td id="monthSelect0"></td>
-		<td id="monthSelect" colspan="3"></td>
-	</tr>
-	<tr>
-		<td>start lat (deg):</td>
-		<td><input id="lat0" value="@parameters.getStartLat()" /></td>
-		<td>end lat (deg):</td>
-		<td><input id="lat1" value="@parameters.getEndLat()" /></td>
-	</tr>
-	<tr>
-		<td>start lon (deg):</td>
-		<td><input id="lon0" value="@parameters.getStartLon()" /></td>
-		<td>end lon (deg):</td>
-		<td><input id="lon1" value="@parameters.getEndLon()" /></td>
-	</tr>
-	<tr>
-		<td colspan="1" rowspan="3">display option:</td>
-		<td colspan="3">
-			<form>
-				X-axis (sampling variable) scale: <input type="radio" name="scale1"
-					value="linear" id="radioXLin" checked>linear <input
-					type="radio" name="scale1" value="logarithmic" id="radioXLog">logarithmic
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="3">
-			<form>
-				Y-axis (sampled variable or pressure) scale: <input type="radio"
-					name="scale1" value="linear" id="radioYLin" checked>linear
-				<input type="radio" name="scale1" value="logarithmic" id="radioYLog">logarithmic
-			</form>
-	</tr>
-	<tr>
-		<td colspan="3">
-			<form>
-				Z-axis (color) scale: <input type="radio" name="scale1"
-					value="linear" id="radioZLin" checked>linear <input
-					type="radio" name="scale1" value="logarithmic" id="radioZLog">logarithmic
-			</form>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2" align="center"><input id="conditionalSamp"
-			type="submit" value="            Get  Plot            "
-			style="height: 28px" /></td>
-		<form>
-			<td colspan="2" align="center"><input id="download_data"
-				type="button" value="Download Data" style="height: 28px" /></td>
-		</form>
-	</tr>
-	<tr>
-		<td colspan="4">
-			<div id="Image">
-				<img src="@parameters.getImage()" width=680 />
-			</div>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="data_url"
-				cols="130" rows="2">@parameters.getDataURL()</textarea></td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea id="Response" cols="130"
-				rows="6">@parameters.getServiceResponseText()</textarea></td>
-	</tr>
-</table>
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/correlationMap.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/correlationMap.scala.html b/app/views/climate/correlationMap.scala.html
deleted file mode 100644
index 5b862da..0000000
--- a/app/views/climate/correlationMap.scala.html
+++ /dev/null
@@ -1,662 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(parameters: metadata.CorrelationMap) @import helper._
-<link rel="stylesheet"
-	href='@routes.Assets.at("stylesheets/livefitler.css")'>
-@scripts = {
-<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-<script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-<script type="text/javascript"
-	src='https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js'></script>
-	<script type="text/javascript" src='@routes.Assets.at("javascripts/json2.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("javascripts/xmisc.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("html/js2/dataList2.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("html/js2/varList.js")'></script>
-<script type="text/javascript"
-	src='@routes.Assets.at("html/js2/common.js")'></script>
-<script type="text/javascript">
-	var Response = null;
-    var variable1 = "";
-    var variable2 = "";
-    window.onload = function() {
-    	put_data(1);
-    	changeDataSource1();
-        put_data(2);
-        changeDataSource2();
-        put_var(1);
-        changeVariableName1();
-        put_var(2);
-        changeVariableName2();
-        enable_download_button();
-        $('#t0').val($('#startYearMonth').text());
-        $('#t1').val($('#endYearMonth').text());
-        if($('#pressureLevel1').text() == "-9999"){
-        	disable_pres1(1);
-        }else{
-        	$('#pres1').val($('#pressureLevel1').text());
-        }
-        if($('#pressureLevel2').text() == "-9999"){
-        	disable_pres1(2);
-        }else{
-        	$('#pres2').val($('#pressureLevel2').text());
-        }
-        $('#lat0').val($('#startLat').text());
-        $('#lat1').val($('#endLat').text());
-        $('#lon0').val($('#startLon').text());
-        $('#lon1').val($('#endLon').text());
-        $('#laggedTime').html($('#executionLaggedTime').text());
-        $('#purpose').html($('#executionPurpose').text());
-        $('#data_url').html($('#dataURL').text());
-        $('#Response').html($('#serviceResponseText').text());
-    }
-    function disable_pres1(ID)
-    {
-      var x;
-      x=document.getElementById("pres"+ID);
-      x.value = "N/A";
-      x.disabled=true;
-    }
-    function enable_pres1(ID)
-    {
-      var x;
-      x=document.getElementById("pres"+ID);
-      x.value = "500";
-      x.disabled=false;
-    }
-    function changeDataSource1() {
-    	var dataSource = $('#dataSource1').text();
-	    var x = document.getElementById("data1");
-	    if(dataSource == "gfdl_esm2g" ){
-     		x.options[0].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-h" ){
-     		x.options[1].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-r" ){
-     		x.options[2].selected=true;
-     	}
-     	else if(dataSource == "ncar_cam5" ){
-     		x.options[3].selected=true;
-     	}
-     	else if(dataSource == "ncc_noresm" ){
-     		x.options[4].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-es" ){
-     		x.options[5].selected=true;
-     	}
-     	else if(dataSource == "cccma_canam4" ){
-     		x.options[6].selected=true;
-     	}
-     	else if(dataSource == "csiro_mk3.6" ){
-     		x.options[7].selected=true;
-     	}
-     	else if(dataSource == "gfdl_cm3" ){
-     		x.options[8].selected=true;
-     	}
-     	else if(dataSource == "ipsl_cm5a-lr" ){
-     		x.options[9].selected=true;
-     	}
-     	else if(dataSource == "miroc_miroc5" ){
-     		x.options[10].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-a" ){
-     		x.options[11].selected=true;
-     	}
-     	else if(dataSource == "nasa_grace" ){
-     		x.options[12].selected=true;
-     	}
-     	else if(dataSource == "nasa_modis" ){
-     		x.options[13].selected=true;
-     	}
-     	else if(dataSource == "nasa_amsre" ){
-     		x.options[14].selected=true;
-     	}
-     	else if(dataSource == "nasa_trmm" ){
-     		x.options[15].selected=true;
-     	}
-     	else if(dataSource == "nasa_gpcp" ){
-     		x.options[16].selected=true;
-     	}
-     	else if(dataSource == "nasa_quikscat" ){
-     		x.options[17].selected=true;
-     	}
-     	else if(dataSource == "nasa_aviso" ){
-     		x.options[18].selected=true;
-     	}
-     	else if(dataSource == "noaa_nodc" ){
-     		x.options[19].selected=true;
-     	}
-     	else if(dataSource == "nasa_ceres" ){
-     		x.options[20].selected=true;
-     	}
-     	else if(dataSource == "nasa_airs" ){
-     		x.options[21].selected=true;
-     	}
-     	else if(dataSource == "nasa_mls" ){
-     		x.options[22].selected=true;
-     	}
-     	else if(dataSource == "nasa_argo" ){
-     		x.options[23].selected=true;
-     	}
-     	else if(dataSource == "ecmwf_interim" ){
-     		x.options[24].selected=true;
-     	}
-    }
-    function changeDataSource2() {
-    	var dataSource = $('#dataSource2').text();
-	    var x = document.getElementById("data2");
-	    if(dataSource == "gfdl_esm2g" ){
-     		x.options[0].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-h" ){
-     		x.options[1].selected=true;
-     	}
-     	else if(dataSource == "giss_e2-r" ){
-     		x.options[2].selected=true;
-     	}
-     	else if(dataSource == "ncar_cam5" ){
-     		x.options[3].selected=true;
-     	}
-     	else if(dataSource == "ncc_noresm" ){
-     		x.options[4].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-es" ){
-     		x.options[5].selected=true;
-     	}
-     	else if(dataSource == "cccma_canam4" ){
-     		x.options[6].selected=true;
-     	}
-     	else if(dataSource == "csiro_mk3.6" ){
-     		x.options[7].selected=true;
-     	}
-     	else if(dataSource == "gfdl_cm3" ){
-     		x.options[8].selected=true;
-     	}
-     	else if(dataSource == "ipsl_cm5a-lr" ){
-     		x.options[9].selected=true;
-     	}
-     	else if(dataSource == "miroc_miroc5" ){
-     		x.options[10].selected=true;
-     	}
-     	else if(dataSource == "ukmo_hadgem2-a" ){
-     		x.options[11].selected=true;
-     	}
-     	else if(dataSource == "nasa_grace" ){
-     		x.options[12].selected=true;
-     	}
-     	else if(dataSource == "nasa_modis" ){
-     		x.options[13].selected=true;
-     	}
-     	else if(dataSource == "nasa_amsre" ){
-     		x.options[14].selected=true;
-     	}
-     	else if(dataSource == "nasa_trmm" ){
-     		x.options[15].selected=true;
-     	}
-     	else if(dataSource == "nasa_gpcp" ){
-     		x.options[16].selected=true;
-     	}
-     	else if(dataSource == "nasa_quikscat" ){
-     		x.options[17].selected=true;
-     	}
-     	else if(dataSource == "nasa_aviso" ){
-     		x.options[18].selected=true;
-     	}
-     	else if(dataSource == "noaa_nodc" ){
-     		x.options[19].selected=true;
-     	}
-     	else if(dataSource == "nasa_ceres" ){
-     		x.options[20].selected=true;
-     	}
-     	else if(dataSource == "nasa_airs" ){
-     		x.options[21].selected=true;
-     	}
-     	else if(dataSource == "nasa_mls" ){
-     		x.options[22].selected=true;
-     	}
-     	else if(dataSource == "nasa_argo" ){
-     		x.options[23].selected=true;
-     	}
-     	else if(dataSource == "ecmwf_interim" ){
-     		x.options[24].selected=true;
-     	}
-    }
-    function changeVariableName1(){
-        var var_string = $('#variableName1').text();
-        var data_string = $('#dataSource1').text();
-        data_string = data_string.replace("_", "/").toUpperCase();
-        var varList2 = dataList[data_string][1];  
-        var x = document.getElementById("var1");
-        for (var i=0; i<varList2.length; i++) {
-      	  var k = varList2[i];
-            if (k == var_string) {
-            	x.options[i].selected=true;
-            	break;
-            }
-        }
-    }
-    function changeVariableName2(){
-        var var_string = $('#variableName2').text();
-        var data_string = $('#dataSource2').text();
-        data_string = data_string.replace("_", "/").toUpperCase();
-        var varList2 = dataList[data_string][1];  
-        var x = document.getElementById("var2");
-        for (var i=0; i<varList2.length; i++) {
-      	  var k = varList2[i];
-            if (k == var_string) {
-            	x.options[i].selected=true;
-            	break;
-            }
-        }
-    }
-    function disable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=true;
-    }
-    function enable_download_button()
-    {
-      var x=document.getElementById("download_data");
-      x.disabled=false;
-    }
-    function disable_pres1(ID)
-    {
-      var x;
-      x=document.getElementById("pres"+ID);
-      x.value = "N/A";
-      x.disabled=true;
-    }
-    function enable_pres1(ID)
-    {
-      var x;
-      x=document.getElementById("pres"+ID);
-      x.value = "500";
-      x.disabled=false;
-    }
-    function put_data(ID){
-      var list1=document.getElementById("data"+ID);
-      for(var key in dataList) {
-        if (key.slice(0,5)==="group") {
-          var og = document.createElement("OPTGROUP");
-          og.setAttribute('label', dataList[key][0]);
-          list1.add(og);
-        } else {
-          og.appendChild(new Option(key,key));
-        }
-      }
-    }
-    function put_var(ID) {
-      var list1=document.getElementById("var"+ID);
-      for (var i=list1.length-1; i>=0; i--) {
-      list1.remove(i);
-      }
-      data_string =  document.getElementById("data"+ID).value;
-      var varList2 = dataList[data_string][1];  
-      for (var i=0; i<varList2.length; i++) {
-        var k = varList2[i];
-        list1.add(new Option(varList[k][0],k));
-      }
-    }
-    function select_var1(ID)
-    {
-      var var_string = $("#var"+ID).val();
-      if (varList[var_string][2]===3) {
-        enable_pres1(ID);
-      } else {
-        disable_pres1(ID);
-      }
-      var var_string1 = $("#var"+1).val();
-      var var_string2 = $("#var"+2).val();
-      var data_string1 = $("#data"+1).val();
-      var data_string2 = $("#data"+2).val();
-      var sTime = Math.max( Number(dataList[data_string1][2][var_string1][0]),
-                            Number(dataList[data_string2][2][var_string2][0]) );
-      var eTime = Math.min( Number(dataList[data_string1][2][var_string1][1]),
-                            Number(dataList[data_string2][2][var_string2][1]) );
-      $("#startYear").html("start year-month: (earliest:" + sTime + ")");
-      $("#endYear").html("end year-month: (latest:" + eTime + ")");
-    }
-    $(document).ready(function(){
-      $("#download_data").click(function(event) {
-        var durl = $("#data_url").val();
-        window.location.assign(durl);
-      });
-      $("#correlationMap").click(function(event) {
-        Response = null;
-        disable_download_button();
-        $("#Response").html("Calculating ...");
-        $("#data_url").html("Calculating ...");
-        $("#Image").html("");
-        var url = "http://" + window.location.hostname + ":9002/svc/correlationMap?";
-        var d1 = $("#data1").val();
-        var model1 = d1.replace("/", "_");
-        model1 = model1.toLowerCase();
-        var arglist = "";
-        arglist = arglist.concat("model1=");
-        arglist = arglist.concat(model1);
-        var variable1 = $("#var1").val();
-        arglist = arglist.concat("&var1=");
-        arglist = arglist.concat(variable1);
-        var pres1 = $("#pres1").val();
-        if (isNaN(Number(pres1))) { pres1 = "-9999"; }
-        arglist = arglist.concat("&pres1=");
-        arglist = arglist.concat(pres1);
-        var d2 = $("#data2").val();
-        var model2 = d2.replace("/", "_");
-        model2 = model2.toLowerCase();
-        arglist = arglist.concat("&model2=");
-        arglist = arglist.concat(model2);
-        var variable2 = $("#var2").val();
-        arglist = arglist.concat("&var2=");
-        arglist = arglist.concat(variable2);
-        var pres2 = $("#pres2").val();
-        if (isNaN(Number(pres2))) { pres2 = "-9999"; }
-        arglist = arglist.concat("&pres2=");
-        arglist = arglist.concat(pres2);
-        var laggedTime = $("#laggedTime").val();
-        arglist = arglist.concat("&laggedTime=");
-        arglist = arglist.concat(laggedTime);
-        var t0 = $("#t0").val();
-        var t1 = $("#t1").val();
-        t0 = t0.replace("-", "");
-        t1 = t1.replace("-", "");
-        arglist = arglist.concat("&start_time=");
-        arglist = arglist.concat(t0);
-        arglist = arglist.concat("&end_time=");
-        arglist = arglist.concat(t1);
-        var lon0 = $("#lon0").val();
-        var lon1 = $("#lon1").val();
-        var lat0 = $("#lat0").val();
-        var lat1 = $("#lat1").val();
-        arglist = arglist.concat("&lon1=");
-        arglist = arglist.concat(lon0);
-        arglist = arglist.concat("&lon2=");
-        arglist = arglist.concat(lon1);
-        arglist = arglist.concat("&lat1=");
-        arglist = arglist.concat(lat0);
-        arglist = arglist.concat("&lat2=");
-        arglist = arglist.concat(lat1);
-        var purpose = $("#purpose").val();
-        arglist = arglist.concat("&purpose=");
-        arglist = arglist.concat(purpose);
-        url = url + encodeURI(arglist);
-        var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/two_time_bounds?";
-        var arglistTB = "";
-        arglistTB = arglistTB.concat("serviceType=");
-        arglistTB = arglistTB.concat("2");
-        arglistTB = arglistTB.concat("&source1=");
-        arglistTB = arglistTB.concat(d1);
-        arglistTB = arglistTB.concat("&var1=");
-        arglistTB = arglistTB.concat(variable1);
-        arglistTB = arglistTB.concat("&source2=");
-        arglistTB = arglistTB.concat(d2);
-        arglistTB = arglistTB.concat("&var2=");
-        arglistTB = arglistTB.concat(variable2);
-        urlTimeBounds = urlTimeBounds + encodeURI(arglistTB);
-        $.ajax({
-            type: "GET",
-            url: urlTimeBounds,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                var tb1 = data.time_bounds1;
-                var bds1 = String(tb1).split(",");
-                var lowerT1 = parseInt(bds1[0]);
-                var upperT1 = parseInt(bds1[1]);
-                var tb2 = data.time_bounds2;
-                var bds2 = String(tb2).split(",");
-                var lowerT2 = parseInt(bds2[0]);
-                var upperT2 = parseInt(bds2[1]);
-                var t0I = parseInt(t0);
-                var t1I = parseInt(t1);
-                var lowerT, upperT;
-                if (lowerT1 == 0  || upperT1 == 0){ 
-                  alert("We do not have data for the data-1 source and variable configuration.");
-                  alert(urlTimeBounds);
-                  return;
-                }
-                else if (lowerT2 == 0  || upperT2 == 0){ 
-                  alert("We do not have data for the data-2 source and variable configuration.");
-                  return;
-                }
-                else if (lowerT2 > upperT1 || lowerT1 > upperT2) { 
-                  alert("The two data sets/vars do not have a common time range.");
-                  return;
-                }
-                else { 
-                  if (lowerT1 > lowerT2) { 
-                    lowerT = lowerT1;
-                  }
-                  else {
-                    lowerT = lowerT2;
-                  }
-                  if (upperT1 > upperT2) { 
-                    upperT = upperT2;
-                  }
-                  else {
-                    upperT = upperT1;
-                  }
-                }
-                if (t0I < lowerT && t1I < lowerT ||
-                    t0I > upperT && t1I > upperT) {
-                  alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"].");
-                  return;
-                }
-                if (t0I < lowerT && t1I <= upperT) {
-                  alert("Your start year-month is out of bound. It has to be in or later than " + lowerT +
-                        ". We will use the range ["+lowerT+", "+t1I+"] for you.");
-                }
-                if (t1I > upperT && t0I >= lowerT) {
-                  alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT +
-                        ". We will use the range ["+t0I+", "+upperT+"] for you.");
-                }
-                if (t0I < lowerT && t1I > upperT ) {
-                  alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT +
-                        ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you.");
-                }
-            },
-            error: function(xhr, textStatus, errorThrown) {
-		$("#Response").html("error!");
-		$("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-        $.ajax({
-            type: "GET",
-            url: url,
-            dataType: "json",
-            data: null,
-            success: function(data, textStatus, xhr) {
-                Response = data;
-                if (data.success == false) {
-                    Response = null;
-                    var text = JSON.stringify(data, null, 4);
-                    if (text.indexOf("No Data") != -1) {
-                      $("#Image").html("No Data");
-                      $("#Response").html("No Data");
-                      $("#data_url").html("No Data");
-                      return;
-                    }
-                    text = "Error in backend: <br>" + text; 
-                    $("#Response").html(text);
-                    $("#data_url").html(text);
-                    return;
-                }
-                var text = JSON.stringify(data, null, 4);
-                $("#Response").html(text);
-                var html = "<img src='" + data.url + "?" + new Date().getTime() + "' width='820'/>";
-                $("#Image").html(html);
-                $("#data_url").html(data.dataUrl);
-                enable_download_button();
-            },
-            error: function(xhr, textStatus, errorThrown) {
-                $("#Response").html("error!");
-                $("#data_url").html("error!");
-            },
-            complete: function(xhr, textStatus) {
-            }
-        });
-      });
-    });
-  </script>
-} @main("Parameters of ConfId", scripts){ @flash_message()
-<p>
-<div id="dataSource1" style="display: none;">@parameters.getSource1()</div>
-<div id="dataSource2" style="display: none;">@parameters.getSource2()</div>
-<div id="variableName1" style="display: none;">@parameters.getVariableName1()</div>
-<div id="variableName2" style="display: none;">@parameters.getVariableName2()</div>
-<div id="startYearMonth" style="display: none;">@parameters.getStartYear()</div>
-<div id="endYearMonth" style="display: none;">@parameters.getEndYear()</div>
-<div id="pressureLevel1" style="display: none;">@parameters.getPressureLevel1()</div>
-<div id="pressureLevel2" style="display: none;">@parameters.getPressureLevel2()</div>
-<div id="startLat" style="display: none;">@parameters.getStartLat()</div>
-<div id="endLat" style="display: none;">@parameters.getEndLat()</div>
-<div id="startLon" style="display: none;">@parameters.getStartLon()</div>
-<div id="endLon" style="display: none;">@parameters.getEndLon()</div>
-<div id="laggedT" style="display: none;">@parameters.getLaggedTime()</div>
-<div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div>
-<div id="dataURL" style="display: none;">@parameters.getDataURL()</div>
-<div id="serviceResponseText" style="display: none;">@parameters.getServiceResponseText()</div>
-<table border="1">
-	<tr>
-		<td colspan="4">
-			<center>
-				<b>Service: Time-Lagged Correlation Map of Two Variables</b><br>
-				<br> This service generates a time-lagged correlation map
-				between two specified variables. <br>The two variables can be
-				either a two-dimensional variable or a slice of a three-dimensional
-				variable at a specific pressure level. <br> <br>
-			</center>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="2">
-			<center>data1[t-lag]</center>
-		</td>
-		<td colspan="2">
-			<center>data2[t]</center>
-		</td>
-	</tr>
-	<tr>
-		<td>source:</td>
-		<td><select name="data1" , id="data1"
-			onchange="put_var(1); select_var1(1)">
-		</select></td>
-		<td>source:</td>
-		<td><select name="data2" , id="data2"
-			onchange="put_var(2); select_var1(2)">
-		</select></td>
-	</tr>
-	<tr>
-		<td>variable name:</td>
-		<td><select name="var1" , id="var1" onchange="select_var1(1)"></select></td>
-		<td>variable name:</td>
-		<td><select name="var2" , id="var2" onchange="select_var1(2)"></select></td>
-	</tr>
-	<tr>
-		<td>atmosphere pressure level (hPa) <br> or ocean pressure
-			level (dbar)
-		</td>
-		<td><input id="pres1" value="@parameters.getPressureLevel1()"
-			alt="pressure" /></td>
-		<td>atmosphere pressure level (hPa) <br> or ocean pressure
-			level (dbar)
-		</td>
-		<td><input id="pres2" value="@parameters.getPressureLevel2()"
-			alt="pressure" /></td>
-	</tr>
-	<tr>
-	</tr>
-	<tr>
-		<td id=startYear>start year-month:</td>
-		<td><input id="t0" value="@parameters.getStartYear()" alt="start" /></td>
-		<td id=endYear>end year-month:</td>
-		<td><input id="t1" value="@parameters.getEndYear()" alt="end" /></td>
-	</tr>
-	<tr>
-		<td>start lat (deg):</td>
-		<td><input id="lat0" value="@parameters.getStartLat()" /></td>
-		<td>end lat (deg):</td>
-		<td><input id="lat1" value="@parameters.getEndLat()" /></td>
-	</tr>
-	<tr>
-		<td>start lon (deg):</td>
-		<td><input id="lon0" value="@parameters.getStartLon()" /></td>
-		<td>end lon (deg):</td>
-		<td><input id="lon1" value="@parameters.getEndLon()" /></td>
-	</tr>
-	<tr>
-		<td></td>
-		<td colspan="2"><center>
-				lag (month):<input id="laggedTime"
-					value="@parameters.getLaggedTime()" />
-			</center></td>
-		<td></td>
-	</tr>
-	</tr>
-	<tr>
-		<td colspan="1">Execution purpose</td>
-		<td colspan="3">
-			<form>
-				<textarea name="purpose" id="purpose" rows="4" cols="50">@parameters.getExecutionPurpose()</textarea>
-			</form>
-		</td>
-	</tr>
-	<tr>
-	<tr>
-		<td colspan="2" align="center"><input id="correlationMap"
-			type="submit" value="            Run Again            "
-			style="height: 28px" /></td>
-		<form>
-			<td colspan="2" align="center"><input id="download_data"
-				type="button" value="Download Data" style="height: 28px" /></td>
-		</form>
-	</tr>
-	<tr>
-		<td colspan="4">
-			<div id="Image">
-				<img src="@parameters.getImage()" width=680 />
-			</div>
-		</td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea readonly id="data_url"
-				cols="130" rows="2">@parameters.getDataURL()</textarea></td>
-	</tr>
-	<tr>
-		<td colspan="4" align="center"><textarea id="Response" cols="130"
-				rows="6">@parameters.getServiceResponseText()</textarea></td>
-	</tr>
-</table>
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/dataRecommend.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/dataRecommend.scala.html b/app/views/climate/dataRecommend.scala.html
deleted file mode 100644
index 83ddcd0..0000000
--- a/app/views/climate/dataRecommend.scala.html
+++ /dev/null
@@ -1,118 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(jsonData: String)
-@import helper._
-
-<link rel="stylesheet"
-    href='@routes.Assets.at("stylesheets/custom_recommend.css")'>
-
-<link rel="stylesheet"
-  href="https://cdnjs.cloudflare.com/ajax/libs/vis/3.11.0/vis.min.css"
->
-
-<link rel="stylesheet"
-    href='@routes.Assets.at("stylesheets/livefitler.css")'>
-    
-@scripts = {
-    <script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-    <script src='@routes.Assets.at("javascripts/livefilter.js")'></script>
-    <script type="text/javascript" src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script>
-}
-
-@main("Service Logs", scripts){
-    
-    @flash_message()   
-
-  <div id="jsonData" style="display: none;">@jsonData</div>
-  <div id="graphText">
-    <div class="row">
-      <div class="col-lg-9" id="testGraph">
-      </div>
-      <div class="col-lg-3" id="testText">
-      </div>
-    </div>
-  </div>
-
-
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/vis/3.11.0/vis.min.js"></script>
-  <script type="text/javascript">
-      
-      var jsonString = $('#jsonData').text();
-      var data = JSON.parse(jsonString);
-      var container = document.getElementById('testGraph');
-
-      var options = {
-        stabilize:false,
-        edges: {
-          color: {
-            color: "gray",
-            highlight: "gray",
-          },
-        },
-        nodes: {
-          shape: 'dot',
-          radiusMin: 10,
-          radiusMax: 30,
-        },
-        groups: {
-          user: {
-            color:"#F2545A",
-            shape:"star",
-          },
-          feature: {
-            shape:"triangle",
-            color:"#EC8F93",
-          },
-          service: {
-            color:"#EF777C",
-            shape:"dot",
-          },
-          data: {
-            color:"#F46369",
-            shape:"square",
-          }
-        },
-        tooltip: {
-          delay: 300,
-          fontColor: "black",
-          fontSize: 14,
-          fontFace: "verdana",
-          color: {
-            border: "#666",
-            background: "#FFFFC6"
-          }
-        },
-      };
-
-      var network = new vis.Network(container, data, options);
-      
-      network.on('select', function(properties) {
-        var select_node = $.grep(data.nodes, function(e){
-          return e["id"] == properties.nodes[0];
-        })[0];
-        $("#testText").html(select_node["title"]);
-      });
-
-      //focus on serviceid 19
-      //network.focusOnNode(19);
-    
-  </script>
-  
-  
-    
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/dataSetList.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/dataSetList.scala.html b/app/views/climate/dataSetList.scala.html
deleted file mode 100644
index 821183c..0000000
--- a/app/views/climate/dataSetList.scala.html
+++ /dev/null
@@ -1,96 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(dataSets: List[DataSet], dataSetForm: play.data.Form[DataSet])
-
-@import helper._
-
-@scripts = {
-	<script src='@routes.Assets.at("javascripts/edit_button.js")'></script>
-	<script type="text/javascript">
-	$(document).ready(function(){
-		//alert($("#url").text());
-	});
-	</script>
-}
-
-@main("Dataset List", scripts) {
-	
-	@flash_message()   
-	 
-    <h1>Climate Datasets</h1>
-    <h2>@dataSets.size() Datasets Found</h2>
-    <div style="overflow-y:scroll">
-
-		<table class="table table-striped table-bordered table-condensed tablesorter" id ="myTable">
-		<thead>
-	<tr >
-		<th style = "vertical-align: top;" class="col-md-1 header">Id</th>
-		<th style = "vertical-align: top;" class="col-md-2">Dataset Name</th>
-		<th style = "vertical-align: top;" class="col-md-1">Agency</th>
-		<th style = "vertical-align: top;" class="col-md-1">Instrument</th>
-		<th style = "vertical-align: top;" class="col-md-2">Physical variable</th>
-		<th style = "vertical-align: top;" class="col-md-1">Variable short name</th>
-		<th style = "vertical-align: top;" class="col-md-1">Units</th>
-		<th style = "vertical-align: top;" class="col-md-1">Grid Dimension</th>
-		<!--  
-		<th style = "vertical-align: top;" class="col-md-3">Source</th> 
-		<th style = "vertical-align: top;" class="col-md-3">Status</th>
-		<th style = "vertical-align: top;" class="col-md-4">Responsible Person</th>
-		<th style = "vertical-align: top;" class="col-md-4">Data Source Name in Web Interface</th> 
-		-->
-		<th style = "vertical-align: top;" class="col-md-2">Variable Name in Web Interface</th>
-		<th style = "vertical-align: top;" class="col-md-1">Data Source Input Parameter</th>
-		<!-- <th style = "vertical-align: top;" class="col-md-3">Variable Name Input Parameter</th> -->
-		<th style = "vertical-align: top;" class="col-md-1">Dataset Start Time</th>
-		<th style = "vertical-align: top;"class="col-md-1">Dataset End Time</th>
-
-	</tr>
-	</thead>
-	<tbody>
-	@for(dataSet <- dataSets){
-	<tr>
-		<td><font size="2">@dataSet.getId()</font></td>
-		<td><font size="2">@dataSet.getDataSetName()</font></td>
-		<td><font size="2">@dataSet.getAgencyId()</font></td>
-		<td><font size="2">@dataSet.getInstrument()</font></td>
-		<td><font size="2">@dataSet.getPhysicalVariable()</font></td>
-		<td><font size="2">@dataSet.getCMIP5VarName()</font></td>
-		<td><font size="2">@dataSet.getUnits()</font></td>
-		<td><font size="2">@dataSet.getGridDimension()</font></td>
-		<!--
-		<td><font size="2">@dataSet.getSource()</font></td>
-		<td><font size="2">@dataSet.getStatus()</font></td>
-		<td><font size="2">@dataSet.getResponsiblePerson()</font></td>
-		<td><font size="2">@dataSet.getDataSourceName()</font></td>
-		-->
-		<td><font size="2">@dataSet.getVariableName()</font></td>
-		<td><font size="2">@dataSet.getDataSourceInput()</font></td>
-		<!--<td><font size="2">@dataSet.getVariableNameInput()</font></td> -->
-		<td><font size="2">@dataSet.getStartTime()</font></td>
-		<td><font size="2">@dataSet.getEndTime()</font></td>
-		
-	</tr>
-	
-	}
-	</tbody>
-    </table>
-    
- 
-    
-    </div>
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/app/views/climate/datasetTime.scala.html
----------------------------------------------------------------------
diff --git a/app/views/climate/datasetTime.scala.html b/app/views/climate/datasetTime.scala.html
deleted file mode 100644
index cfa8375..0000000
--- a/app/views/climate/datasetTime.scala.html
+++ /dev/null
@@ -1,66 +0,0 @@
-@*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more		   *
- * contributor license agreements.  See the NOTICE file distributed with	   *
- * this work for additional information regarding copyright ownership.         *
- * The ASF licenses this file to You under the Apache License, Version 2.0     *
- * (the "License"); you may not use this file except in compliance with        *
- * the License.  You may obtain a copy of the License at                       *
- *                                                                             *
- *    http://www.apache.org/licenses/LICENSE-2.0                               *
- *																			   *
- * Unless required by applicable law or agreed to in writing, software         *
- * distributed under the License is distributed on an "AS IS" BASIS,           *
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    *
- * See the License for the specific language governing permissions and         *
- * limitations under the License.											   *
- *******************************************************************************@ 
-
-@(message: String) 
-
-@scripts = {
-
-<script type="text/javascript" src='@routes.Assets.at("javascripts/dataList1.js")'></script>
-<script type="text/javascript">
-	window.onload = function() {
-		var table = document.getElementById("myTable");	
-		var obj = new Object();
-		for (var group in dataList) {
-			for (var dataset in dataList[group][2]) {
-				var row = table.insertRow(1);
-			    var groupName = row.insertCell(0);
-			    var name = row.insertCell(1);
-			    var startTime = row.insertCell(2);
-			    var endTime = row.insertCell(3);
-			    
-			    groupName.innerHTML = group;
-			    name.innerHTML = dataset;
-			    startTime.innerHTML = dataList[group][2][dataset][0];
-			    endTime.innerHTML = dataList[group][2][dataset][1];
-			    
-				obj[group + "_" + dataset] = [dataList[group][2][dataset][0],dataList[group][2][dataset][1]];
-			}
-		}
-		document.getElementById("demo").innerHTML = Object.keys(obj).length + " Datasets";
-	}
-</script>
-}
-
-@main("Dataset Time", scripts) {
-
-<h1>Dataset Time</h1>
-
-<h4 id="demo"></h4>
-
-<table class="table table-striped table-bordered table-condensed" id="myTable">
-	<tbody>
-		<tr>
-			<th class="col-md-3">Dataset Name</th>
-			<th class="col-md-3">Variable Name</th>
-			<th class="col-md-3">Start Time</th>
-			<th class="col-md-3">End Time</th>
-		</tr>
-	</tbody>
-</table>
-
-
-}
\ No newline at end of file


[04/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/js/jquery.flot.min.js
----------------------------------------------------------------------
diff --git a/public/js/jquery.flot.min.js b/public/js/jquery.flot.min.js
deleted file mode 100644
index 31f465b..0000000
--- a/public/js/jquery.flot.min.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(){jQuery.color={};jQuery.color.make=function(G,H,J,I){var A={};A.r=G||0;A.g=H||0;A.b=J||0;A.a=I!=null?I:1;A.add=function(C,D){for(var E=0;E<C.length;++E){A[C.charAt(E)]+=D}return A.normalize()};A.scale=function(C,D){for(var E=0;E<C.length;++E){A[C.charAt(E)]*=D}return A.normalize()};A.toString=function(){if(A.a>=1){return"rgb("+[A.r,A.g,A.b].join(",")+")"}else{return"rgba("+[A.r,A.g,A.b,A.a].join(",")+")"}};A.normalize=function(){function C(E,D,F){return D<E?E:(D>F?F:D)}A.r=C(0,parseInt(A.r),255);A.g=C(0,parseInt(A.g),255);A.b=C(0,parseInt(A.b),255);A.a=C(0,A.a,1);return A};A.clone=function(){return jQuery.color.make(A.r,A.b,A.g,A.a)};return A.normalize()};jQuery.color.extract=function(E,F){var A;do{A=E.css(F).toLowerCase();if(A!=""&&A!="transparent"){break}E=E.parent()}while(!jQuery.nodeName(E.get(0),"body"));if(A=="rgba(0, 0, 0, 0)"){A="transparent"}return jQuery.color.parse(A)};jQuery.color.parse=function(A){var F,H=jQuery.color.make;if(F=/rgb\(\s*([0-9]{1,3})\s*,\s*([0
 -9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(A)){return H(parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10))}if(F=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(A)){return H(parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10),parseFloat(F[4]))}if(F=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(A)){return H(parseFloat(F[1])*2.55,parseFloat(F[2])*2.55,parseFloat(F[3])*2.55)}if(F=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(A)){return H(parseFloat(F[1])*2.55,parseFloat(F[2])*2.55,parseFloat(F[3])*2.55,parseFloat(F[4]))}if(F=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(A)){return H(parseInt(F[1],16),parseInt(F[2],16),parseInt(F[3],16))}if(F=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(A)){return H(parseInt(F[1]+F[1],16),parseInt(F[2]+F[2],16),parseInt(F[3]+F[3],16))}var G=jQu
 ery.trim(A).toLowerCase();if(G=="transparent"){return H(255,255,255,0)}else{F=B[G];return H(F[0],F[1],F[2])}};var B={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})();(function(
 C){function B(l,W,X,E){var O=[],g={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:0.85},xaxis:{mode:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,tickDecimals:null,tickSize:null,minTickSize:null,monthNames:null,timeformat:null,twelveHourClock:false},yaxis:{autoscaleMargin:0.02},x2axis:{autoscaleMargin:null},y2axis:{autoscaleMargin:0.02},series:{points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false},shadowSize:3},grid:{show:true,aboveData:false,color:"#545454",backgroundColor:null,tickColor:"rgba(0,0,0,0.15)",labelMargin:5,borderWidth:2,borderColor:null,mark
 ings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},hooks:{}},P=null,AC=null,AD=null,Y=null,AJ=null,s={xaxis:{},yaxis:{},x2axis:{},y2axis:{}},e={left:0,right:0,top:0,bottom:0},y=0,Q=0,I=0,t=0,L={processOptions:[],processRawData:[],processDatapoints:[],draw:[],bindEvents:[],drawOverlay:[]},G=this;G.setData=f;G.setupGrid=k;G.draw=AH;G.getPlaceholder=function(){return l};G.getCanvas=function(){return P};G.getPlotOffset=function(){return e};G.width=function(){return I};G.height=function(){return t};G.offset=function(){var AK=AD.offset();AK.left+=e.left;AK.top+=e.top;return AK};G.getData=function(){return O};G.getAxes=function(){return s};G.getOptions=function(){return g};G.highlight=AE;G.unhighlight=x;G.triggerRedrawOverlay=q;G.pointOffset=function(AK){return{left:parseInt(T(AK,"xaxis").p2c(+AK.x)+e.left),top:parseInt(T(AK,"yaxis").p2c(+AK.y)+e.top)}};G.hooks=L;b(G);r(X);c();f(W);k();AH();AG();function Z(AM,AK){A
 K=[G].concat(AK);for(var AL=0;AL<AM.length;++AL){AM[AL].apply(this,AK)}}function b(){for(var AK=0;AK<E.length;++AK){var AL=E[AK];AL.init(G);if(AL.options){C.extend(true,g,AL.options)}}}function r(AK){C.extend(true,g,AK);if(g.grid.borderColor==null){g.grid.borderColor=g.grid.color}if(g.xaxis.noTicks&&g.xaxis.ticks==null){g.xaxis.ticks=g.xaxis.noTicks}if(g.yaxis.noTicks&&g.yaxis.ticks==null){g.yaxis.ticks=g.yaxis.noTicks}if(g.grid.coloredAreas){g.grid.markings=g.grid.coloredAreas}if(g.grid.coloredAreasColor){g.grid.markingsColor=g.grid.coloredAreasColor}if(g.lines){C.extend(true,g.series.lines,g.lines)}if(g.points){C.extend(true,g.series.points,g.points)}if(g.bars){C.extend(true,g.series.bars,g.bars)}if(g.shadowSize){g.series.shadowSize=g.shadowSize}for(var AL in L){if(g.hooks[AL]&&g.hooks[AL].length){L[AL]=L[AL].concat(g.hooks[AL])}}Z(L.processOptions,[g])}function f(AK){O=M(AK);U();m()}function M(AN){var AL=[];for(var AK=0;AK<AN.length;++AK){var AM=C.extend(true,{},g.series);if(AN[A
 K].data){AM.data=AN[AK].data;delete AN[AK].data;C.extend(true,AM,AN[AK]);AN[AK].data=AM.data}else{AM.data=AN[AK]}AL.push(AM)}return AL}function T(AM,AK){var AL=AM[AK];if(!AL||AL==1){return s[AK]}if(typeof AL=="number"){return s[AK.charAt(0)+AL+AK.slice(1)]}return AL}function U(){var AP;var AV=O.length,AK=[],AN=[];for(AP=0;AP<O.length;++AP){var AS=O[AP].color;if(AS!=null){--AV;if(typeof AS=="number"){AN.push(AS)}else{AK.push(C.color.parse(O[AP].color))}}}for(AP=0;AP<AN.length;++AP){AV=Math.max(AV,AN[AP]+1)}var AL=[],AO=0;AP=0;while(AL.length<AV){var AR;if(g.colors.length==AP){AR=C.color.make(100,100,100)}else{AR=C.color.parse(g.colors[AP])}var AM=AO%2==1?-1:1;AR.scale("rgb",1+AM*Math.ceil(AO/2)*0.2);AL.push(AR);++AP;if(AP>=g.colors.length){AP=0;++AO}}var AQ=0,AW;for(AP=0;AP<O.length;++AP){AW=O[AP];if(AW.color==null){AW.color=AL[AQ].toString();++AQ}else{if(typeof AW.color=="number"){AW.color=AL[AW.color].toString()}}if(AW.lines.show==null){var AU,AT=true;for(AU in AW){if(AW[AU].show){
 AT=false;break}}if(AT){AW.lines.show=true}}AW.xaxis=T(AW,"xaxis");AW.yaxis=T(AW,"yaxis")}}function m(){var AW=Number.POSITIVE_INFINITY,AQ=Number.NEGATIVE_INFINITY,Ac,Aa,AZ,AV,AL,AR,Ab,AX,AP,AO,AK,Ai,Af,AT;for(AK in s){s[AK].datamin=AW;s[AK].datamax=AQ;s[AK].used=false}function AN(Al,Ak,Aj){if(Ak<Al.datamin){Al.datamin=Ak}if(Aj>Al.datamax){Al.datamax=Aj}}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];AR.datapoints={points:[]};Z(L.processRawData,[AR,AR.data,AR.datapoints])}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];var Ah=AR.data,Ae=AR.datapoints.format;if(!Ae){Ae=[];Ae.push({x:true,number:true,required:true});Ae.push({y:true,number:true,required:true});if(AR.bars.show){Ae.push({y:true,number:true,required:false,defaultValue:0})}AR.datapoints.format=Ae}if(AR.datapoints.pointsize!=null){continue}if(AR.datapoints.pointsize==null){AR.datapoints.pointsize=Ae.length}AX=AR.datapoints.pointsize;Ab=AR.datapoints.points;insertSteps=AR.lines.show&&AR.lines.steps;AR.xaxis.used=AR.yaxis.used=true;for(Aa=AZ=0;Aa<Ah
 .length;++Aa,AZ+=AX){AT=Ah[Aa];var AM=AT==null;if(!AM){for(AV=0;AV<AX;++AV){Ai=AT[AV];Af=Ae[AV];if(Af){if(Af.number&&Ai!=null){Ai=+Ai;if(isNaN(Ai)){Ai=null}}if(Ai==null){if(Af.required){AM=true}if(Af.defaultValue!=null){Ai=Af.defaultValue}}}Ab[AZ+AV]=Ai}}if(AM){for(AV=0;AV<AX;++AV){Ai=Ab[AZ+AV];if(Ai!=null){Af=Ae[AV];if(Af.x){AN(AR.xaxis,Ai,Ai)}if(Af.y){AN(AR.yaxis,Ai,Ai)}}Ab[AZ+AV]=null}}else{if(insertSteps&&AZ>0&&Ab[AZ-AX]!=null&&Ab[AZ-AX]!=Ab[AZ]&&Ab[AZ-AX+1]!=Ab[AZ+1]){for(AV=0;AV<AX;++AV){Ab[AZ+AX+AV]=Ab[AZ+AV]}Ab[AZ+1]=Ab[AZ-AX+1];AZ+=AX}}}}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];Z(L.processDatapoints,[AR,AR.datapoints])}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];Ab=AR.datapoints.points,AX=AR.datapoints.pointsize;var AS=AW,AY=AW,AU=AQ,Ad=AQ;for(Aa=0;Aa<Ab.length;Aa+=AX){if(Ab[Aa]==null){continue}for(AV=0;AV<AX;++AV){Ai=Ab[Aa+AV];Af=Ae[AV];if(!Af){continue}if(Af.x){if(Ai<AS){AS=Ai}if(Ai>AU){AU=Ai}}if(Af.y){if(Ai<AY){AY=Ai}if(Ai>Ad){Ad=Ai}}}}if(AR.bars.show){var Ag=AR.bars.align=="left"?0:
 -AR.bars.barWidth/2;if(AR.bars.horizontal){AY+=Ag;Ad+=Ag+AR.bars.barWidth}else{AS+=Ag;AU+=Ag+AR.bars.barWidth}}AN(AR.xaxis,AS,AU);AN(AR.yaxis,AY,Ad)}for(AK in s){if(s[AK].datamin==AW){s[AK].datamin=null}if(s[AK].datamax==AQ){s[AK].datamax=null}}}function c(){function AK(AM,AL){var AN=document.createElement("canvas");AN.width=AM;AN.height=AL;if(C.browser.msie){AN=window.G_vmlCanvasManager.initElement(AN)}return AN}y=l.width();Q=l.height();l.html("");if(l.css("position")=="static"){l.css("position","relative")}if(y<=0||Q<=0){throw"Invalid dimensions for plot, width = "+y+", height = "+Q}if(C.browser.msie){window.G_vmlCanvasManager.init_(document)}P=C(AK(y,Q)).appendTo(l).get(0);Y=P.getContext("2d");AC=C(AK(y,Q)).css({position:"absolute",left:0,top:0}).appendTo(l).get(0);AJ=AC.getContext("2d");AJ.stroke()}function AG(){AD=C([AC,P]);if(g.grid.hoverable){AD.mousemove(D)}if(g.grid.clickable){AD.click(d)}Z(L.bindEvents,[AD])}function k(){function AL(AT,AU){function AP(AV){return AV}var AS,
 AO,AQ=AU.transform||AP,AR=AU.inverseTransform;if(AT==s.xaxis||AT==s.x2axis){AS=AT.scale=I/(AQ(AT.max)-AQ(AT.min));AO=AQ(AT.min);if(AQ==AP){AT.p2c=function(AV){return(AV-AO)*AS}}else{AT.p2c=function(AV){return(AQ(AV)-AO)*AS}}if(!AR){AT.c2p=function(AV){return AO+AV/AS}}else{AT.c2p=function(AV){return AR(AO+AV/AS)}}}else{AS=AT.scale=t/(AQ(AT.max)-AQ(AT.min));AO=AQ(AT.max);if(AQ==AP){AT.p2c=function(AV){return(AO-AV)*AS}}else{AT.p2c=function(AV){return(AO-AQ(AV))*AS}}if(!AR){AT.c2p=function(AV){return AO-AV/AS}}else{AT.c2p=function(AV){return AR(AO-AV/AS)}}}}function AN(AR,AT){var AQ,AS=[],AP;AR.labelWidth=AT.labelWidth;AR.labelHeight=AT.labelHeight;if(AR==s.xaxis||AR==s.x2axis){if(AR.labelWidth==null){AR.labelWidth=y/(AR.ticks.length>0?AR.ticks.length:1)}if(AR.labelHeight==null){AS=[];for(AQ=0;AQ<AR.ticks.length;++AQ){AP=AR.ticks[AQ].label;if(AP){AS.push('<div class="tickLabel" style="float:left;width:'+AR.labelWidth+'px">'+AP+"</div>")}}if(AS.length>0){var AO=C('<div style="position:
 absolute;top:-10000px;width:10000px;font-size:smaller">'+AS.join("")+'<div style="clear:left"></div></div>').appendTo(l);AR.labelHeight=AO.height();AO.remove()}}}else{if(AR.labelWidth==null||AR.labelHeight==null){for(AQ=0;AQ<AR.ticks.length;++AQ){AP=AR.ticks[AQ].label;if(AP){AS.push('<div class="tickLabel">'+AP+"</div>")}}if(AS.length>0){var AO=C('<div style="position:absolute;top:-10000px;font-size:smaller">'+AS.join("")+"</div>").appendTo(l);if(AR.labelWidth==null){AR.labelWidth=AO.width()}if(AR.labelHeight==null){AR.labelHeight=AO.find("div").height()}AO.remove()}}}if(AR.labelWidth==null){AR.labelWidth=0}if(AR.labelHeight==null){AR.labelHeight=0}}function AM(){var AP=g.grid.borderWidth;for(i=0;i<O.length;++i){AP=Math.max(AP,2*(O[i].points.radius+O[i].points.lineWidth/2))}e.left=e.right=e.top=e.bottom=AP;var AO=g.grid.labelMargin+g.grid.borderWidth;if(s.xaxis.labelHeight>0){e.bottom=Math.max(AP,s.xaxis.labelHeight+AO)}if(s.yaxis.labelWidth>0){e.left=Math.max(AP,s.yaxis.labelWidth+
 AO)}if(s.x2axis.labelHeight>0){e.top=Math.max(AP,s.x2axis.labelHeight+AO)}if(s.y2axis.labelWidth>0){e.right=Math.max(AP,s.y2axis.labelWidth+AO)}I=y-e.left-e.right;t=Q-e.bottom-e.top}var AK;for(AK in s){K(s[AK],g[AK])}if(g.grid.show){for(AK in s){F(s[AK],g[AK]);p(s[AK],g[AK]);AN(s[AK],g[AK])}AM()}else{e.left=e.right=e.top=e.bottom=0;I=y;t=Q}for(AK in s){AL(s[AK],g[AK])}if(g.grid.show){h()}AI()}function K(AN,AQ){var AM=+(AQ.min!=null?AQ.min:AN.datamin),AK=+(AQ.max!=null?AQ.max:AN.datamax),AP=AK-AM;if(AP==0){var AL=AK==0?1:0.01;if(AQ.min==null){AM-=AL}if(AQ.max==null||AQ.min!=null){AK+=AL}}else{var AO=AQ.autoscaleMargin;if(AO!=null){if(AQ.min==null){AM-=AP*AO;if(AM<0&&AN.datamin!=null&&AN.datamin>=0){AM=0}}if(AQ.max==null){AK+=AP*AO;if(AK>0&&AN.datamax!=null&&AN.datamax<=0){AK=0}}}}AN.min=AM;AN.max=AK}function F(AP,AS){var AO;if(typeof AS.ticks=="number"&&AS.ticks>0){AO=AS.ticks}else{if(AP==s.xaxis||AP==s.x2axis){AO=0.3*Math.sqrt(y)}else{AO=0.3*Math.sqrt(Q)}}var AX=(AP.max-AP.min)/AO,A
 Z,AT,AV,AW,AR,AM,AL;if(AS.mode=="time"){var AU={second:1000,minute:60*1000,hour:60*60*1000,day:24*60*60*1000,month:30*24*60*60*1000,year:365.2425*24*60*60*1000};var AY=[[1,"second"],[2,"second"],[5,"second"],[10,"second"],[30,"second"],[1,"minute"],[2,"minute"],[5,"minute"],[10,"minute"],[30,"minute"],[1,"hour"],[2,"hour"],[4,"hour"],[8,"hour"],[12,"hour"],[1,"day"],[2,"day"],[3,"day"],[0.25,"month"],[0.5,"month"],[1,"month"],[2,"month"],[3,"month"],[6,"month"],[1,"year"]];var AN=0;if(AS.minTickSize!=null){if(typeof AS.tickSize=="number"){AN=AS.tickSize}else{AN=AS.minTickSize[0]*AU[AS.minTickSize[1]]}}for(AR=0;AR<AY.length-1;++AR){if(AX<(AY[AR][0]*AU[AY[AR][1]]+AY[AR+1][0]*AU[AY[AR+1][1]])/2&&AY[AR][0]*AU[AY[AR][1]]>=AN){break}}AZ=AY[AR][0];AV=AY[AR][1];if(AV=="year"){AM=Math.pow(10,Math.floor(Math.log(AX/AU.year)/Math.LN10));AL=(AX/AU.year)/AM;if(AL<1.5){AZ=1}else{if(AL<3){AZ=2}else{if(AL<7.5){AZ=5}else{AZ=10}}}AZ*=AM}if(AS.tickSize){AZ=AS.tickSize[0];AV=AS.tickSize[1]}AT=function(
 Ac){var Ah=[],Af=Ac.tickSize[0],Ai=Ac.tickSize[1],Ag=new Date(Ac.min);var Ab=Af*AU[Ai];if(Ai=="second"){Ag.setUTCSeconds(A(Ag.getUTCSeconds(),Af))}if(Ai=="minute"){Ag.setUTCMinutes(A(Ag.getUTCMinutes(),Af))}if(Ai=="hour"){Ag.setUTCHours(A(Ag.getUTCHours(),Af))}if(Ai=="month"){Ag.setUTCMonth(A(Ag.getUTCMonth(),Af))}if(Ai=="year"){Ag.setUTCFullYear(A(Ag.getUTCFullYear(),Af))}Ag.setUTCMilliseconds(0);if(Ab>=AU.minute){Ag.setUTCSeconds(0)}if(Ab>=AU.hour){Ag.setUTCMinutes(0)}if(Ab>=AU.day){Ag.setUTCHours(0)}if(Ab>=AU.day*4){Ag.setUTCDate(1)}if(Ab>=AU.year){Ag.setUTCMonth(0)}var Ak=0,Aj=Number.NaN,Ad;do{Ad=Aj;Aj=Ag.getTime();Ah.push({v:Aj,label:Ac.tickFormatter(Aj,Ac)});if(Ai=="month"){if(Af<1){Ag.setUTCDate(1);var Aa=Ag.getTime();Ag.setUTCMonth(Ag.getUTCMonth()+1);var Ae=Ag.getTime();Ag.setTime(Aj+Ak*AU.hour+(Ae-Aa)*Af);Ak=Ag.getUTCHours();Ag.setUTCHours(0)}else{Ag.setUTCMonth(Ag.getUTCMonth()+Af)}}else{if(Ai=="year"){Ag.setUTCFullYear(Ag.getUTCFullYear()+Af)}else{Ag.setTime(Aj+Ab)}}}whi
 le(Aj<Ac.max&&Aj!=Ad);return Ah};AW=function(Aa,Ad){var Af=new Date(Aa);if(AS.timeformat!=null){return C.plot.formatDate(Af,AS.timeformat,AS.monthNames)}var Ab=Ad.tickSize[0]*AU[Ad.tickSize[1]];var Ac=Ad.max-Ad.min;var Ae=(AS.twelveHourClock)?" %p":"";if(Ab<AU.minute){fmt="%h:%M:%S"+Ae}else{if(Ab<AU.day){if(Ac<2*AU.day){fmt="%h:%M"+Ae}else{fmt="%b %d %h:%M"+Ae}}else{if(Ab<AU.month){fmt="%b %d"}else{if(Ab<AU.year){if(Ac<AU.year){fmt="%b"}else{fmt="%b %y"}}else{fmt="%y"}}}}return C.plot.formatDate(Af,fmt,AS.monthNames)}}else{var AK=AS.tickDecimals;var AQ=-Math.floor(Math.log(AX)/Math.LN10);if(AK!=null&&AQ>AK){AQ=AK}AM=Math.pow(10,-AQ);AL=AX/AM;if(AL<1.5){AZ=1}else{if(AL<3){AZ=2;if(AL>2.25&&(AK==null||AQ+1<=AK)){AZ=2.5;++AQ}}else{if(AL<7.5){AZ=5}else{AZ=10}}}AZ*=AM;if(AS.minTickSize!=null&&AZ<AS.minTickSize){AZ=AS.minTickSize}if(AS.tickSize!=null){AZ=AS.tickSize}AP.tickDecimals=Math.max(0,(AK!=null)?AK:AQ);AT=function(Ac){var Ae=[];var Af=A(Ac.min,Ac.tickSize),Ab=0,Aa=Number.NaN,Ad;do{
 Ad=Aa;Aa=Af+Ab*Ac.tickSize;Ae.push({v:Aa,label:Ac.tickFormatter(Aa,Ac)});++Ab}while(Aa<Ac.max&&Aa!=Ad);return Ae};AW=function(Aa,Ab){return Aa.toFixed(Ab.tickDecimals)}}AP.tickSize=AV?[AZ,AV]:AZ;AP.tickGenerator=AT;if(C.isFunction(AS.tickFormatter)){AP.tickFormatter=function(Aa,Ab){return""+AS.tickFormatter(Aa,Ab)}}else{AP.tickFormatter=AW}}function p(AO,AQ){AO.ticks=[];if(!AO.used){return }if(AQ.ticks==null){AO.ticks=AO.tickGenerator(AO)}else{if(typeof AQ.ticks=="number"){if(AQ.ticks>0){AO.ticks=AO.tickGenerator(AO)}}else{if(AQ.ticks){var AP=AQ.ticks;if(C.isFunction(AP)){AP=AP({min:AO.min,max:AO.max})}var AN,AK;for(AN=0;AN<AP.length;++AN){var AL=null;var AM=AP[AN];if(typeof AM=="object"){AK=AM[0];if(AM.length>1){AL=AM[1]}}else{AK=AM}if(AL==null){AL=AO.tickFormatter(AK,AO)}AO.ticks[AN]={v:AK,label:AL}}}}}if(AQ.autoscaleMargin!=null&&AO.ticks.length>0){if(AQ.min==null){AO.min=Math.min(AO.min,AO.ticks[0].v)}if(AQ.max==null&&AO.ticks.length>1){AO.max=Math.max(AO.max,AO.ticks[AO.ticks.l
 ength-1].v)}}}function AH(){Y.clearRect(0,0,y,Q);var AL=g.grid;if(AL.show&&!AL.aboveData){S()}for(var AK=0;AK<O.length;++AK){AA(O[AK])}Z(L.draw,[Y]);if(AL.show&&AL.aboveData){S()}}function N(AL,AR){var AO=AR+"axis",AK=AR+"2axis",AN,AQ,AP,AM;if(AL[AO]){AN=s[AO];AQ=AL[AO].from;AP=AL[AO].to}else{if(AL[AK]){AN=s[AK];AQ=AL[AK].from;AP=AL[AK].to}else{AN=s[AO];AQ=AL[AR+"1"];AP=AL[AR+"2"]}}if(AQ!=null&&AP!=null&&AQ>AP){return{from:AP,to:AQ,axis:AN}}return{from:AQ,to:AP,axis:AN}}function S(){var AO;Y.save();Y.translate(e.left,e.top);if(g.grid.backgroundColor){Y.fillStyle=R(g.grid.backgroundColor,t,0,"rgba(255, 255, 255, 0)");Y.fillRect(0,0,I,t)}var AL=g.grid.markings;if(AL){if(C.isFunction(AL)){AL=AL({xmin:s.xaxis.min,xmax:s.xaxis.max,ymin:s.yaxis.min,ymax:s.yaxis.max,xaxis:s.xaxis,yaxis:s.yaxis,x2axis:s.x2axis,y2axis:s.y2axis})}for(AO=0;AO<AL.length;++AO){var AK=AL[AO],AQ=N(AK,"x"),AN=N(AK,"y");if(AQ.from==null){AQ.from=AQ.axis.min}if(AQ.to==null){AQ.to=AQ.axis.max}if(AN.from==null){AN.from
 =AN.axis.min}if(AN.to==null){AN.to=AN.axis.max}if(AQ.to<AQ.axis.min||AQ.from>AQ.axis.max||AN.to<AN.axis.min||AN.from>AN.axis.max){continue}AQ.from=Math.max(AQ.from,AQ.axis.min);AQ.to=Math.min(AQ.to,AQ.axis.max);AN.from=Math.max(AN.from,AN.axis.min);AN.to=Math.min(AN.to,AN.axis.max);if(AQ.from==AQ.to&&AN.from==AN.to){continue}AQ.from=AQ.axis.p2c(AQ.from);AQ.to=AQ.axis.p2c(AQ.to);AN.from=AN.axis.p2c(AN.from);AN.to=AN.axis.p2c(AN.to);if(AQ.from==AQ.to||AN.from==AN.to){Y.beginPath();Y.strokeStyle=AK.color||g.grid.markingsColor;Y.lineWidth=AK.lineWidth||g.grid.markingsLineWidth;Y.moveTo(AQ.from,AN.from);Y.lineTo(AQ.to,AN.to);Y.stroke()}else{Y.fillStyle=AK.color||g.grid.markingsColor;Y.fillRect(AQ.from,AN.to,AQ.to-AQ.from,AN.from-AN.to)}}}Y.lineWidth=1;Y.strokeStyle=g.grid.tickColor;Y.beginPath();var AM,AP=s.xaxis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=s.xaxis.max){continue}Y.moveTo(Math.floor(AP.p2c(AM))+Y.lineWidth/2,0);Y.lineTo(Math.floor(AP.p2c(AM))+Y.l
 ineWidth/2,t)}AP=s.yaxis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=AP.max){continue}Y.moveTo(0,Math.floor(AP.p2c(AM))+Y.lineWidth/2);Y.lineTo(I,Math.floor(AP.p2c(AM))+Y.lineWidth/2)}AP=s.x2axis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=AP.max){continue}Y.moveTo(Math.floor(AP.p2c(AM))+Y.lineWidth/2,-5);Y.lineTo(Math.floor(AP.p2c(AM))+Y.lineWidth/2,5)}AP=s.y2axis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=AP.max){continue}Y.moveTo(I-5,Math.floor(AP.p2c(AM))+Y.lineWidth/2);Y.lineTo(I+5,Math.floor(AP.p2c(AM))+Y.lineWidth/2)}Y.stroke();if(g.grid.borderWidth){var AR=g.grid.borderWidth;Y.lineWidth=AR;Y.strokeStyle=g.grid.borderColor;Y.strokeRect(-AR/2,-AR/2,I+AR,t+AR)}Y.restore()}function h(){l.find(".tickLabels").remove();var AK=['<div class="tickLabels" style="font-size:smaller;color:'+g.grid.color+'">'];function AM(AP,AQ){for(var AO=0;AO<AP.ticks.length;++AO){var AN=AP.ticks[AO];if(!AN.label||AN.v<AP.m
 in||AN.v>AP.max){continue}AK.push(AQ(AN,AP))}}var AL=g.grid.labelMargin+g.grid.borderWidth;AM(s.xaxis,function(AN,AO){return'<div style="position:absolute;top:'+(e.top+t+AL)+"px;left:"+Math.round(e.left+AO.p2c(AN.v)-AO.labelWidth/2)+"px;width:"+AO.labelWidth+'px;text-align:center" class="tickLabel">'+AN.label+"</div>"});AM(s.yaxis,function(AN,AO){return'<div style="position:absolute;top:'+Math.round(e.top+AO.p2c(AN.v)-AO.labelHeight/2)+"px;right:"+(e.right+I+AL)+"px;width:"+AO.labelWidth+'px;text-align:right" class="tickLabel">'+AN.label+"</div>"});AM(s.x2axis,function(AN,AO){return'<div style="position:absolute;bottom:'+(e.bottom+t+AL)+"px;left:"+Math.round(e.left+AO.p2c(AN.v)-AO.labelWidth/2)+"px;width:"+AO.labelWidth+'px;text-align:center" class="tickLabel">'+AN.label+"</div>"});AM(s.y2axis,function(AN,AO){return'<div style="position:absolute;top:'+Math.round(e.top+AO.p2c(AN.v)-AO.labelHeight/2)+"px;left:"+(e.left+I+AL)+"px;width:"+AO.labelWidth+'px;text-align:left" class="tickLa
 bel">'+AN.label+"</div>"});AK.push("</div>");l.append(AK.join(""))}function AA(AK){if(AK.lines.show){a(AK)}if(AK.bars.show){n(AK)}if(AK.points.show){o(AK)}}function a(AN){function AM(AY,AZ,AR,Ad,Ac){var Ae=AY.points,AS=AY.pointsize,AW=null,AV=null;Y.beginPath();for(var AX=AS;AX<Ae.length;AX+=AS){var AU=Ae[AX-AS],Ab=Ae[AX-AS+1],AT=Ae[AX],Aa=Ae[AX+1];if(AU==null||AT==null){continue}if(Ab<=Aa&&Ab<Ac.min){if(Aa<Ac.min){continue}AU=(Ac.min-Ab)/(Aa-Ab)*(AT-AU)+AU;Ab=Ac.min}else{if(Aa<=Ab&&Aa<Ac.min){if(Ab<Ac.min){continue}AT=(Ac.min-Ab)/(Aa-Ab)*(AT-AU)+AU;Aa=Ac.min}}if(Ab>=Aa&&Ab>Ac.max){if(Aa>Ac.max){continue}AU=(Ac.max-Ab)/(Aa-Ab)*(AT-AU)+AU;Ab=Ac.max}else{if(Aa>=Ab&&Aa>Ac.max){if(Ab>Ac.max){continue}AT=(Ac.max-Ab)/(Aa-Ab)*(AT-AU)+AU;Aa=Ac.max}}if(AU<=AT&&AU<Ad.min){if(AT<Ad.min){continue}Ab=(Ad.min-AU)/(AT-AU)*(Aa-Ab)+Ab;AU=Ad.min}else{if(AT<=AU&&AT<Ad.min){if(AU<Ad.min){continue}Aa=(Ad.min-AU)/(AT-AU)*(Aa-Ab)+Ab;AT=Ad.min}}if(AU>=AT&&AU>Ad.max){if(AT>Ad.max){continue}Ab=(Ad.max-AU)/(A
 T-AU)*(Aa-Ab)+Ab;AU=Ad.max}else{if(AT>=AU&&AT>Ad.max){if(AU>Ad.max){continue}Aa=(Ad.max-AU)/(AT-AU)*(Aa-Ab)+Ab;AT=Ad.max}}if(AU!=AW||Ab!=AV){Y.moveTo(Ad.p2c(AU)+AZ,Ac.p2c(Ab)+AR)}AW=AT;AV=Aa;Y.lineTo(Ad.p2c(AT)+AZ,Ac.p2c(Aa)+AR)}Y.stroke()}function AO(AX,Ae,Ac){var Af=AX.points,AR=AX.pointsize,AS=Math.min(Math.max(0,Ac.min),Ac.max),Aa,AV=0,Ad=false;for(var AW=AR;AW<Af.length;AW+=AR){var AU=Af[AW-AR],Ab=Af[AW-AR+1],AT=Af[AW],AZ=Af[AW+1];if(Ad&&AU!=null&&AT==null){Y.lineTo(Ae.p2c(AV),Ac.p2c(AS));Y.fill();Ad=false;continue}if(AU==null||AT==null){continue}if(AU<=AT&&AU<Ae.min){if(AT<Ae.min){continue}Ab=(Ae.min-AU)/(AT-AU)*(AZ-Ab)+Ab;AU=Ae.min}else{if(AT<=AU&&AT<Ae.min){if(AU<Ae.min){continue}AZ=(Ae.min-AU)/(AT-AU)*(AZ-Ab)+Ab;AT=Ae.min}}if(AU>=AT&&AU>Ae.max){if(AT>Ae.max){continue}Ab=(Ae.max-AU)/(AT-AU)*(AZ-Ab)+Ab;AU=Ae.max}else{if(AT>=AU&&AT>Ae.max){if(AU>Ae.max){continue}AZ=(Ae.max-AU)/(AT-AU)*(AZ-Ab)+Ab;AT=Ae.max}}if(!Ad){Y.beginPath();Y.moveTo(Ae.p2c(AU),Ac.p2c(AS));Ad=true}if(Ab>=Ac
 .max&&AZ>=Ac.max){Y.lineTo(Ae.p2c(AU),Ac.p2c(Ac.max));Y.lineTo(Ae.p2c(AT),Ac.p2c(Ac.max));AV=AT;continue}else{if(Ab<=Ac.min&&AZ<=Ac.min){Y.lineTo(Ae.p2c(AU),Ac.p2c(Ac.min));Y.lineTo(Ae.p2c(AT),Ac.p2c(Ac.min));AV=AT;continue}}var Ag=AU,AY=AT;if(Ab<=AZ&&Ab<Ac.min&&AZ>=Ac.min){AU=(Ac.min-Ab)/(AZ-Ab)*(AT-AU)+AU;Ab=Ac.min}else{if(AZ<=Ab&&AZ<Ac.min&&Ab>=Ac.min){AT=(Ac.min-Ab)/(AZ-Ab)*(AT-AU)+AU;AZ=Ac.min}}if(Ab>=AZ&&Ab>Ac.max&&AZ<=Ac.max){AU=(Ac.max-Ab)/(AZ-Ab)*(AT-AU)+AU;Ab=Ac.max}else{if(AZ>=Ab&&AZ>Ac.max&&Ab<=Ac.max){AT=(Ac.max-Ab)/(AZ-Ab)*(AT-AU)+AU;AZ=Ac.max}}if(AU!=Ag){if(Ab<=Ac.min){Aa=Ac.min}else{Aa=Ac.max}Y.lineTo(Ae.p2c(Ag),Ac.p2c(Aa));Y.lineTo(Ae.p2c(AU),Ac.p2c(Aa))}Y.lineTo(Ae.p2c(AU),Ac.p2c(Ab));Y.lineTo(Ae.p2c(AT),Ac.p2c(AZ));if(AT!=AY){if(AZ<=Ac.min){Aa=Ac.min}else{Aa=Ac.max}Y.lineTo(Ae.p2c(AT),Ac.p2c(Aa));Y.lineTo(Ae.p2c(AY),Ac.p2c(Aa))}AV=Math.max(AT,AY)}if(Ad){Y.lineTo(Ae.p2c(AV),Ac.p2c(AS));Y.fill()}}Y.save();Y.translate(e.left,e.top);Y.lineJoin="round";var AP=AN.lines.
 lineWidth,AK=AN.shadowSize;if(AP>0&&AK>0){Y.lineWidth=AK;Y.strokeStyle="rgba(0,0,0,0.1)";var AQ=Math.PI/18;AM(AN.datapoints,Math.sin(AQ)*(AP/2+AK/2),Math.cos(AQ)*(AP/2+AK/2),AN.xaxis,AN.yaxis);Y.lineWidth=AK/2;AM(AN.datapoints,Math.sin(AQ)*(AP/2+AK/4),Math.cos(AQ)*(AP/2+AK/4),AN.xaxis,AN.yaxis)}Y.lineWidth=AP;Y.strokeStyle=AN.color;var AL=V(AN.lines,AN.color,0,t);if(AL){Y.fillStyle=AL;AO(AN.datapoints,AN.xaxis,AN.yaxis)}if(AP>0){AM(AN.datapoints,0,0,AN.xaxis,AN.yaxis)}Y.restore()}function o(AN){function AP(AU,AT,Ab,AR,AV,AZ,AY){var Aa=AU.points,AQ=AU.pointsize;for(var AS=0;AS<Aa.length;AS+=AQ){var AX=Aa[AS],AW=Aa[AS+1];if(AX==null||AX<AZ.min||AX>AZ.max||AW<AY.min||AW>AY.max){continue}Y.beginPath();Y.arc(AZ.p2c(AX),AY.p2c(AW)+AR,AT,0,AV,false);if(Ab){Y.fillStyle=Ab;Y.fill()}Y.stroke()}}Y.save();Y.translate(e.left,e.top);var AO=AN.lines.lineWidth,AL=AN.shadowSize,AK=AN.points.radius;if(AO>0&&AL>0){var AM=AL/2;Y.lineWidth=AM;Y.strokeStyle="rgba(0,0,0,0.1)";AP(AN.datapoints,AK,null,AM+A
 M/2,Math.PI,AN.xaxis,AN.yaxis);Y.strokeStyle="rgba(0,0,0,0.2)";AP(AN.datapoints,AK,null,AM/2,Math.PI,AN.xaxis,AN.yaxis)}Y.lineWidth=AO;Y.strokeStyle=AN.color;AP(AN.datapoints,AK,V(AN.points,AN.color),0,2*Math.PI,AN.xaxis,AN.yaxis);Y.restore()}function AB(AV,AU,Ad,AQ,AY,AN,AL,AT,AS,Ac,AZ){var AM,Ab,AR,AX,AO,AK,AW,AP,Aa;if(AZ){AP=AK=AW=true;AO=false;AM=Ad;Ab=AV;AX=AU+AQ;AR=AU+AY;if(Ab<AM){Aa=Ab;Ab=AM;AM=Aa;AO=true;AK=false}}else{AO=AK=AW=true;AP=false;AM=AV+AQ;Ab=AV+AY;AR=Ad;AX=AU;if(AX<AR){Aa=AX;AX=AR;AR=Aa;AP=true;AW=false}}if(Ab<AT.min||AM>AT.max||AX<AS.min||AR>AS.max){return }if(AM<AT.min){AM=AT.min;AO=false}if(Ab>AT.max){Ab=AT.max;AK=false}if(AR<AS.min){AR=AS.min;AP=false}if(AX>AS.max){AX=AS.max;AW=false}AM=AT.p2c(AM);AR=AS.p2c(AR);Ab=AT.p2c(Ab);AX=AS.p2c(AX);if(AL){Ac.beginPath();Ac.moveTo(AM,AR);Ac.lineTo(AM,AX);Ac.lineTo(Ab,AX);Ac.lineTo(Ab,AR);Ac.fillStyle=AL(AR,AX);Ac.fill()}if(AO||AK||AW||AP){Ac.beginPath();Ac.moveTo(AM,AR+AN);if(AO){Ac.lineTo(AM,AX+AN)}else{Ac.moveTo(AM,AX
 +AN)}if(AW){Ac.lineTo(Ab,AX+AN)}else{Ac.moveTo(Ab,AX+AN)}if(AK){Ac.lineTo(Ab,AR+AN)}else{Ac.moveTo(Ab,AR+AN)}if(AP){Ac.lineTo(AM,AR+AN)}else{Ac.moveTo(AM,AR+AN)}Ac.stroke()}}function n(AM){function AL(AS,AR,AU,AP,AT,AW,AV){var AX=AS.points,AO=AS.pointsize;for(var AQ=0;AQ<AX.length;AQ+=AO){if(AX[AQ]==null){continue}AB(AX[AQ],AX[AQ+1],AX[AQ+2],AR,AU,AP,AT,AW,AV,Y,AM.bars.horizontal)}}Y.save();Y.translate(e.left,e.top);Y.lineWidth=AM.bars.lineWidth;Y.strokeStyle=AM.color;var AK=AM.bars.align=="left"?0:-AM.bars.barWidth/2;var AN=AM.bars.fill?function(AO,AP){return V(AM.bars,AM.color,AO,AP)}:null;AL(AM.datapoints,AK,AK+AM.bars.barWidth,0,AN,AM.xaxis,AM.yaxis);Y.restore()}function V(AM,AK,AL,AO){var AN=AM.fill;if(!AN){return null}if(AM.fillColor){return R(AM.fillColor,AL,AO,AK)}var AP=C.color.parse(AK);AP.a=typeof AN=="number"?AN:0.4;AP.normalize();return AP.toString()}function AI(){l.find(".legend").remove();if(!g.legend.show){return }var AP=[],AN=false,AV=g.legend.labelFormatter,AU,AR;f
 or(i=0;i<O.length;++i){AU=O[i];AR=AU.label;if(!AR){continue}if(i%g.legend.noColumns==0){if(AN){AP.push("</tr>")}AP.push("<tr>");AN=true}if(AV){AR=AV(AR,AU)}AP.push('<td class="legendColorBox"><div style="border:1px solid '+g.legend.labelBoxBorderColor+';padding:1px"><div style="width:4px;height:0;border:5px solid '+AU.color+';overflow:hidden"></div></div></td><td class="legendLabel">'+AR+"</td>")}if(AN){AP.push("</tr>")}if(AP.length==0){return }var AT='<table style="font-size:smaller;color:'+g.grid.color+'">'+AP.join("")+"</table>";if(g.legend.container!=null){C(g.legend.container).html(AT)}else{var AQ="",AL=g.legend.position,AM=g.legend.margin;if(AM[0]==null){AM=[AM,AM]}if(AL.charAt(0)=="n"){AQ+="top:"+(AM[1]+e.top)+"px;"}else{if(AL.charAt(0)=="s"){AQ+="bottom:"+(AM[1]+e.bottom)+"px;"}}if(AL.charAt(1)=="e"){AQ+="right:"+(AM[0]+e.right)+"px;"}else{if(AL.charAt(1)=="w"){AQ+="left:"+(AM[0]+e.left)+"px;"}}var AS=C('<div class="legend">'+AT.replace('style="','style="position:absolute;'+
 AQ+";")+"</div>").appendTo(l);if(g.legend.backgroundOpacity!=0){var AO=g.legend.backgroundColor;if(AO==null){AO=g.grid.backgroundColor;if(AO&&typeof AO=="string"){AO=C.color.parse(AO)}else{AO=C.color.extract(AS,"background-color")}AO.a=1;AO=AO.toString()}var AK=AS.children();C('<div style="position:absolute;width:'+AK.width()+"px;height:"+AK.height()+"px;"+AQ+"background-color:"+AO+';"> </div>').prependTo(AS).css("opacity",g.legend.backgroundOpacity)}}}var w=[],J=null;function AF(AR,AP,AM){var AX=g.grid.mouseActiveRadius,Aj=AX*AX+1,Ah=null,Aa=false,Af,Ad;for(Af=0;Af<O.length;++Af){if(!AM(O[Af])){continue}var AY=O[Af],AQ=AY.xaxis,AO=AY.yaxis,Ae=AY.datapoints.points,Ac=AY.datapoints.pointsize,AZ=AQ.c2p(AR),AW=AO.c2p(AP),AL=AX/AQ.scale,AK=AX/AO.scale;if(AY.lines.show||AY.points.show){for(Ad=0;Ad<Ae.length;Ad+=Ac){var AT=Ae[Ad],AS=Ae[Ad+1];if(AT==null){continue}if(AT-AZ>AL||AT-AZ<-AL||AS-AW>AK||AS-AW<-AK){continue}var AV=Math.abs(AQ.p2c(AT)-AR),AU=Math.abs(AO.p2c(AS)-AP),Ab=AV*AV+AU*AU;
 if(Ab<=Aj){Aj=Ab;Ah=[Af,Ad/Ac]}}}if(AY.bars.show&&!Ah){var AN=AY.bars.align=="left"?0:-AY.bars.barWidth/2,Ag=AN+AY.bars.barWidth;for(Ad=0;Ad<Ae.length;Ad+=Ac){var AT=Ae[Ad],AS=Ae[Ad+1],Ai=Ae[Ad+2];if(AT==null){continue}if(O[Af].bars.horizontal?(AZ<=Math.max(Ai,AT)&&AZ>=Math.min(Ai,AT)&&AW>=AS+AN&&AW<=AS+Ag):(AZ>=AT+AN&&AZ<=AT+Ag&&AW>=Math.min(Ai,AS)&&AW<=Math.max(Ai,AS))){Ah=[Af,Ad/Ac]}}}}if(Ah){Af=Ah[0];Ad=Ah[1];Ac=O[Af].datapoints.pointsize;return{datapoint:O[Af].datapoints.points.slice(Ad*Ac,(Ad+1)*Ac),dataIndex:Ad,series:O[Af],seriesIndex:Af}}return null}function D(AK){if(g.grid.hoverable){H("plothover",AK,function(AL){return AL.hoverable!=false})}}function d(AK){H("plotclick",AK,function(AL){return AL.clickable!=false})}function H(AL,AK,AM){var AN=AD.offset(),AS={pageX:AK.pageX,pageY:AK.pageY},AQ=AK.pageX-AN.left-e.left,AO=AK.pageY-AN.top-e.top;if(s.xaxis.used){AS.x=s.xaxis.c2p(AQ)}if(s.yaxis.used){AS.y=s.yaxis.c2p(AO)}if(s.x2axis.used){AS.x2=s.x2axis.c2p(AQ)}if(s.y2axis.used){
 AS.y2=s.y2axis.c2p(AO)}var AT=AF(AQ,AO,AM);if(AT){AT.pageX=parseInt(AT.series.xaxis.p2c(AT.datapoint[0])+AN.left+e.left);AT.pageY=parseInt(AT.series.yaxis.p2c(AT.datapoint[1])+AN.top+e.top)}if(g.grid.autoHighlight){for(var AP=0;AP<w.length;++AP){var AR=w[AP];if(AR.auto==AL&&!(AT&&AR.series==AT.series&&AR.point==AT.datapoint)){x(AR.series,AR.point)}}if(AT){AE(AT.series,AT.datapoint,AL)}}l.trigger(AL,[AS,AT])}function q(){if(!J){J=setTimeout(v,30)}}function v(){J=null;AJ.save();AJ.clearRect(0,0,y,Q);AJ.translate(e.left,e.top);var AL,AK;for(AL=0;AL<w.length;++AL){AK=w[AL];if(AK.series.bars.show){z(AK.series,AK.point)}else{u(AK.series,AK.point)}}AJ.restore();Z(L.drawOverlay,[AJ])}function AE(AM,AK,AN){if(typeof AM=="number"){AM=O[AM]}if(typeof AK=="number"){AK=AM.data[AK]}var AL=j(AM,AK);if(AL==-1){w.push({series:AM,point:AK,auto:AN});q()}else{if(!AN){w[AL].auto=false}}}function x(AM,AK){if(AM==null&&AK==null){w=[];q()}if(typeof AM=="number"){AM=O[AM]}if(typeof AK=="number"){AK=AM.data[
 AK]}var AL=j(AM,AK);if(AL!=-1){w.splice(AL,1);q()}}function j(AM,AN){for(var AK=0;AK<w.length;++AK){var AL=w[AK];if(AL.series==AM&&AL.point[0]==AN[0]&&AL.point[1]==AN[1]){return AK}}return -1}function u(AN,AM){var AL=AM[0],AR=AM[1],AQ=AN.xaxis,AP=AN.yaxis;if(AL<AQ.min||AL>AQ.max||AR<AP.min||AR>AP.max){return }var AO=AN.points.radius+AN.points.lineWidth/2;AJ.lineWidth=AO;AJ.strokeStyle=C.color.parse(AN.color).scale("a",0.5).toString();var AK=1.5*AO;AJ.beginPath();AJ.arc(AQ.p2c(AL),AP.p2c(AR),AK,0,2*Math.PI,false);AJ.stroke()}function z(AN,AK){AJ.lineWidth=AN.bars.lineWidth;AJ.strokeStyle=C.color.parse(AN.color).scale("a",0.5).toString();var AM=C.color.parse(AN.color).scale("a",0.5).toString();var AL=AN.bars.align=="left"?0:-AN.bars.barWidth/2;AB(AK[0],AK[1],AK[2]||0,AL,AL+AN.bars.barWidth,0,function(){return AM},AN.xaxis,AN.yaxis,AJ,AN.bars.horizontal)}function R(AM,AL,AQ,AO){if(typeof AM=="string"){return AM}else{var AP=Y.createLinearGradient(0,AQ,0,AL);for(var AN=0,AK=AM.colors.len
 gth;AN<AK;++AN){var AR=AM.colors[AN];if(typeof AR!="string"){AR=C.color.parse(AO).scale("rgb",AR.brightness);AR.a*=AR.opacity;AR=AR.toString()}AP.addColorStop(AN/(AK-1),AR)}return AP}}}C.plot=function(G,E,D){var F=new B(C(G),E,D,C.plot.plugins);return F};C.plot.plugins=[];C.plot.formatDate=function(H,E,G){var L=function(N){N=""+N;return N.length==1?"0"+N:N};var D=[];var M=false;var K=H.getUTCHours();var I=K<12;if(G==null){G=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}if(E.search(/%p|%P/)!=-1){if(K>12){K=K-12}else{if(K==0){K=12}}}for(var F=0;F<E.length;++F){var J=E.charAt(F);if(M){switch(J){case"h":J=""+K;break;case"H":J=L(K);break;case"M":J=L(H.getUTCMinutes());break;case"S":J=L(H.getUTCSeconds());break;case"d":J=""+H.getUTCDate();break;case"m":J=""+(H.getUTCMonth()+1);break;case"y":J=""+H.getUTCFullYear();break;case"b":J=""+G[H.getUTCMonth()];break;case"p":J=(I)?("am"):("pm");break;case"P":J=(I)?("AM"):("PM");break}D.push(J);M=false}else{if(J=="%"){M=t
 rue}else{D.push(J)}}}return D.join("")};function A(E,D){return D*Math.floor(E/D)}})(jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/js/json2.js
----------------------------------------------------------------------
diff --git a/public/js/json2.js b/public/js/json2.js
deleted file mode 100644
index 241a271..0000000
--- a/public/js/json2.js
+++ /dev/null
@@ -1,478 +0,0 @@
-/*
-    http://www.JSON.org/json2.js
-    2008-11-19
-
-    Public Domain.
-
-    NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
-
-    See http://www.JSON.org/js.html
-
-    This file creates a global JSON object containing two methods: stringify
-    and parse.
-
-        JSON.stringify(value, replacer, space)
-            value       any JavaScript value, usually an object or array.
-
-            replacer    an optional parameter that determines how object
-                        values are stringified for objects. It can be a
-                        function or an array of strings.
-
-            space       an optional parameter that specifies the indentation
-                        of nested structures. If it is omitted, the text will
-                        be packed without extra whitespace. If it is a number,
-                        it will specify the number of spaces to indent at each
-                        level. If it is a string (such as '\t' or '&nbsp;'),
-                        it contains the characters used to indent at each level.
-
-            This method produces a JSON text from a JavaScript value.
-
-            When an object value is found, if the object contains a toJSON
-            method, its toJSON method will be called and the result will be
-            stringified. A toJSON method does not serialize: it returns the
-            value represented by the name/value pair that should be serialized,
-            or undefined if nothing should be serialized. The toJSON method
-            will be passed the key associated with the value, and this will be
-            bound to the object holding the key.
-
-            For example, this would serialize Dates as ISO strings.
-
-                Date.prototype.toJSON = function (key) {
-                    function f(n) {
-                        // Format integers to have at least two digits.
-                        return n < 10 ? '0' + n : n;
-                    }
-
-                    return this.getUTCFullYear()   + '-' +
-                         f(this.getUTCMonth() + 1) + '-' +
-                         f(this.getUTCDate())      + 'T' +
-                         f(this.getUTCHours())     + ':' +
-                         f(this.getUTCMinutes())   + ':' +
-                         f(this.getUTCSeconds())   + 'Z';
-                };
-
-            You can provide an optional replacer method. It will be passed the
-            key and value of each member, with this bound to the containing
-            object. The value that is returned from your method will be
-            serialized. If your method returns undefined, then the member will
-            be excluded from the serialization.
-
-            If the replacer parameter is an array of strings, then it will be
-            used to select the members to be serialized. It filters the results
-            such that only members with keys listed in the replacer array are
-            stringified.
-
-            Values that do not have JSON representations, such as undefined or
-            functions, will not be serialized. Such values in objects will be
-            dropped; in arrays they will be replaced with null. You can use
-            a replacer function to replace those with JSON values.
-            JSON.stringify(undefined) returns undefined.
-
-            The optional space parameter produces a stringification of the
-            value that is filled with line breaks and indentation to make it
-            easier to read.
-
-            If the space parameter is a non-empty string, then that string will
-            be used for indentation. If the space parameter is a number, then
-            the indentation will be that many spaces.
-
-            Example:
-
-            text = JSON.stringify(['e', {pluribus: 'unum'}]);
-            // text is '["e",{"pluribus":"unum"}]'
-
-
-            text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t');
-            // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]'
-
-            text = JSON.stringify([new Date()], function (key, value) {
-                return this[key] instanceof Date ?
-                    'Date(' + this[key] + ')' : value;
-            });
-            // text is '["Date(---current time---)"]'
-
-
-        JSON.parse(text, reviver)
-            This method parses a JSON text to produce an object or array.
-            It can throw a SyntaxError exception.
-
-            The optional reviver parameter is a function that can filter and
-            transform the results. It receives each of the keys and values,
-            and its return value is used instead of the original value.
-            If it returns what it received, then the structure is not modified.
-            If it returns undefined then the member is deleted.
-
-            Example:
-
-            // Parse the text. Values that look like ISO date strings will
-            // be converted to Date objects.
-
-            myData = JSON.parse(text, function (key, value) {
-                var a;
-                if (typeof value === 'string') {
-                    a =
-/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
-                    if (a) {
-                        return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
-                            +a[5], +a[6]));
-                    }
-                }
-                return value;
-            });
-
-            myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) {
-                var d;
-                if (typeof value === 'string' &&
-                        value.slice(0, 5) === 'Date(' &&
-                        value.slice(-1) === ')') {
-                    d = new Date(value.slice(5, -1));
-                    if (d) {
-                        return d;
-                    }
-                }
-                return value;
-            });
-
-
-    This is a reference implementation. You are free to copy, modify, or
-    redistribute.
-
-    This code should be minified before deployment.
-    See http://javascript.crockford.com/jsmin.html
-
-    USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO
-    NOT CONTROL.
-*/
-
-/*jslint evil: true */
-
-/*global JSON */
-
-/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply,
-    call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
-    getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,
-    lastIndex, length, parse, prototype, push, replace, slice, stringify,
-    test, toJSON, toString, valueOf
-*/
-
-// Create a JSON object only if one does not already exist. We create the
-// methods in a closure to avoid creating global variables.
-
-if (!this.JSON) {
-    JSON = {};
-}
-(function () {
-
-    function f(n) {
-        // Format integers to have at least two digits.
-        return n < 10 ? '0' + n : n;
-    }
-
-    if (typeof Date.prototype.toJSON !== 'function') {
-
-        Date.prototype.toJSON = function (key) {
-
-            return this.getUTCFullYear()   + '-' +
-                 f(this.getUTCMonth() + 1) + '-' +
-                 f(this.getUTCDate())      + 'T' +
-                 f(this.getUTCHours())     + ':' +
-                 f(this.getUTCMinutes())   + ':' +
-                 f(this.getUTCSeconds())   + 'Z';
-        };
-
-        String.prototype.toJSON =
-        Number.prototype.toJSON =
-        Boolean.prototype.toJSON = function (key) {
-            return this.valueOf();
-        };
-    }
-
-    var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
-        escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
-        gap,
-        indent,
-        meta = {    // table of character substitutions
-            '\b': '\\b',
-            '\t': '\\t',
-            '\n': '\\n',
-            '\f': '\\f',
-            '\r': '\\r',
-            '"' : '\\"',
-            '\\': '\\\\'
-        },
-        rep;
-
-
-    function quote(string) {
-
-// If the string contains no control characters, no quote characters, and no
-// backslash characters, then we can safely slap some quotes around it.
-// Otherwise we must also replace the offending characters with safe escape
-// sequences.
-
-        escapable.lastIndex = 0;
-        return escapable.test(string) ?
-            '"' + string.replace(escapable, function (a) {
-                var c = meta[a];
-                return typeof c === 'string' ? c :
-                    '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
-            }) + '"' :
-            '"' + string + '"';
-    }
-
-
-    function str(key, holder) {
-
-// Produce a string from holder[key].
-
-        var i,          // The loop counter.
-            k,          // The member key.
-            v,          // The member value.
-            length,
-            mind = gap,
-            partial,
-            value = holder[key];
-
-// If the value has a toJSON method, call it to obtain a replacement value.
-
-        if (value && typeof value === 'object' &&
-                typeof value.toJSON === 'function') {
-            value = value.toJSON(key);
-        }
-
-// If we were called with a replacer function, then call the replacer to
-// obtain a replacement value.
-
-        if (typeof rep === 'function') {
-            value = rep.call(holder, key, value);
-        }
-
-// What happens next depends on the value's type.
-
-        switch (typeof value) {
-        case 'string':
-            return quote(value);
-
-        case 'number':
-
-// JSON numbers must be finite. Encode non-finite numbers as null.
-
-            return isFinite(value) ? String(value) : 'null';
-
-        case 'boolean':
-        case 'null':
-
-// If the value is a boolean or null, convert it to a string. Note:
-// typeof null does not produce 'null'. The case is included here in
-// the remote chance that this gets fixed someday.
-
-            return String(value);
-
-// If the type is 'object', we might be dealing with an object or an array or
-// null.
-
-        case 'object':
-
-// Due to a specification blunder in ECMAScript, typeof null is 'object',
-// so watch out for that case.
-
-            if (!value) {
-                return 'null';
-            }
-
-// Make an array to hold the partial results of stringifying this object value.
-
-            gap += indent;
-            partial = [];
-
-// Is the value an array?
-
-            if (Object.prototype.toString.apply(value) === '[object Array]') {
-
-// The value is an array. Stringify every element. Use null as a placeholder
-// for non-JSON values.
-
-                length = value.length;
-                for (i = 0; i < length; i += 1) {
-                    partial[i] = str(i, value) || 'null';
-                }
-
-// Join all of the elements together, separated with commas, and wrap them in
-// brackets.
-
-                v = partial.length === 0 ? '[]' :
-                    gap ? '[\n' + gap +
-                            partial.join(',\n' + gap) + '\n' +
-                                mind + ']' :
-                          '[' + partial.join(',') + ']';
-                gap = mind;
-                return v;
-            }
-
-// If the replacer is an array, use it to select the members to be stringified.
-
-            if (rep && typeof rep === 'object') {
-                length = rep.length;
-                for (i = 0; i < length; i += 1) {
-                    k = rep[i];
-                    if (typeof k === 'string') {
-                        v = str(k, value);
-                        if (v) {
-                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
-                        }
-                    }
-                }
-            } else {
-
-// Otherwise, iterate through all of the keys in the object.
-
-                for (k in value) {
-                    if (Object.hasOwnProperty.call(value, k)) {
-                        v = str(k, value);
-                        if (v) {
-                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
-                        }
-                    }
-                }
-            }
-
-// Join all of the member texts together, separated with commas,
-// and wrap them in braces.
-
-            v = partial.length === 0 ? '{}' :
-                gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
-                        mind + '}' : '{' + partial.join(',') + '}';
-            gap = mind;
-            return v;
-        }
-    }
-
-// If the JSON object does not yet have a stringify method, give it one.
-
-    if (typeof JSON.stringify !== 'function') {
-        JSON.stringify = function (value, replacer, space) {
-
-// The stringify method takes a value and an optional replacer, and an optional
-// space parameter, and returns a JSON text. The replacer can be a function
-// that can replace values, or an array of strings that will select the keys.
-// A default replacer method can be provided. Use of the space parameter can
-// produce text that is more easily readable.
-
-            var i;
-            gap = '';
-            indent = '';
-
-// If the space parameter is a number, make an indent string containing that
-// many spaces.
-
-            if (typeof space === 'number') {
-                for (i = 0; i < space; i += 1) {
-                    indent += ' ';
-                }
-
-// If the space parameter is a string, it will be used as the indent string.
-
-            } else if (typeof space === 'string') {
-                indent = space;
-            }
-
-// If there is a replacer, it must be a function or an array.
-// Otherwise, throw an error.
-
-            rep = replacer;
-            if (replacer && typeof replacer !== 'function' &&
-                    (typeof replacer !== 'object' ||
-                     typeof replacer.length !== 'number')) {
-                throw new Error('JSON.stringify');
-            }
-
-// Make a fake root object containing our value under the key of ''.
-// Return the result of stringifying the value.
-
-            return str('', {'': value});
-        };
-    }
-
-
-// If the JSON object does not yet have a parse method, give it one.
-
-    if (typeof JSON.parse !== 'function') {
-        JSON.parse = function (text, reviver) {
-
-// The parse method takes a text and an optional reviver function, and returns
-// a JavaScript value if the text is a valid JSON text.
-
-            var j;
-
-            function walk(holder, key) {
-
-// The walk method is used to recursively walk the resulting structure so
-// that modifications can be made.
-
-                var k, v, value = holder[key];
-                if (value && typeof value === 'object') {
-                    for (k in value) {
-                        if (Object.hasOwnProperty.call(value, k)) {
-                            v = walk(value, k);
-                            if (v !== undefined) {
-                                value[k] = v;
-                            } else {
-                                delete value[k];
-                            }
-                        }
-                    }
-                }
-                return reviver.call(holder, key, value);
-            }
-
-
-// Parsing happens in four stages. In the first stage, we replace certain
-// Unicode characters with escape sequences. JavaScript handles many characters
-// incorrectly, either silently deleting them, or treating them as line endings.
-
-            cx.lastIndex = 0;
-            if (cx.test(text)) {
-                text = text.replace(cx, function (a) {
-                    return '\\u' +
-                        ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
-                });
-            }
-
-// In the second stage, we run the text against regular expressions that look
-// for non-JSON patterns. We are especially concerned with '()' and 'new'
-// because they can cause invocation, and '=' because it can cause mutation.
-// But just to be safe, we want to reject all unexpected forms.
-
-// We split the second stage into 4 regexp operations in order to work around
-// crippling inefficiencies in IE's and Safari's regexp engines. First we
-// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we
-// replace all simple value tokens with ']' characters. Third, we delete all
-// open brackets that follow a colon or comma or that begin the text. Finally,
-// we look to see that the remaining characters are only whitespace or ']' or
-// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
-
-            if (/^[\],:{}\s]*$/.
-test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').
-replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
-replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
-
-// In the third stage we use the eval function to compile the text into a
-// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
-// in JavaScript: it can begin a block or an object literal. We wrap the text
-// in parens to eliminate the ambiguity.
-
-                j = eval('(' + text + ')');
-
-// In the optional fourth stage, we recursively walk the new structure, passing
-// each name/value pair to a reviver function for possible transformation.
-
-                return typeof reviver === 'function' ?
-                    walk({'': j}, '') : j;
-            }
-
-// If the text is not JSON parseable, then a SyntaxError is thrown.
-
-            throw new SyntaxError('JSON.parse');
-        };
-    }
-})();

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/js/xmisc.js
----------------------------------------------------------------------
diff --git a/public/js/xmisc.js b/public/js/xmisc.js
deleted file mode 100644
index 5d08037..0000000
--- a/public/js/xmisc.js
+++ /dev/null
@@ -1,320 +0,0 @@
-xmisc = {};
-
-// use parameters in attributes (list) to extract valid points from data (list)
-xmisc.get_valid_data_hdf4 = function(attrs, data) {
-
-    var fillValue = null;
-    //var missingValue = null;
-    var scaleFactor = null;
-    var offset = null;
-    var validRange = null;
-    var count = 0;
-    for (var i=0; i<attrs.length; i++) {
-        var attr = attrs[i];
-        var name = attr["name"];
-        var value = attr["value"];
-        if (name == "_FillValue") {
-            fillValue = value;
-            count += 1;
-        }
-        if (name == "scale_factor") {
-            scaleFactor = value;
-            count += 1;
-        }
-        if (name == "add_offset") {
-            offset = value;
-            count += 1;
-        }
-        if (name == "valid_range") {
-            validRange = value;
-            count += 1;
-        }
-    }
-
-    // insist on seeing all 4 of fillValue, scaleFactor, offset, validRange
-    //if (count != 4)
-    if (scaleFactor == null || offset == null || validRange == null)
-        return this.get_valid_data_default(data);
-
-    // sometimes validRange is bad, such as [0, -1], e.g.,
-    // http://oscar1.jpl.nasa.gov/data/cache/ladsweb.nascom.nasa.gov/allData/5/MOD05_L2/2008/123/MOD05_L2.A2008123.0405.005.2008124113323.hdf/Quality_Assurance_Infrared/?output=json
-    var validRangeIsOkay= true;
-    if (validRange[0] > validRange[1])
-        var validRangeIsOkay = false;
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (validRangeIsOkay && data[i] < validRange[0])
-            continue;
-        if (validRangeIsOkay && data[i] > validRange[1])
-            continue;
-        z.push([i, data[i]*scaleFactor+offset]);
-    }
-
-    return z;
-}
-
-// use parameters in attributes (list) to extract valid points from data (list)
-xmisc.get_valid_data_hdf5 = function(attrs, data) {
-
-    var fillValue = null;
-    var missingValue = null;
-    //var scaleFactor = null;
-    //var offset = null;
-    //var validRange = null;
-    var count = 0;
-    for (var i=0; i<attrs.length; i++) {
-        var attr = attrs[i];
-        var name = attr["name"];
-        var value = attr["value"];
-        if (name == "_FillValue") {
-            fillValue = value;
-            count += 1;
-        }
-        if (name == "MissingValue") {
-            missingValue = value;
-            count += 1;
-        }
-        /*
-        if (name == "scale_factor") {
-            scaleFactor = value;
-            count += 1;
-        }
-        if (name == "add_offset") {
-            offset = value;
-            count += 1;
-        }
-        if (name == "valid_range") {
-            validRange = value;
-            count += 1;
-        }
-        */
-    }
-
-    // insist on seeing all 2 of fillValue, missingValue
-    if (count != 2)
-        return this.get_valid_data_default(data);
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (data[i] == missingValue)
-            continue;
-        //z.push([i, data[i]*scaleFactor+offset]);
-        z.push([i,data[i]]);
-    }
-
-    return z;
-}
-
-// use parameters in attributes (list) to extract valid points from data (list)
-// specifically for aws
-xmisc.get_valid_data_nc_aws = function(attrs, data) {
-
-    var fillValue = null;
-    //var missingValue = null;
-    var scaleFactor = 1.0;
-    //var offset = null;
-    //var validRange = null;
-    var count = 0;
-    for (var i=0; i<attrs.length; i++) {
-        var attr = attrs[i];
-        var name = attr["name"];
-        var value = attr["value"];
-        if (name == "_FillValue") {
-            fillValue = value;
-            count += 1;
-        }
-        if (name == "scale_factor") {
-            scaleFactor = value;
-            count += 1;
-        }
-        //if (name == "add_offset") {
-        //    offset = value;
-        //    count += 1;
-        //}
-        //if (name == "valid_range") {
-        //    validRange = value;
-        //    count += 1;
-        //}
-    }
-
-    // insist on seeing all 4 of fillValue, scaleFactor, offset, validRange
-    //if (count != 4)
-    if (scaleFactor == null)
-        return this.get_valid_data_default(data);
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (fillValue != null && data[i] == fillValue)
-            continue;
-        z.push([i, data[i]*scaleFactor]);
-    }
-
-    return z;
-}
-
-xmisc.get_valid_data_default = function(data) {
-    var min = -10000;
-    var max = 10000;
-
-    var z = [];
-    for (var i=0; i<data.length; i++) {
-        if (data[i] < min)
-            continue;
-        if (data[i] > max)
-            continue;
-        z.push([i,data[i]]);
-    }
-    
-    return z;
-}
-
-xmisc.get_valid_data = function(w10nType, attrs, data) {
-
-    if (w10nType == "hdf4" || w10nType == "hdf4.basic")
-        return this.get_valid_data_hdf4(attrs, data);
-
-    if (w10nType == "hdf5" || w10nType == "hdf5.basic")
-        return this.get_valid_data_hdf5(attrs, data);
-
-    if (w10nType == "nc")
-        return this.get_valid_data_nc_aws(attrs, data);
-
-    return this.get_valid_data_default(data);
-}
-
-xmisc.get_series1 = function(x, y, min, max) {
-    //var min = -10000;
-    //var max = 10000;
-
-    var data = [];
-
-    if (x == null)
-        return {error:"x is null", data:data};
-    if (y == null)
-        return {error:"y is null", data:data};
-    if (x.length != y.length)
-        return {error:"x and y are not of the same size", data:data};
-
-    var data = [];
-    for (var i=0; i<x.length; i++) {
-        if (x[i] <= min || x[i] >= max)
-            continue;
-        if (y[i] <= min || y[i] >= max)
-            continue;
-        data.push([x[i],y[i]]);
-    }
-    
-    return {error:null, data:data};
-}
-
-/*
-xmisc.mask = function(a, allowRange, rejectList, value) {
-    var x = this.select_by_range(a, allowRange, value, false);
-    x = this.select_by_list(a, rejectList, value, true);
-    return x;
-}
-*/
-
-// a: array
-// range: [r0, r1]
-// value: set to value if out of range
-// negate: boolean to negate selection
-// return: array with out-of-range members as value
-xmisc.select_by_range = function(a, range, value, negate) {
-    if (!range)
-        return a;
-
-    var r0 = range[0];
-    var r1 = range[1];
-
-    var b = [];
-    var i, x, y;
-    for (i=0; i<a.length; i++) {
-        x = a[i];
-        if (x >= r0 && x <= r1) {
-            x = (negate) ? value : x;
-        } else {
-            x = (negate) ? x: value;
-        }
-        b.push(x);
-    }
-    return b;
-}
-
-xmisc.isOneOf = function(x, a) {
-    for (var i=0; i<a.length; i++) {
-        if (x == a[i])
-            return true;
-    }
-    return false;
-}
-
-// a: array
-// list: [val0, val1, ...], list to mask
-// value: set to value if member is one of list
-// negate: boolean to negate selection
-// return: array with members in list as value
-xmisc.select_by_list = function(a, list, value, negate) {
-    if (!list)
-        return a;
-
-    var b = []
-    var i, x;
-    for (i=0; i<a.length; i++) {
-        x = a[i];
-        if (this.isOneOf(x, list)) {
-            x = (negate) ? value : x;
-        } else {
-            x = (negate) ? x : value;
-        }
-        b.push(x);
-    }
-}
-
-xmisc.filter = function(x, filter) {
-    if (!filter)
-        return x;
-    z = [];
-    var lower = null;
-    var upper = null;
-    if (filter.validRange) {
-        lower = filter.validRange[0];
-        upper = filter.validRange[1];
-    }
-    var mask = [];
-
-    for (var i=0; i<x.length; i++) {
-        if (filter.validRange) {
-            if (x[i] < filter.validRange[0] || x[i] > filter.validRange[1]) {
-                z.push(null);
-            } else {
-                z.push(x[i]);
-            }
-            continue;
-        }
-        if (filter.MaskedValues) {
-            continue;
-        }
-        z.push(x[i]);
-    }
-}
-
-xmisc.get_series = function(x, y) {
-
-    var data = [];
-
-    if (x == null)
-        return {error:"x is null"};
-    if (y == null)
-        return {error:"y is null"};
-    if (x.length != y.length)
-        return {error:"x and y are not of the same size"};
-
-    var data = [];
-    for (var i=0; i<x.length; i++) {
-        data.push([x[i],y[i]]);
-    }
-    
-    return {error:null, data:data};
-}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/asc.gif
----------------------------------------------------------------------
diff --git a/public/stylesheets/asc.gif b/public/stylesheets/asc.gif
deleted file mode 100644
index 7415786..0000000
Binary files a/public/stylesheets/asc.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/bg.gif
----------------------------------------------------------------------
diff --git a/public/stylesheets/bg.gif b/public/stylesheets/bg.gif
deleted file mode 100644
index fac668f..0000000
Binary files a/public/stylesheets/bg.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/bootstrap-editable.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/bootstrap-editable.css b/public/stylesheets/bootstrap-editable.css
deleted file mode 100644
index eaef0de..0000000
--- a/public/stylesheets/bootstrap-editable.css
+++ /dev/null
@@ -1,663 +0,0 @@
-/*! X-editable - v1.5.1 
-* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
-* http://github.com/vitalets/x-editable
-* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
-.editableform {
-    margin-bottom: 0; /* overwrites bootstrap margin */
-}
-
-.editableform .control-group {
-    margin-bottom: 0; /* overwrites bootstrap margin */
-    white-space: nowrap; /* prevent wrapping buttons on new line */
-    line-height: 20px; /* overwriting bootstrap line-height. See #133 */
-}
-
-/* 
-  BS3 width:1005 for inputs breaks editable form in popup 
-  See: https://github.com/vitalets/x-editable/issues/393
-*/
-.editableform .form-control {
-    width: auto;
-}
-
-.editable-buttons {
-   display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
-   vertical-align: top;
-   margin-left: 7px;
-   /* inline-block emulation for IE7*/
-   zoom: 1; 
-   *display: inline;
-}
-
-.editable-buttons.editable-buttons-bottom {
-   display: block; 
-   margin-top: 7px;
-   margin-left: 0;
-}
-
-.editable-input {
-    vertical-align: top; 
-    display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
-    width: auto; /* bootstrap-responsive has width: 100% that breakes layout */
-    white-space: normal; /* reset white-space decalred in parent*/
-   /* display-inline emulation for IE7*/
-   zoom: 1; 
-   *display: inline;   
-}
-
-.editable-buttons .editable-cancel {
-   margin-left: 7px; 
-}
-
-/*for jquery-ui buttons need set height to look more pretty*/
-.editable-buttons button.ui-button-icon-only {
-   height: 24px; 
-   width: 30px;
-}
-
-.editableform-loading {
-    background: url('../img/loading.gif') center center no-repeat;  
-    height: 25px;
-    width: auto; 
-    min-width: 25px; 
-}
-
-.editable-inline .editableform-loading {
-    background-position: left 5px;      
-}
-
- .editable-error-block {
-    max-width: 300px;
-    margin: 5px 0 0 0;
-    width: auto;
-    white-space: normal;
-}
-
-/*add padding for jquery ui*/
-.editable-error-block.ui-state-error {
-    padding: 3px;  
-}  
-
-.editable-error {
-   color: red;  
-}
-
-/* ---- For specific types ---- */
-
-.editableform .editable-date {
-    padding: 0; 
-    margin: 0;
-    float: left;
-}
-
-/* move datepicker icon to center of add-on button. See https://github.com/vitalets/x-editable/issues/183 */
-.editable-inline .add-on .icon-th {
-   margin-top: 3px;
-   margin-left: 1px; 
-}
-
-
-/* checklist vertical alignment */
-.editable-checklist label input[type="checkbox"], 
-.editable-checklist label span {
-    vertical-align: middle;
-    margin: 0;
-}
-
-.editable-checklist label {
-    white-space: nowrap; 
-}
-
-/* set exact width of textarea to fit buttons toolbar */
-.editable-wysihtml5 {
-    width: 566px; 
-    height: 250px; 
-}
-
-/* clear button shown as link in date inputs */
-.editable-clear {
-   clear: both;
-   font-size: 0.9em;
-   text-decoration: none;
-   text-align: right;
-}
-
-/* IOS-style clear button for text inputs */
-.editable-clear-x {
-   background: url('../img/clear.png') center center no-repeat;
-   display: block;
-   width: 13px;    
-   height: 13px;
-   position: absolute;
-   opacity: 0.6;
-   z-index: 100;
-   
-   top: 50%;
-   right: 6px;
-   margin-top: -6px;
-   
-}
-
-.editable-clear-x:hover {
-   opacity: 1;
-}
-
-.editable-pre-wrapped {
-   white-space: pre-wrap;
-}
-.editable-container.editable-popup {
-    max-width: none !important; /* without this rule poshytip/tooltip does not stretch */
-}  
-
-.editable-container.popover {
-    width: auto; /* without this rule popover does not stretch */
-}
-
-.editable-container.editable-inline {
-    display: inline-block; 
-    vertical-align: middle;
-    width: auto;
-    /* inline-block emulation for IE7*/
-    zoom: 1; 
-    *display: inline;    
-}
-
-.editable-container.ui-widget {
-   font-size: inherit;  /* jqueryui widget font 1.1em too big, overwrite it */
-   z-index: 9990; /* should be less than select2 dropdown z-index to close dropdown first when click */
-}
-.editable-click, 
-a.editable-click, 
-a.editable-click:hover {
-    text-decoration: none;
-    border-bottom: dashed 1px #0088cc;
-}
-
-.editable-click.editable-disabled, 
-a.editable-click.editable-disabled, 
-a.editable-click.editable-disabled:hover {
-   color: #585858;  
-   cursor: default;
-   border-bottom: none;
-}
-
-.editable-empty, .editable-empty:hover, .editable-empty:focus{
-  font-style: italic; 
-  color: #DD1144;  
-  /* border-bottom: none; */
-  text-decoration: none;
-}
-
-.editable-unsaved {
-  font-weight: bold; 
-}
-
-.editable-unsaved:after {
-/*    content: '*'*/
-}
-
-.editable-bg-transition {
-  -webkit-transition: background-color 1400ms ease-out;
-  -moz-transition: background-color 1400ms ease-out;
-  -o-transition: background-color 1400ms ease-out;
-  -ms-transition: background-color 1400ms ease-out;
-  transition: background-color 1400ms ease-out;  
-}
-
-/*see https://github.com/vitalets/x-editable/issues/139 */
-.form-horizontal .editable
-{ 
-    padding-top: 5px;
-    display:inline-block;
-}
-
-
-/*!
- * Datepicker for Bootstrap
- *
- * Copyright 2012 Stefan Petre
- * Improvements by Andrew Rowls
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- */
-.datepicker {
-  padding: 4px;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-  direction: ltr;
-  /*.dow {
-		border-top: 1px solid #ddd !important;
-	}*/
-
-}
-.datepicker-inline {
-  width: 220px;
-}
-.datepicker.datepicker-rtl {
-  direction: rtl;
-}
-.datepicker.datepicker-rtl table tr td span {
-  float: right;
-}
-.datepicker-dropdown {
-  top: 0;
-  left: 0;
-}
-.datepicker-dropdown:before {
-  content: '';
-  display: inline-block;
-  border-left: 7px solid transparent;
-  border-right: 7px solid transparent;
-  border-bottom: 7px solid #ccc;
-  border-bottom-color: rgba(0, 0, 0, 0.2);
-  position: absolute;
-  top: -7px;
-  left: 6px;
-}
-.datepicker-dropdown:after {
-  content: '';
-  display: inline-block;
-  border-left: 6px solid transparent;
-  border-right: 6px solid transparent;
-  border-bottom: 6px solid #ffffff;
-  position: absolute;
-  top: -6px;
-  left: 7px;
-}
-.datepicker > div {
-  display: none;
-}
-.datepicker.days div.datepicker-days {
-  display: block;
-}
-.datepicker.months div.datepicker-months {
-  display: block;
-}
-.datepicker.years div.datepicker-years {
-  display: block;
-}
-.datepicker table {
-  margin: 0;
-}
-.datepicker td,
-.datepicker th {
-  text-align: center;
-  width: 20px;
-  height: 20px;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-  border: none;
-}
-.table-striped .datepicker table tr td,
-.table-striped .datepicker table tr th {
-  background-color: transparent;
-}
-.datepicker table tr td.day:hover {
-  background: #eeeeee;
-  cursor: pointer;
-}
-.datepicker table tr td.old,
-.datepicker table tr td.new {
-  color: #999999;
-}
-.datepicker table tr td.disabled,
-.datepicker table tr td.disabled:hover {
-  background: none;
-  color: #999999;
-  cursor: default;
-}
-.datepicker table tr td.today,
-.datepicker table tr td.today:hover,
-.datepicker table tr td.today.disabled,
-.datepicker table tr td.today.disabled:hover {
-  background-color: #fde19a;
-  background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
-  background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
-  background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
-  background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
-  background-image: linear-gradient(top, #fdd49a, #fdf59a);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
-  border-color: #fdf59a #fdf59a #fbed50;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  color: #000;
-}
-.datepicker table tr td.today:hover,
-.datepicker table tr td.today:hover:hover,
-.datepicker table tr td.today.disabled:hover,
-.datepicker table tr td.today.disabled:hover:hover,
-.datepicker table tr td.today:active,
-.datepicker table tr td.today:hover:active,
-.datepicker table tr td.today.disabled:active,
-.datepicker table tr td.today.disabled:hover:active,
-.datepicker table tr td.today.active,
-.datepicker table tr td.today:hover.active,
-.datepicker table tr td.today.disabled.active,
-.datepicker table tr td.today.disabled:hover.active,
-.datepicker table tr td.today.disabled,
-.datepicker table tr td.today:hover.disabled,
-.datepicker table tr td.today.disabled.disabled,
-.datepicker table tr td.today.disabled:hover.disabled,
-.datepicker table tr td.today[disabled],
-.datepicker table tr td.today:hover[disabled],
-.datepicker table tr td.today.disabled[disabled],
-.datepicker table tr td.today.disabled:hover[disabled] {
-  background-color: #fdf59a;
-}
-.datepicker table tr td.today:active,
-.datepicker table tr td.today:hover:active,
-.datepicker table tr td.today.disabled:active,
-.datepicker table tr td.today.disabled:hover:active,
-.datepicker table tr td.today.active,
-.datepicker table tr td.today:hover.active,
-.datepicker table tr td.today.disabled.active,
-.datepicker table tr td.today.disabled:hover.active {
-  background-color: #fbf069 \9;
-}
-.datepicker table tr td.today:hover:hover {
-  color: #000;
-}
-.datepicker table tr td.today.active:hover {
-  color: #fff;
-}
-.datepicker table tr td.range,
-.datepicker table tr td.range:hover,
-.datepicker table tr td.range.disabled,
-.datepicker table tr td.range.disabled:hover {
-  background: #eeeeee;
-  -webkit-border-radius: 0;
-  -moz-border-radius: 0;
-  border-radius: 0;
-}
-.datepicker table tr td.range.today,
-.datepicker table tr td.range.today:hover,
-.datepicker table tr td.range.today.disabled,
-.datepicker table tr td.range.today.disabled:hover {
-  background-color: #f3d17a;
-  background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a);
-  background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));
-  background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a);
-  background-image: -o-linear-gradient(top, #f3c17a, #f3e97a);
-  background-image: linear-gradient(top, #f3c17a, #f3e97a);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
-  border-color: #f3e97a #f3e97a #edde34;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  -webkit-border-radius: 0;
-  -moz-border-radius: 0;
-  border-radius: 0;
-}
-.datepicker table tr td.range.today:hover,
-.datepicker table tr td.range.today:hover:hover,
-.datepicker table tr td.range.today.disabled:hover,
-.datepicker table tr td.range.today.disabled:hover:hover,
-.datepicker table tr td.range.today:active,
-.datepicker table tr td.range.today:hover:active,
-.datepicker table tr td.range.today.disabled:active,
-.datepicker table tr td.range.today.disabled:hover:active,
-.datepicker table tr td.range.today.active,
-.datepicker table tr td.range.today:hover.active,
-.datepicker table tr td.range.today.disabled.active,
-.datepicker table tr td.range.today.disabled:hover.active,
-.datepicker table tr td.range.today.disabled,
-.datepicker table tr td.range.today:hover.disabled,
-.datepicker table tr td.range.today.disabled.disabled,
-.datepicker table tr td.range.today.disabled:hover.disabled,
-.datepicker table tr td.range.today[disabled],
-.datepicker table tr td.range.today:hover[disabled],
-.datepicker table tr td.range.today.disabled[disabled],
-.datepicker table tr td.range.today.disabled:hover[disabled] {
-  background-color: #f3e97a;
-}
-.datepicker table tr td.range.today:active,
-.datepicker table tr td.range.today:hover:active,
-.datepicker table tr td.range.today.disabled:active,
-.datepicker table tr td.range.today.disabled:hover:active,
-.datepicker table tr td.range.today.active,
-.datepicker table tr td.range.today:hover.active,
-.datepicker table tr td.range.today.disabled.active,
-.datepicker table tr td.range.today.disabled:hover.active {
-  background-color: #efe24b \9;
-}
-.datepicker table tr td.selected,
-.datepicker table tr td.selected:hover,
-.datepicker table tr td.selected.disabled,
-.datepicker table tr td.selected.disabled:hover {
-  background-color: #9e9e9e;
-  background-image: -moz-linear-gradient(top, #b3b3b3, #808080);
-  background-image: -ms-linear-gradient(top, #b3b3b3, #808080);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080));
-  background-image: -webkit-linear-gradient(top, #b3b3b3, #808080);
-  background-image: -o-linear-gradient(top, #b3b3b3, #808080);
-  background-image: linear-gradient(top, #b3b3b3, #808080);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
-  border-color: #808080 #808080 #595959;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  color: #fff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-.datepicker table tr td.selected:hover,
-.datepicker table tr td.selected:hover:hover,
-.datepicker table tr td.selected.disabled:hover,
-.datepicker table tr td.selected.disabled:hover:hover,
-.datepicker table tr td.selected:active,
-.datepicker table tr td.selected:hover:active,
-.datepicker table tr td.selected.disabled:active,
-.datepicker table tr td.selected.disabled:hover:active,
-.datepicker table tr td.selected.active,
-.datepicker table tr td.selected:hover.active,
-.datepicker table tr td.selected.disabled.active,
-.datepicker table tr td.selected.disabled:hover.active,
-.datepicker table tr td.selected.disabled,
-.datepicker table tr td.selected:hover.disabled,
-.datepicker table tr td.selected.disabled.disabled,
-.datepicker table tr td.selected.disabled:hover.disabled,
-.datepicker table tr td.selected[disabled],
-.datepicker table tr td.selected:hover[disabled],
-.datepicker table tr td.selected.disabled[disabled],
-.datepicker table tr td.selected.disabled:hover[disabled] {
-  background-color: #808080;
-}
-.datepicker table tr td.selected:active,
-.datepicker table tr td.selected:hover:active,
-.datepicker table tr td.selected.disabled:active,
-.datepicker table tr td.selected.disabled:hover:active,
-.datepicker table tr td.selected.active,
-.datepicker table tr td.selected:hover.active,
-.datepicker table tr td.selected.disabled.active,
-.datepicker table tr td.selected.disabled:hover.active {
-  background-color: #666666 \9;
-}
-.datepicker table tr td.active,
-.datepicker table tr td.active:hover,
-.datepicker table tr td.active.disabled,
-.datepicker table tr td.active.disabled:hover {
-  background-color: #006dcc;
-  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
-  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
-  background-image: linear-gradient(top, #0088cc, #0044cc);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
-  border-color: #0044cc #0044cc #002a80;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  color: #fff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-.datepicker table tr td.active:hover,
-.datepicker table tr td.active:hover:hover,
-.datepicker table tr td.active.disabled:hover,
-.datepicker table tr td.active.disabled:hover:hover,
-.datepicker table tr td.active:active,
-.datepicker table tr td.active:hover:active,
-.datepicker table tr td.active.disabled:active,
-.datepicker table tr td.active.disabled:hover:active,
-.datepicker table tr td.active.active,
-.datepicker table tr td.active:hover.active,
-.datepicker table tr td.active.disabled.active,
-.datepicker table tr td.active.disabled:hover.active,
-.datepicker table tr td.active.disabled,
-.datepicker table tr td.active:hover.disabled,
-.datepicker table tr td.active.disabled.disabled,
-.datepicker table tr td.active.disabled:hover.disabled,
-.datepicker table tr td.active[disabled],
-.datepicker table tr td.active:hover[disabled],
-.datepicker table tr td.active.disabled[disabled],
-.datepicker table tr td.active.disabled:hover[disabled] {
-  background-color: #0044cc;
-}
-.datepicker table tr td.active:active,
-.datepicker table tr td.active:hover:active,
-.datepicker table tr td.active.disabled:active,
-.datepicker table tr td.active.disabled:hover:active,
-.datepicker table tr td.active.active,
-.datepicker table tr td.active:hover.active,
-.datepicker table tr td.active.disabled.active,
-.datepicker table tr td.active.disabled:hover.active {
-  background-color: #003399 \9;
-}
-.datepicker table tr td span {
-  display: block;
-  width: 23%;
-  height: 54px;
-  line-height: 54px;
-  float: left;
-  margin: 1%;
-  cursor: pointer;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-}
-.datepicker table tr td span:hover {
-  background: #eeeeee;
-}
-.datepicker table tr td span.disabled,
-.datepicker table tr td span.disabled:hover {
-  background: none;
-  color: #999999;
-  cursor: default;
-}
-.datepicker table tr td span.active,
-.datepicker table tr td span.active:hover,
-.datepicker table tr td span.active.disabled,
-.datepicker table tr td span.active.disabled:hover {
-  background-color: #006dcc;
-  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
-  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
-  background-image: linear-gradient(top, #0088cc, #0044cc);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
-  border-color: #0044cc #0044cc #002a80;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  color: #fff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-.datepicker table tr td span.active:hover,
-.datepicker table tr td span.active:hover:hover,
-.datepicker table tr td span.active.disabled:hover,
-.datepicker table tr td span.active.disabled:hover:hover,
-.datepicker table tr td span.active:active,
-.datepicker table tr td span.active:hover:active,
-.datepicker table tr td span.active.disabled:active,
-.datepicker table tr td span.active.disabled:hover:active,
-.datepicker table tr td span.active.active,
-.datepicker table tr td span.active:hover.active,
-.datepicker table tr td span.active.disabled.active,
-.datepicker table tr td span.active.disabled:hover.active,
-.datepicker table tr td span.active.disabled,
-.datepicker table tr td span.active:hover.disabled,
-.datepicker table tr td span.active.disabled.disabled,
-.datepicker table tr td span.active.disabled:hover.disabled,
-.datepicker table tr td span.active[disabled],
-.datepicker table tr td span.active:hover[disabled],
-.datepicker table tr td span.active.disabled[disabled],
-.datepicker table tr td span.active.disabled:hover[disabled] {
-  background-color: #0044cc;
-}
-.datepicker table tr td span.active:active,
-.datepicker table tr td span.active:hover:active,
-.datepicker table tr td span.active.disabled:active,
-.datepicker table tr td span.active.disabled:hover:active,
-.datepicker table tr td span.active.active,
-.datepicker table tr td span.active:hover.active,
-.datepicker table tr td span.active.disabled.active,
-.datepicker table tr td span.active.disabled:hover.active {
-  background-color: #003399 \9;
-}
-.datepicker table tr td span.old,
-.datepicker table tr td span.new {
-  color: #999999;
-}
-.datepicker th.datepicker-switch {
-  width: 145px;
-}
-.datepicker thead tr:first-child th,
-.datepicker tfoot tr th {
-  cursor: pointer;
-}
-.datepicker thead tr:first-child th:hover,
-.datepicker tfoot tr th:hover {
-  background: #eeeeee;
-}
-.datepicker .cw {
-  font-size: 10px;
-  width: 12px;
-  padding: 0 2px 0 5px;
-  vertical-align: middle;
-}
-.datepicker thead tr:first-child th.cw {
-  cursor: default;
-  background-color: transparent;
-}
-.input-append.date .add-on i,
-.input-prepend.date .add-on i {
-  display: block;
-  cursor: pointer;
-  width: 16px;
-  height: 16px;
-}
-.input-daterange input {
-  text-align: center;
-}
-.input-daterange input:first-child {
-  -webkit-border-radius: 3px 0 0 3px;
-  -moz-border-radius: 3px 0 0 3px;
-  border-radius: 3px 0 0 3px;
-}
-.input-daterange input:last-child {
-  -webkit-border-radius: 0 3px 3px 0;
-  -moz-border-radius: 0 3px 3px 0;
-  border-radius: 0 3px 3px 0;
-}
-.input-daterange .add-on {
-  display: inline-block;
-  width: auto;
-  min-width: 16px;
-  height: 18px;
-  padding: 4px 5px;
-  font-weight: normal;
-  line-height: 18px;
-  text-align: center;
-  text-shadow: 0 1px 0 #ffffff;
-  vertical-align: middle;
-  background-color: #eeeeee;
-  border: 1px solid #ccc;
-  margin-left: -5px;
-  margin-right: -5px;
-}


[02/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/custom.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/custom.css b/public/stylesheets/custom.css
deleted file mode 100644
index bde87f5..0000000
--- a/public/stylesheets/custom.css
+++ /dev/null
@@ -1,37 +0,0 @@
-.jumbotron {
-	background-color: transparent;
-}
-.jumbotron img{
-	margin-top: -40px;
-}
-.jumbotron h1{
-	font-size: 3em;
-}
-
-.footer {
-	border-top: 1px solid #eee;
-	margin-top: 25px;
-	padding-top: 25px;
-	padding-bottom: 25px;
-	text-align: right;
-}
-
-.operation {
-	display: flex;
-}
-.operation .btn{
-	margin-right: 5px;
-}
-
-.editable-click {
-  color: blue;
-  border-color: blue;
-} 
-.editable-click.editable-disabled {
-  color: black;  
-  border-bottom: none;
-}
-.editable-empty{
-  color: gray;
-  font-style: italic;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/custom_recommend.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/custom_recommend.css b/public/stylesheets/custom_recommend.css
deleted file mode 100644
index 5408149..0000000
--- a/public/stylesheets/custom_recommend.css
+++ /dev/null
@@ -1,37 +0,0 @@
-circle {
-    fill: white;
-    fill-opacity: .5;
-    stroke-width: 3;
-    stroke-opacity: 1;
-    stroke: black;
-}
-
-circle.root {
-    stroke-width: 5;
-    fill: lightblue;
-    fill-opacity: 1;
-}
-
-circle.service {
-    stroke: yellow;
-    stroke-width: 1;
-}
-
-.selected circle{
-    fill-opacity: 1;
-    stroke-width: 4;
-    stroke: lightblue;
-}
-
-.edge {
-    stroke-linecap: round;
-    stroke: lightblue;
-    stroke-opacity: 1;
-    stroke-width: 2;
-}
-
-.edge.RECEIVED {
-    stroke-dasharray: 10,5,2,2,2,5;
-    stroke: yellow;
-    stroke-opacity: 1;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/desc.gif
----------------------------------------------------------------------
diff --git a/public/stylesheets/desc.gif b/public/stylesheets/desc.gif
deleted file mode 100644
index 3b30b3c..0000000
Binary files a/public/stylesheets/desc.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/jquery-ui-1.10.4.min.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/jquery-ui-1.10.4.min.css b/public/stylesheets/jquery-ui-1.10.4.min.css
deleted file mode 100644
index 3c6d34c..0000000
--- a/public/stylesheets/jquery-ui-1.10.4.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*! jQuery UI - v1.10.4 - 2014-04-02
-* http://jqueryui.com
-* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css, jquery.ui.theme.css
-* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighl
 ight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
-* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
-
-.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui
 -accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent
 :-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-l
 eft:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker
 -month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-mult
 i-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-g
 roup-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{
 cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;t
 ext-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("images/animated-overlay.gif");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9p
 x;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vert
 ical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-t
 abs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#eee u
 rl("images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #e78f08;background:#f6a828 url("images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#1c94c4}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#1c94c4;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #fbcb09;background:#fdf5ce url("images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#c77405}.ui-state-hover a,.ui-state-hover a:hover,.ui-s
 tate-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#c77405;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #fbd850;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#eb8f00}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#eb8f00;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c url("images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url("images/ui-bg_diagonal
 s-thick_18_b81900_40x40.png") 50% 50% repeat;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-default .ui-icon{bac
 kground-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_228ef1_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_ffd27a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{b
 ackground-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-a
 rrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-1
 60px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{backg
 round-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-
 icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background
 -position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-
 48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-positi
 on:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{back
 ground-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{b
 order-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#666 url("images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat;opacity:.5;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url("images/ui-bg_flat_10_000000_40x100.png") 50% 50% repeat-x;opacity:.2;filter:Alpha(Opacity=20);border-radius:5px}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/jquery.jqplot.min.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/jquery.jqplot.min.css b/public/stylesheets/jquery.jqplot.min.css
deleted file mode 100644
index 0f84835..0000000
--- a/public/stylesheets/jquery.jqplot.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.jqplot-target{position:relative;color:#666;font-family:"Trebuchet MS",Arial,Helvetica,sans-serif;font-size:1em}.jqplot-axis{font-size:.75em}.jqplot-xaxis{margin-top:10px}.jqplot-x2axis{margin-bottom:10px}.jqplot-yaxis{margin-right:10px}.jqplot-y2axis,.jqplot-y3axis,.jqplot-y4axis,.jqplot-y5axis,.jqplot-y6axis,.jqplot-y7axis,.jqplot-y8axis,.jqplot-y9axis,.jqplot-yMidAxis{margin-left:10px;margin-right:10px}.jqplot-axis-tick,.jqplot-xaxis-tick,.jqplot-yaxis-tick,.jqplot-x2axis-tick,.jqplot-y2axis-tick,.jqplot-y3axis-tick,.jqplot-y4axis-tick,.jqplot-y5axis-tick,.jqplot-y6axis-tick,.jqplot-y7axis-tick,.jqplot-y8axis-tick,.jqplot-y9axis-tick,.jqplot-yMidAxis-tick{position:absolute;white-space:pre}.jqplot-xaxis-tick{top:0;left:15px;vertical-align:top}.jqplot-x2axis-tick{bottom:0;left:15px;vertical-align:bottom}.jqplot-yaxis-tick{right:0;top:15px;text-align:right}.jqplot-yaxis-tick.jqplot-breakTick{right:-20px;margin-right:0;padding:1px 5px 1px 5px;z-index:2;font-size:1.5em}.jqplot-y2axis-
 tick,.jqplot-y3axis-tick,.jqplot-y4axis-tick,.jqplot-y5axis-tick,.jqplot-y6axis-tick,.jqplot-y7axis-tick,.jqplot-y8axis-tick,.jqplot-y9axis-tick{left:0;top:15px;text-align:left}.jqplot-yMidAxis-tick{text-align:center;white-space:nowrap}.jqplot-xaxis-label{margin-top:10px;font-size:11pt;position:absolute}.jqplot-x2axis-label{margin-bottom:10px;font-size:11pt;position:absolute}.jqplot-yaxis-label{margin-right:10px;font-size:11pt;position:absolute}.jqplot-yMidAxis-label{font-size:11pt;position:absolute}.jqplot-y2axis-label,.jqplot-y3axis-label,.jqplot-y4axis-label,.jqplot-y5axis-label,.jqplot-y6axis-label,.jqplot-y7axis-label,.jqplot-y8axis-label,.jqplot-y9axis-label{font-size:11pt;margin-left:10px;position:absolute}.jqplot-meterGauge-tick{font-size:.75em;color:#999}.jqplot-meterGauge-label{font-size:1em;color:#999}table.jqplot-table-legend{margin-top:12px;margin-bottom:12px;margin-left:12px;margin-right:12px}table.jqplot-table-legend,table.jqplot-cursor-legend{background-color:rgba(25
 5,255,255,0.6);border:1px solid #ccc;position:absolute;font-size:.75em}td.jqplot-table-legend{vertical-align:middle}td.jqplot-seriesToggle:hover,td.jqplot-seriesToggle:active{cursor:pointer}.jqplot-table-legend .jqplot-series-hidden{text-decoration:line-through}div.jqplot-table-legend-swatch-outline{border:1px solid #ccc;padding:1px}div.jqplot-table-legend-swatch{width:0;height:0;border-top-width:5px;border-bottom-width:5px;border-left-width:6px;border-right-width:6px;border-top-style:solid;border-bottom-style:solid;border-left-style:solid;border-right-style:solid}.jqplot-title{top:0;left:0;padding-bottom:.5em;font-size:1.2em}table.jqplot-cursor-tooltip{border:1px solid #ccc;font-size:.75em}.jqplot-cursor-tooltip{border:1px solid #ccc;font-size:.75em;white-space:nowrap;background:rgba(208,208,208,0.5);padding:1px}.jqplot-highlighter-tooltip,.jqplot-canvasOverlay-tooltip{border:1px solid #ccc;font-size:.75em;white-space:nowrap;background:rgba(208,208,208,0.5);padding:1px}.jqplot-poin
 t-label{font-size:.75em;z-index:2}td.jqplot-cursor-legend-swatch{vertical-align:middle;text-align:center}div.jqplot-cursor-legend-swatch{width:1.2em;height:.7em}.jqplot-error{text-align:center}.jqplot-error-message{position:relative;top:46%;display:inline-block}div.jqplot-bubble-label{font-size:.8em;padding-left:2px;padding-right:2px;color:rgb(20%,20%,20%)}div.jqplot-bubble-label.jqplot-bubble-label-highlight{background:rgba(90%,90%,90%,0.7)}div.jqplot-noData-container{text-align:center;background-color:rgba(96%,96%,96%,0.3)}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/jquery.tablesorter.pager.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/jquery.tablesorter.pager.css b/public/stylesheets/jquery.tablesorter.pager.css
deleted file mode 100644
index a8236dc..0000000
--- a/public/stylesheets/jquery.tablesorter.pager.css
+++ /dev/null
@@ -1,25 +0,0 @@
-div.tablesorterPager {
-	padding: 10px 0 10px 0;
-	background-color: #D6D2C2;
-	text-align: center;
-}
-div.tablesorterPager span {
-	padding: 0 5px 0 5px;
-}
-div.tablesorterPager input.prev {
-	width: auto;
-	margin-right: 10px;
-}
-div.tablesorterPager input.next {
-	width: auto;
-	margin-left: 10px;
-}
-div.tablesorterPager input {
-	font-size: 8px;
-	width: 50px;
-	border: 1px solid #330000;
-	text-align: center;
-}
-
-
-  
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/jstree/32px.png
----------------------------------------------------------------------
diff --git a/public/stylesheets/jstree/32px.png b/public/stylesheets/jstree/32px.png
deleted file mode 100644
index 1532715..0000000
Binary files a/public/stylesheets/jstree/32px.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/jstree/40px.png
----------------------------------------------------------------------
diff --git a/public/stylesheets/jstree/40px.png b/public/stylesheets/jstree/40px.png
deleted file mode 100644
index 1959347..0000000
Binary files a/public/stylesheets/jstree/40px.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/stylesheets/jstree/style.css
----------------------------------------------------------------------
diff --git a/public/stylesheets/jstree/style.css b/public/stylesheets/jstree/style.css
deleted file mode 100644
index bf64177..0000000
--- a/public/stylesheets/jstree/style.css
+++ /dev/null
@@ -1,1050 +0,0 @@
-/* jsTree default theme */
-.jstree-node,
-.jstree-children,
-.jstree-container-ul {
-  display: block;
-  margin: 0;
-  padding: 0;
-  list-style-type: none;
-  list-style-image: none;
-}
-.jstree-node {
-  white-space: nowrap;
-}
-.jstree-anchor {
-  display: inline-block;
-  color: black;
-  white-space: nowrap;
-  padding: 0 4px 0 1px;
-  margin: 0;
-  vertical-align: top;
-}
-.jstree-anchor:focus {
-  outline: 0;
-}
-.jstree-anchor,
-.jstree-anchor:link,
-.jstree-anchor:visited,
-.jstree-anchor:hover,
-.jstree-anchor:active {
-  text-decoration: none;
-  color: inherit;
-}
-.jstree-icon {
-  display: inline-block;
-  text-decoration: none;
-  margin: 0;
-  padding: 0;
-  vertical-align: top;
-  text-align: center;
-}
-.jstree-icon:empty {
-  display: inline-block;
-  text-decoration: none;
-  margin: 0;
-  padding: 0;
-  vertical-align: top;
-  text-align: center;
-}
-.jstree-ocl {
-  cursor: pointer;
-}
-.jstree-leaf > .jstree-ocl {
-  cursor: default;
-}
-.jstree .jstree-open > .jstree-children {
-  display: block;
-}
-.jstree .jstree-closed > .jstree-children,
-.jstree .jstree-leaf > .jstree-children {
-  display: none;
-}
-.jstree-anchor > .jstree-themeicon {
-  margin-right: 2px;
-}
-.jstree-no-icons .jstree-themeicon,
-.jstree-anchor > .jstree-themeicon-hidden {
-  display: none;
-}
-.jstree-rtl .jstree-anchor {
-  padding: 0 1px 0 4px;
-}
-.jstree-rtl .jstree-anchor > .jstree-themeicon {
-  margin-left: 2px;
-  margin-right: 0;
-}
-.jstree-rtl .jstree-node {
-  margin-left: 0;
-}
-.jstree-rtl .jstree-container-ul > .jstree-node {
-  margin-right: 0;
-}
-.jstree-wholerow-ul {
-  position: relative;
-  display: inline-block;
-  min-width: 100%;
-}
-.jstree-wholerow-ul .jstree-leaf > .jstree-ocl {
-  cursor: pointer;
-}
-.jstree-wholerow-ul .jstree-anchor,
-.jstree-wholerow-ul .jstree-icon {
-  position: relative;
-}
-.jstree-wholerow-ul .jstree-wholerow {
-  width: 100%;
-  cursor: pointer;
-  position: absolute;
-  left: 0;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-.vakata-context {
-  display: none;
-}
-.vakata-context,
-.vakata-context ul {
-  margin: 0;
-  padding: 2px;
-  position: absolute;
-  background: #f5f5f5;
-  border: 1px solid #979797;
-  -moz-box-shadow: 5px 5px 4px -4px #666666;
-  -webkit-box-shadow: 2px 2px 2px #999999;
-  box-shadow: 2px 2px 2px #999999;
-}
-.vakata-context ul {
-  list-style: none;
-  left: 100%;
-  margin-top: -2.7em;
-  margin-left: -4px;
-}
-.vakata-context .vakata-context-right ul {
-  left: auto;
-  right: 100%;
-  margin-left: auto;
-  margin-right: -4px;
-}
-.vakata-context li {
-  list-style: none;
-  display: inline;
-}
-.vakata-context li > a {
-  display: block;
-  padding: 0 2em 0 2em;
-  text-decoration: none;
-  width: auto;
-  color: black;
-  white-space: nowrap;
-  line-height: 2.4em;
-  -moz-text-shadow: 1px 1px 0 white;
-  -webkit-text-shadow: 1px 1px 0 white;
-  text-shadow: 1px 1px 0 white;
-  -moz-border-radius: 1px;
-  -webkit-border-radius: 1px;
-  border-radius: 1px;
-}
-.vakata-context li > a:hover {
-  position: relative;
-  background-color: #e8eff7;
-  -moz-box-shadow: 0 0 2px #0a6aa1;
-  -webkit-box-shadow: 0 0 2px #0a6aa1;
-  box-shadow: 0 0 2px #0a6aa1;
-}
-.vakata-context li > a.vakata-context-parent {
-  background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==");
-  background-position: right center;
-  background-repeat: no-repeat;
-}
-.vakata-context li > a:focus {
-  outline: 0;
-}
-.vakata-context .vakata-context-hover > a {
-  position: relative;
-  background-color: #e8eff7;
-  -moz-box-shadow: 0 0 2px #0a6aa1;
-  -webkit-box-shadow: 0 0 2px #0a6aa1;
-  box-shadow: 0 0 2px #0a6aa1;
-}
-.vakata-context .vakata-context-separator > a,
-.vakata-context .vakata-context-separator > a:hover {
-  background: white;
-  border: 0;
-  border-top: 1px solid #e2e3e3;
-  height: 1px;
-  min-height: 1px;
-  max-height: 1px;
-  padding: 0;
-  margin: 0 0 0 2.4em;
-  border-left: 1px solid #e0e0e0;
-  -moz-text-shadow: 0 0 0 transparent;
-  -webkit-text-shadow: 0 0 0 transparent;
-  text-shadow: 0 0 0 transparent;
-  -moz-box-shadow: 0 0 0 transparent;
-  -webkit-box-shadow: 0 0 0 transparent;
-  box-shadow: 0 0 0 transparent;
-  -moz-border-radius: 0;
-  -webkit-border-radius: 0;
-  border-radius: 0;
-}
-.vakata-context .vakata-contextmenu-disabled a,
-.vakata-context .vakata-contextmenu-disabled a:hover {
-  color: silver;
-  background-color: transparent;
-  border: 0;
-  box-shadow: 0 0 0;
-}
-.vakata-context li > a > i {
-  text-decoration: none;
-  display: inline-block;
-  width: 2.4em;
-  height: 2.4em;
-  background: transparent;
-  margin: 0 0 0 -2em;
-  vertical-align: top;
-  text-align: center;
-  line-height: 2.4em;
-}
-.vakata-context li > a > i:empty {
-  width: 2.4em;
-  line-height: 2.4em;
-}
-.vakata-context li > a .vakata-contextmenu-sep {
-  display: inline-block;
-  width: 1px;
-  height: 2.4em;
-  background: white;
-  margin: 0 0.5em 0 0;
-  border-left: 1px solid #e2e3e3;
-}
-.vakata-context .vakata-contextmenu-shortcut {
-  font-size: 0.8em;
-  color: silver;
-  opacity: 0.5;
-  display: none;
-}
-.vakata-context-rtl ul {
-  left: auto;
-  right: 100%;
-  margin-left: auto;
-  margin-right: -4px;
-}
-.vakata-context-rtl li > a.vakata-context-parent {
-  background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7");
-  background-position: left center;
-  background-repeat: no-repeat;
-}
-.vakata-context-rtl .vakata-context-separator > a {
-  margin: 0 2.4em 0 0;
-  border-left: 0;
-  border-right: 1px solid #e2e3e3;
-}
-.vakata-context-rtl .vakata-context-left ul {
-  right: auto;
-  left: 100%;
-  margin-left: -4px;
-  margin-right: auto;
-}
-.vakata-context-rtl li > a > i {
-  margin: 0 -2em 0 0;
-}
-.vakata-context-rtl li > a .vakata-contextmenu-sep {
-  margin: 0 0 0 0.5em;
-  border-left-color: white;
-  background: #e2e3e3;
-}
-#jstree-marker {
-  position: absolute;
-  top: 0;
-  left: 0;
-  margin: -5px 0 0 0;
-  padding: 0;
-  border-right: 0;
-  border-top: 5px solid transparent;
-  border-bottom: 5px solid transparent;
-  border-left: 5px solid;
-  width: 0;
-  height: 0;
-  font-size: 0;
-  line-height: 0;
-}
-#jstree-dnd {
-  line-height: 16px;
-  margin: 0;
-  padding: 4px;
-}
-#jstree-dnd .jstree-icon,
-#jstree-dnd .jstree-copy {
-  display: inline-block;
-  text-decoration: none;
-  margin: 0 2px 0 0;
-  padding: 0;
-  width: 16px;
-  height: 16px;
-}
-#jstree-dnd .jstree-ok {
-  background: green;
-}
-#jstree-dnd .jstree-er {
-  background: red;
-}
-#jstree-dnd .jstree-copy {
-  margin: 0 2px 0 2px;
-}
-.jstree-default .jstree-node,
-.jstree-default .jstree-icon {
-  background-repeat: no-repeat;
-  background-color: transparent;
-}
-.jstree-default .jstree-anchor,
-.jstree-default .jstree-wholerow {
-  transition: background-color 0.15s, box-shadow 0.15s;
-}
-.jstree-default .jstree-hovered {
-  background: #e7f4f9;
-  border-radius: 2px;
-  box-shadow: inset 0 0 1px #cccccc;
-}
-.jstree-default .jstree-clicked {
-  background: #beebff;
-  border-radius: 2px;
-  box-shadow: inset 0 0 1px #999999;
-}
-.jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon {
-  display: none;
-}
-.jstree-default .jstree-disabled {
-  background: transparent;
-  color: #666666;
-}
-.jstree-default .jstree-disabled.jstree-hovered {
-  background: transparent;
-  box-shadow: none;
-}
-.jstree-default .jstree-disabled.jstree-clicked {
-  background: #efefef;
-}
-.jstree-default .jstree-disabled > .jstree-icon {
-  opacity: 0.8;
-  filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");
-  /* Firefox 10+ */
-  filter: gray;
-  /* IE6-9 */
-  -webkit-filter: grayscale(100%);
-  /* Chrome 19+ & Safari 6+ */
-}
-.jstree-default .jstree-search {
-  font-style: italic;
-  color: #8b0000;
-  font-weight: bold;
-}
-.jstree-default .jstree-no-checkboxes .jstree-checkbox {
-  display: none !important;
-}
-.jstree-default.jstree-checkbox-no-clicked .jstree-clicked {
-  background: transparent;
-  box-shadow: none;
-}
-.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered {
-  background: #e7f4f9;
-}
-.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked {
-  background: transparent;
-}
-.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered {
-  background: #e7f4f9;
-}
-.jstree-default > .jstree-striped {
-  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat;
-}
-.jstree-default > .jstree-wholerow-ul .jstree-hovered,
-.jstree-default > .jstree-wholerow-ul .jstree-clicked {
-  background: transparent;
-  box-shadow: none;
-  border-radius: 0;
-}
-.jstree-default .jstree-wholerow {
-  -moz-box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  box-sizing: border-box;
-}
-.jstree-default .jstree-wholerow-hovered {
-  background: #e7f4f9;
-}
-.jstree-default .jstree-wholerow-clicked {
-  background: #beebff;
-  background: -moz-linear-gradient(top, #beebff 0%, #a8e4ff 100%);
-  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #beebff), color-stop(100%, #a8e4ff));
-  background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%);
-  background: -o-linear-gradient(top, #beebff 0%, #a8e4ff 100%);
-  background: -ms-linear-gradient(top, #beebff 0%, #a8e4ff 100%);
-  background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%);
-  /*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='@color1', endColorstr='@color2',GradientType=0 );*/
-}
-.jstree-default .jstree-node {
-  min-height: 24px;
-  line-height: 24px;
-  margin-left: 24px;
-  min-width: 24px;
-}
-.jstree-default .jstree-anchor {
-  line-height: 24px;
-  height: 24px;
-}
-.jstree-default .jstree-icon {
-  width: 24px;
-  height: 24px;
-  line-height: 24px;
-}
-.jstree-default .jstree-icon:empty {
-  width: 24px;
-  height: 24px;
-  line-height: 24px;
-}
-.jstree-default.jstree-rtl .jstree-node {
-  margin-right: 24px;
-}
-.jstree-default .jstree-wholerow {
-  height: 24px;
-}
-.jstree-default .jstree-node,
-.jstree-default .jstree-icon {
-  background-image: url("32px.png");
-}
-.jstree-default .jstree-node {
-  background-position: -292px -4px;
-  background-repeat: repeat-y;
-}
-.jstree-default .jstree-last {
-  background: transparent;
-}
-.jstree-default .jstree-open > .jstree-ocl {
-  background-position: -132px -4px;
-}
-.jstree-default .jstree-closed > .jstree-ocl {
-  background-position: -100px -4px;
-}
-.jstree-default .jstree-leaf > .jstree-ocl {
-  background-position: -68px -4px;
-}
-.jstree-default .jstree-themeicon {
-  background-position: -260px -4px;
-}
-.jstree-default > .jstree-no-dots .jstree-node,
-.jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl {
-  background: transparent;
-}
-.jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl {
-  background-position: -36px -4px;
-}
-.jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl {
-  background-position: -4px -4px;
-}
-.jstree-default .jstree-disabled {
-  background: transparent;
-}
-.jstree-default .jstree-disabled.jstree-hovered {
-  background: transparent;
-}
-.jstree-default .jstree-disabled.jstree-clicked {
-  background: #efefef;
-}
-.jstree-default .jstree-checkbox {
-  background-position: -164px -4px;
-}
-.jstree-default .jstree-checkbox:hover {
-  background-position: -164px -36px;
-}
-.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox,
-.jstree-default .jstree-checked > .jstree-checkbox {
-  background-position: -228px -4px;
-}
-.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover,
-.jstree-default .jstree-checked > .jstree-checkbox:hover {
-  background-position: -228px -36px;
-}
-.jstree-default .jstree-anchor > .jstree-undetermined {
-  background-position: -196px -4px;
-}
-.jstree-default .jstree-anchor > .jstree-undetermined:hover {
-  background-position: -196px -36px;
-}
-.jstree-default > .jstree-striped {
-  background-size: auto 48px;
-}
-.jstree-default.jstree-rtl .jstree-node {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
-  background-position: 100% 1px;
-  background-repeat: repeat-y;
-}
-.jstree-default.jstree-rtl .jstree-last {
-  background: transparent;
-}
-.jstree-default.jstree-rtl .jstree-open > .jstree-ocl {
-  background-position: -132px -36px;
-}
-.jstree-default.jstree-rtl .jstree-closed > .jstree-ocl {
-  background-position: -100px -36px;
-}
-.jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl {
-  background-position: -68px -36px;
-}
-.jstree-default.jstree-rtl > .jstree-no-dots .jstree-node,
-.jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl {
-  background: transparent;
-}
-.jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl {
-  background-position: -36px -36px;
-}
-.jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl {
-  background-position: -4px -36px;
-}
-.jstree-default .jstree-themeicon-custom {
-  background-color: transparent;
-  background-image: none;
-  background-position: 0 0;
-}
-.jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl {
-  background: url("throbber.gif") center center no-repeat;
-}
-.jstree-default .jstree-file {
-  background: url("32px.png") -100px -68px no-repeat;
-}
-.jstree-default .jstree-folder {
-  background: url("32px.png") -260px -4px no-repeat;
-}
-.jstree-default > .jstree-container-ul > .jstree-node {
-  margin-left: 0;
-  margin-right: 0;
-}
-#jstree-dnd.jstree-default {
-  line-height: 24px;
-  padding: 0 4px;
-}
-#jstree-dnd.jstree-default .jstree-ok,
-#jstree-dnd.jstree-default .jstree-er {
-  background-image: url("32px.png");
-  background-repeat: no-repeat;
-  background-color: transparent;
-}
-#jstree-dnd.jstree-default i {
-  background: transparent;
-  width: 24px;
-  height: 24px;
-  line-height: 24px;
-}
-#jstree-dnd.jstree-default .jstree-ok {
-  background-position: -4px -68px;
-}
-#jstree-dnd.jstree-default .jstree-er {
-  background-position: -36px -68px;
-}
-.jstree-default.jstree-rtl .jstree-node {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
-}
-.jstree-default.jstree-rtl .jstree-last {
-  background: transparent;
-}
-.jstree-default-small .jstree-node {
-  min-height: 18px;
-  line-height: 18px;
-  margin-left: 18px;
-  min-width: 18px;
-}
-.jstree-default-small .jstree-anchor {
-  line-height: 18px;
-  height: 18px;
-}
-.jstree-default-small .jstree-icon {
-  width: 18px;
-  height: 18px;
-  line-height: 18px;
-}
-.jstree-default-small .jstree-icon:empty {
-  width: 18px;
-  height: 18px;
-  line-height: 18px;
-}
-.jstree-default-small.jstree-rtl .jstree-node {
-  margin-right: 18px;
-}
-.jstree-default-small .jstree-wholerow {
-  height: 18px;
-}
-.jstree-default-small .jstree-node,
-.jstree-default-small .jstree-icon {
-  background-image: url("32px.png");
-}
-.jstree-default-small .jstree-node {
-  background-position: -295px -7px;
-  background-repeat: repeat-y;
-}
-.jstree-default-small .jstree-last {
-  background: transparent;
-}
-.jstree-default-small .jstree-open > .jstree-ocl {
-  background-position: -135px -7px;
-}
-.jstree-default-small .jstree-closed > .jstree-ocl {
-  background-position: -103px -7px;
-}
-.jstree-default-small .jstree-leaf > .jstree-ocl {
-  background-position: -71px -7px;
-}
-.jstree-default-small .jstree-themeicon {
-  background-position: -263px -7px;
-}
-.jstree-default-small > .jstree-no-dots .jstree-node,
-.jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl {
-  background: transparent;
-}
-.jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl {
-  background-position: -39px -7px;
-}
-.jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl {
-  background-position: -7px -7px;
-}
-.jstree-default-small .jstree-disabled {
-  background: transparent;
-}
-.jstree-default-small .jstree-disabled.jstree-hovered {
-  background: transparent;
-}
-.jstree-default-small .jstree-disabled.jstree-clicked {
-  background: #efefef;
-}
-.jstree-default-small .jstree-checkbox {
-  background-position: -167px -7px;
-}
-.jstree-default-small .jstree-checkbox:hover {
-  background-position: -167px -39px;
-}
-.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox,
-.jstree-default-small .jstree-checked > .jstree-checkbox {
-  background-position: -231px -7px;
-}
-.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover,
-.jstree-default-small .jstree-checked > .jstree-checkbox:hover {
-  background-position: -231px -39px;
-}
-.jstree-default-small .jstree-anchor > .jstree-undetermined {
-  background-position: -199px -7px;
-}
-.jstree-default-small .jstree-anchor > .jstree-undetermined:hover {
-  background-position: -199px -39px;
-}
-.jstree-default-small > .jstree-striped {
-  background-size: auto 36px;
-}
-.jstree-default-small.jstree-rtl .jstree-node {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
-  background-position: 100% 1px;
-  background-repeat: repeat-y;
-}
-.jstree-default-small.jstree-rtl .jstree-last {
-  background: transparent;
-}
-.jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl {
-  background-position: -135px -39px;
-}
-.jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl {
-  background-position: -103px -39px;
-}
-.jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl {
-  background-position: -71px -39px;
-}
-.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node,
-.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl {
-  background: transparent;
-}
-.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl {
-  background-position: -39px -39px;
-}
-.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl {
-  background-position: -7px -39px;
-}
-.jstree-default-small .jstree-themeicon-custom {
-  background-color: transparent;
-  background-image: none;
-  background-position: 0 0;
-}
-.jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl {
-  background: url("throbber.gif") center center no-repeat;
-}
-.jstree-default-small .jstree-file {
-  background: url("32px.png") -103px -71px no-repeat;
-}
-.jstree-default-small .jstree-folder {
-  background: url("32px.png") -263px -7px no-repeat;
-}
-.jstree-default-small > .jstree-container-ul > .jstree-node {
-  margin-left: 0;
-  margin-right: 0;
-}
-#jstree-dnd.jstree-default-small {
-  line-height: 18px;
-  padding: 0 4px;
-}
-#jstree-dnd.jstree-default-small .jstree-ok,
-#jstree-dnd.jstree-default-small .jstree-er {
-  background-image: url("32px.png");
-  background-repeat: no-repeat;
-  background-color: transparent;
-}
-#jstree-dnd.jstree-default-small i {
-  background: transparent;
-  width: 18px;
-  height: 18px;
-  line-height: 18px;
-}
-#jstree-dnd.jstree-default-small .jstree-ok {
-  background-position: -7px -71px;
-}
-#jstree-dnd.jstree-default-small .jstree-er {
-  background-position: -39px -71px;
-}
-.jstree-default-small.jstree-rtl .jstree-node {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==");
-}
-.jstree-default-small.jstree-rtl .jstree-last {
-  background: transparent;
-}
-.jstree-default-large .jstree-node {
-  min-height: 32px;
-  line-height: 32px;
-  margin-left: 32px;
-  min-width: 32px;
-}
-.jstree-default-large .jstree-anchor {
-  line-height: 32px;
-  height: 32px;
-}
-.jstree-default-large .jstree-icon {
-  width: 32px;
-  height: 32px;
-  line-height: 32px;
-}
-.jstree-default-large .jstree-icon:empty {
-  width: 32px;
-  height: 32px;
-  line-height: 32px;
-}
-.jstree-default-large.jstree-rtl .jstree-node {
-  margin-right: 32px;
-}
-.jstree-default-large .jstree-wholerow {
-  height: 32px;
-}
-.jstree-default-large .jstree-node,
-.jstree-default-large .jstree-icon {
-  background-image: url("32px.png");
-}
-.jstree-default-large .jstree-node {
-  background-position: -288px 0px;
-  background-repeat: repeat-y;
-}
-.jstree-default-large .jstree-last {
-  background: transparent;
-}
-.jstree-default-large .jstree-open > .jstree-ocl {
-  background-position: -128px 0px;
-}
-.jstree-default-large .jstree-closed > .jstree-ocl {
-  background-position: -96px 0px;
-}
-.jstree-default-large .jstree-leaf > .jstree-ocl {
-  background-position: -64px 0px;
-}
-.jstree-default-large .jstree-themeicon {
-  background-position: -256px 0px;
-}
-.jstree-default-large > .jstree-no-dots .jstree-node,
-.jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl {
-  background: transparent;
-}
-.jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl {
-  background-position: -32px 0px;
-}
-.jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl {
-  background-position: 0px 0px;
-}
-.jstree-default-large .jstree-disabled {
-  background: transparent;
-}
-.jstree-default-large .jstree-disabled.jstree-hovered {
-  background: transparent;
-}
-.jstree-default-large .jstree-disabled.jstree-clicked {
-  background: #efefef;
-}
-.jstree-default-large .jstree-checkbox {
-  background-position: -160px 0px;
-}
-.jstree-default-large .jstree-checkbox:hover {
-  background-position: -160px -32px;
-}
-.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox,
-.jstree-default-large .jstree-checked > .jstree-checkbox {
-  background-position: -224px 0px;
-}
-.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover,
-.jstree-default-large .jstree-checked > .jstree-checkbox:hover {
-  background-position: -224px -32px;
-}
-.jstree-default-large .jstree-anchor > .jstree-undetermined {
-  background-position: -192px 0px;
-}
-.jstree-default-large .jstree-anchor > .jstree-undetermined:hover {
-  background-position: -192px -32px;
-}
-.jstree-default-large > .jstree-striped {
-  background-size: auto 64px;
-}
-.jstree-default-large.jstree-rtl .jstree-node {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
-  background-position: 100% 1px;
-  background-repeat: repeat-y;
-}
-.jstree-default-large.jstree-rtl .jstree-last {
-  background: transparent;
-}
-.jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl {
-  background-position: -128px -32px;
-}
-.jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl {
-  background-position: -96px -32px;
-}
-.jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl {
-  background-position: -64px -32px;
-}
-.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node,
-.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl {
-  background: transparent;
-}
-.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl {
-  background-position: -32px -32px;
-}
-.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl {
-  background-position: 0px -32px;
-}
-.jstree-default-large .jstree-themeicon-custom {
-  background-color: transparent;
-  background-image: none;
-  background-position: 0 0;
-}
-.jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl {
-  background: url("throbber.gif") center center no-repeat;
-}
-.jstree-default-large .jstree-file {
-  background: url("32px.png") -96px -64px no-repeat;
-}
-.jstree-default-large .jstree-folder {
-  background: url("32px.png") -256px 0px no-repeat;
-}
-.jstree-default-large > .jstree-container-ul > .jstree-node {
-  margin-left: 0;
-  margin-right: 0;
-}
-#jstree-dnd.jstree-default-large {
-  line-height: 32px;
-  padding: 0 4px;
-}
-#jstree-dnd.jstree-default-large .jstree-ok,
-#jstree-dnd.jstree-default-large .jstree-er {
-  background-image: url("32px.png");
-  background-repeat: no-repeat;
-  background-color: transparent;
-}
-#jstree-dnd.jstree-default-large i {
-  background: transparent;
-  width: 32px;
-  height: 32px;
-  line-height: 32px;
-}
-#jstree-dnd.jstree-default-large .jstree-ok {
-  background-position: 0px -64px;
-}
-#jstree-dnd.jstree-default-large .jstree-er {
-  background-position: -32px -64px;
-}
-.jstree-default-large.jstree-rtl .jstree-node {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==");
-}
-.jstree-default-large.jstree-rtl .jstree-last {
-  background: transparent;
-}
-@media (max-width: 768px) {
-  #jstree-dnd.jstree-dnd-responsive {
-    line-height: 40px;
-    font-weight: bold;
-    font-size: 1.1em;
-    text-shadow: 1px 1px white;
-  }
-  #jstree-dnd.jstree-dnd-responsive > i {
-    background: transparent;
-    width: 40px;
-    height: 40px;
-  }
-  #jstree-dnd.jstree-dnd-responsive > .jstree-ok {
-    background-image: url("40px.png");
-    background-position: 0 -200px;
-    background-size: 120px 240px;
-  }
-  #jstree-dnd.jstree-dnd-responsive > .jstree-er {
-    background-image: url("40px.png");
-    background-position: -40px -200px;
-    background-size: 120px 240px;
-  }
-  #jstree-marker.jstree-dnd-responsive {
-    border-left-width: 10px;
-    border-top-width: 10px;
-    border-bottom-width: 10px;
-    margin-top: -10px;
-  }
-}
-@media (max-width: 768px) {
-  .jstree-default-responsive {
-    /*
-	.jstree-open > .jstree-ocl,
-	.jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; }
-	*/
-  }
-  .jstree-default-responsive .jstree-icon {
-    background-image: url("40px.png");
-  }
-  .jstree-default-responsive .jstree-node,
-  .jstree-default-responsive .jstree-leaf > .jstree-ocl {
-    background: transparent;
-  }
-  .jstree-default-responsive .jstree-node {
-    min-height: 40px;
-    line-height: 40px;
-    margin-left: 40px;
-    min-width: 40px;
-    white-space: nowrap;
-  }
-  .jstree-default-responsive .jstree-anchor {
-    line-height: 40px;
-    height: 40px;
-  }
-  .jstree-default-responsive .jstree-icon,
-  .jstree-default-responsive .jstree-icon:empty {
-    width: 40px;
-    height: 40px;
-    line-height: 40px;
-  }
-  .jstree-default-responsive > .jstree-container-ul > .jstree-node {
-    margin-left: 0;
-  }
-  .jstree-default-responsive.jstree-rtl .jstree-node {
-    margin-left: 0;
-    margin-right: 40px;
-  }
-  .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node {
-    margin-right: 0;
-  }
-  .jstree-default-responsive .jstree-ocl,
-  .jstree-default-responsive .jstree-themeicon,
-  .jstree-default-responsive .jstree-checkbox {
-    background-size: 120px 240px;
-  }
-  .jstree-default-responsive .jstree-leaf > .jstree-ocl {
-    background: transparent;
-  }
-  .jstree-default-responsive .jstree-open > .jstree-ocl {
-    background-position: 0 0px !important;
-  }
-  .jstree-default-responsive .jstree-closed > .jstree-ocl {
-    background-position: 0 -40px !important;
-  }
-  .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl {
-    background-position: -40px 0px !important;
-  }
-  .jstree-default-responsive .jstree-themeicon {
-    background-position: -40px -40px;
-  }
-  .jstree-default-responsive .jstree-checkbox,
-  .jstree-default-responsive .jstree-checkbox:hover {
-    background-position: -40px -80px;
-  }
-  .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox,
-  .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover,
-  .jstree-default-responsive .jstree-checked > .jstree-checkbox,
-  .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover {
-    background-position: 0 -80px;
-  }
-  .jstree-default-responsive .jstree-anchor > .jstree-undetermined,
-  .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover {
-    background-position: 0 -120px;
-  }
-  .jstree-default-responsive .jstree-anchor {
-    font-weight: bold;
-    font-size: 1.1em;
-    text-shadow: 1px 1px white;
-  }
-  .jstree-default-responsive > .jstree-striped {
-    background: transparent;
-  }
-  .jstree-default-responsive .jstree-wholerow {
-    border-top: 1px solid rgba(255, 255, 255, 0.7);
-    border-bottom: 1px solid rgba(64, 64, 64, 0.2);
-    background: #ebebeb;
-    height: 40px;
-  }
-  .jstree-default-responsive .jstree-wholerow-hovered {
-    background: #e7f4f9;
-  }
-  .jstree-default-responsive .jstree-wholerow-clicked {
-    background: #beebff;
-  }
-  .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow {
-    box-shadow: inset 0 -6px 3px -5px #666666;
-  }
-  .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow {
-    box-shadow: inset 0 6px 3px -5px #666666;
-    border-top: 0;
-  }
-  .jstree-default-responsive .jstree-children .jstree-open + .jstree-open {
-    box-shadow: none;
-  }
-  .jstree-default-responsive .jstree-node,
-  .jstree-default-responsive .jstree-icon,
-  .jstree-default-responsive .jstree-node > .jstree-ocl,
-  .jstree-default-responsive .jstree-themeicon,
-  .jstree-default-responsive .jstree-checkbox {
-    background-image: url("40px.png");
-    background-size: 120px 240px;
-  }
-  .jstree-default-responsive .jstree-node {
-    background-position: -80px 0;
-    background-repeat: repeat-y;
-  }
-  .jstree-default-responsive .jstree-last {
-    background: transparent;
-  }
-  .jstree-default-responsive .jstree-leaf > .jstree-ocl {
-    background-position: -40px -120px;
-  }
-  .jstree-default-responsive .jstree-last > .jstree-ocl {
-    background-position: -40px -160px;
-  }
-  .jstree-default-responsive .jstree-themeicon-custom {
-    background-color: transparent;
-    background-image: none;
-    background-position: 0 0;
-  }
-  .jstree-default-responsive .jstree-file {
-    background: url("40px.png") 0 -160px no-repeat;
-    background-size: 120px 240px;
-  }
-  .jstree-default-responsive .jstree-folder {
-    background: url("40px.png") -40px -40px no-repeat;
-    background-size: 120px 240px;
-  }
-  .jstree-default-responsive > .jstree-container-ul > .jstree-node {
-    margin-left: 0;
-    margin-right: 0;
-  }
-}


[12/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/jquery.metadata.js
----------------------------------------------------------------------
diff --git a/public/javascripts/jquery.metadata.js b/public/javascripts/jquery.metadata.js
deleted file mode 100644
index 6a984db..0000000
--- a/public/javascripts/jquery.metadata.js
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Metadata - jQuery plugin for parsing metadata from elements
- *
- * Copyright (c) 2006 John Resig, Yehuda Katz, J�örn Zaefferer, Paul McLanahan
- *
- * Dual licensed under the MIT and GPL licenses:
- *   http://www.opensource.org/licenses/mit-license.php
- *   http://www.gnu.org/licenses/gpl.html
- *
- * Revision: $Id$
- *
- */
-
-/**
- * Sets the type of metadata to use. Metadata is encoded in JSON, and each property
- * in the JSON will become a property of the element itself.
- *
- * There are three supported types of metadata storage:
- *
- *   attr:  Inside an attribute. The name parameter indicates *which* attribute.
- *          
- *   class: Inside the class attribute, wrapped in curly braces: { }
- *   
- *   elem:  Inside a child element (e.g. a script tag). The
- *          name parameter indicates *which* element.
- *          
- * The metadata for an element is loaded the first time the element is accessed via jQuery.
- *
- * As a result, you can define the metadata type, use $(expr) to load the metadata into the elements
- * matched by expr, then redefine the metadata type and run another $(expr) for other elements.
- * 
- * @name $.metadata.setType
- *
- * @example <p id="one" class="some_class {item_id: 1, item_label: 'Label'}">This is a p</p>
- * @before $.metadata.setType("class")
- * @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label"
- * @desc Reads metadata from the class attribute
- * 
- * @example <p id="one" class="some_class" data="{item_id: 1, item_label: 'Label'}">This is a p</p>
- * @before $.metadata.setType("attr", "data")
- * @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label"
- * @desc Reads metadata from a "data" attribute
- * 
- * @example <p id="one" class="some_class"><script>{item_id: 1, item_label: 'Label'}</script>This is a p</p>
- * @before $.metadata.setType("elem", "script")
- * @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label"
- * @desc Reads metadata from a nested script element
- * 
- * @param String type The encoding type
- * @param String name The name of the attribute to be used to get metadata (optional)
- * @cat Plugins/Metadata
- * @descr Sets the type of encoding to be used when loading metadata for the first time
- * @type undefined
- * @see metadata()
- */
-
-(function($) {
-
-$.extend({
-	metadata : {
-		defaults : {
-			type: 'class',
-			name: 'metadata',
-			cre: /({.*})/,
-			single: 'metadata'
-		},
-		setType: function( type, name ){
-			this.defaults.type = type;
-			this.defaults.name = name;
-		},
-		get: function( elem, opts ){
-			var settings = $.extend({},this.defaults,opts);
-			// check for empty string in single property
-			if ( !settings.single.length ) settings.single = 'metadata';
-			
-			var data = $.data(elem, settings.single);
-			// returned cached data if it already exists
-			if ( data ) return data;
-			
-			data = "{}";
-			
-			if ( settings.type == "class" ) {
-				var m = settings.cre.exec( elem.className );
-				if ( m )
-					data = m[1];
-			} else if ( settings.type == "elem" ) {
-				if( !elem.getElementsByTagName )
-					return undefined;
-				var e = elem.getElementsByTagName(settings.name);
-				if ( e.length )
-					data = $.trim(e[0].innerHTML);
-			} else if ( elem.getAttribute != undefined ) {
-				var attr = elem.getAttribute( settings.name );
-				if ( attr )
-					data = attr;
-			}
-			
-			if ( data.indexOf( '{' ) <0 )
-			data = "{" + data + "}";
-			
-			data = eval("(" + data + ")");
-			
-			$.data( elem, settings.single, data );
-			return data;
-		}
-	}
-});
-
-/**
- * Returns the metadata object for the first member of the jQuery object.
- *
- * @name metadata
- * @descr Returns element's metadata object
- * @param Object opts An object contianing settings to override the defaults
- * @type jQuery
- * @cat Plugins/Metadata
- */
-$.fn.metadata = function( opts ){
-	return $.metadata.get( this[0], opts );
-};
-
-})(jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/jquery.tablesorter.js
----------------------------------------------------------------------
diff --git a/public/javascripts/jquery.tablesorter.js b/public/javascripts/jquery.tablesorter.js
deleted file mode 100644
index e8e2323..0000000
--- a/public/javascripts/jquery.tablesorter.js
+++ /dev/null
@@ -1,1031 +0,0 @@
-/*
- * 
- * TableSorter 2.0 - Client-side table sorting with ease!
- * Version 2.0.5b
- * @requires jQuery v1.2.3
- * 
- * Copyright (c) 2007 Christian Bach
- * Examples and docs at: http://tablesorter.com
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- * 
- */
-/**
- * 
- * @description Create a sortable table with multi-column sorting capabilitys
- * 
- * @example $('table').tablesorter();
- * @desc Create a simple tablesorter interface.
- * 
- * @example $('table').tablesorter({ sortList:[[0,0],[1,0]] });
- * @desc Create a tablesorter interface and sort on the first and secound column column headers.
- * 
- * @example $('table').tablesorter({ headers: { 0: { sorter: false}, 1: {sorter: false} } });
- *          
- * @desc Create a tablesorter interface and disableing the first and second  column headers.
- *      
- * 
- * @example $('table').tablesorter({ headers: { 0: {sorter:"integer"}, 1: {sorter:"currency"} } });
- * 
- * @desc Create a tablesorter interface and set a column parser for the first
- *       and second column.
- * 
- * 
- * @param Object
- *            settings An object literal containing key/value pairs to provide
- *            optional settings.
- * 
- * 
- * @option String cssHeader (optional) A string of the class name to be appended
- *         to sortable tr elements in the thead of the table. Default value:
- *         "header"
- * 
- * @option String cssAsc (optional) A string of the class name to be appended to
- *         sortable tr elements in the thead on a ascending sort. Default value:
- *         "headerSortUp"
- * 
- * @option String cssDesc (optional) A string of the class name to be appended
- *         to sortable tr elements in the thead on a descending sort. Default
- *         value: "headerSortDown"
- * 
- * @option String sortInitialOrder (optional) A string of the inital sorting
- *         order can be asc or desc. Default value: "asc"
- * 
- * @option String sortMultisortKey (optional) A string of the multi-column sort
- *         key. Default value: "shiftKey"
- * 
- * @option String textExtraction (optional) A string of the text-extraction
- *         method to use. For complex html structures inside td cell set this
- *         option to "complex", on large tables the complex option can be slow.
- *         Default value: "simple"
- * 
- * @option Object headers (optional) An array containing the forces sorting
- *         rules. This option let's you specify a default sorting rule. Default
- *         value: null
- * 
- * @option Array sortList (optional) An array containing the forces sorting
- *         rules. This option let's you specify a default sorting rule. Default
- *         value: null
- * 
- * @option Array sortForce (optional) An array containing forced sorting rules.
- *         This option let's you specify a default sorting rule, which is
- *         prepended to user-selected rules. Default value: null
- * 
- * @option Boolean sortLocaleCompare (optional) Boolean flag indicating whatever
- *         to use String.localeCampare method or not. Default set to true.
- * 
- * 
- * @option Array sortAppend (optional) An array containing forced sorting rules.
- *         This option let's you specify a default sorting rule, which is
- *         appended to user-selected rules. Default value: null
- * 
- * @option Boolean widthFixed (optional) Boolean flag indicating if tablesorter
- *         should apply fixed widths to the table columns. This is usefull when
- *         using the pager companion plugin. This options requires the dimension
- *         jquery plugin. Default value: false
- * 
- * @option Boolean cancelSelection (optional) Boolean flag indicating if
- *         tablesorter should cancel selection of the table headers text.
- *         Default value: true
- * 
- * @option Boolean debug (optional) Boolean flag indicating if tablesorter
- *         should display debuging information usefull for development.
- * 
- * @type jQuery
- * 
- * @name tablesorter
- * 
- * @cat Plugins/Tablesorter
- * 
- * @author Christian Bach/christian.bach@polyester.se
- */
-
-(function ($) {
-    $.extend({
-        tablesorter: new
-        function () {
-
-            var parsers = [],
-                widgets = [];
-
-            this.defaults = {
-                cssHeader: "header",
-                cssAsc: "headerSortUp",
-                cssDesc: "headerSortDown",
-                cssChildRow: "expand-child",
-                sortInitialOrder: "asc",
-                sortMultiSortKey: "shiftKey",
-                sortForce: null,
-                sortAppend: null,
-                sortLocaleCompare: true,
-                textExtraction: "simple",
-                parsers: {}, widgets: [],
-                widgetZebra: {
-                    css: ["even", "odd"]
-                }, headers: {}, widthFixed: false,
-                cancelSelection: true,
-                sortList: [],
-                headerList: [],
-                dateFormat: "us",
-                decimal: '/\.|\,/g',
-                onRenderHeader: null,
-                selectorHeaders: 'thead th',
-                debug: false
-            };
-
-            /* debuging utils */
-
-            function benchmark(s, d) {
-                log(s + "," + (new Date().getTime() - d.getTime()) + "ms");
-            }
-
-            this.benchmark = benchmark;
-
-            function log(s) {
-                if (typeof console != "undefined" && typeof console.debug != "undefined") {
-                    console.log(s);
-                } else {
-                    alert(s);
-                }
-            }
-
-            /* parsers utils */
-
-            function buildParserCache(table, $headers) {
-
-                if (table.config.debug) {
-                    var parsersDebug = "";
-                }
-
-                if (table.tBodies.length == 0) return; // In the case of empty tables
-                var rows = table.tBodies[0].rows;
-
-                if (rows[0]) {
-
-                    var list = [],
-                        cells = rows[0].cells,
-                        l = cells.length;
-
-                    for (var i = 0; i < l; i++) {
-
-                        var p = false;
-
-                        if ($.metadata && ($($headers[i]).metadata() && $($headers[i]).metadata().sorter)) {
-
-                            p = getParserById($($headers[i]).metadata().sorter);
-
-                        } else if ((table.config.headers[i] && table.config.headers[i].sorter)) {
-
-                            p = getParserById(table.config.headers[i].sorter);
-                        }
-                        if (!p) {
-
-                            p = detectParserForColumn(table, rows, -1, i);
-                        }
-
-                        if (table.config.debug) {
-                            parsersDebug += "column:" + i + " parser:" + p.id + "\n";
-                        }
-
-                        list.push(p);
-                    }
-                }
-
-                if (table.config.debug) {
-                    log(parsersDebug);
-                }
-
-                return list;
-            };
-
-            function detectParserForColumn(table, rows, rowIndex, cellIndex) {
-                var l = parsers.length,
-                    node = false,
-                    nodeValue = false,
-                    keepLooking = true;
-                while (nodeValue == '' && keepLooking) {
-                    rowIndex++;
-                    if (rows[rowIndex]) {
-                        node = getNodeFromRowAndCellIndex(rows, rowIndex, cellIndex);
-                        nodeValue = trimAndGetNodeText(table.config, node);
-                        if (table.config.debug) {
-                            log('Checking if value was empty on row:' + rowIndex);
-                        }
-                    } else {
-                        keepLooking = false;
-                    }
-                }
-                for (var i = 1; i < l; i++) {
-                    if (parsers[i].is(nodeValue, table, node)) {
-                        return parsers[i];
-                    }
-                }
-                // 0 is always the generic parser (text)
-                return parsers[0];
-            }
-
-            function getNodeFromRowAndCellIndex(rows, rowIndex, cellIndex) {
-                return rows[rowIndex].cells[cellIndex];
-            }
-
-            function trimAndGetNodeText(config, node) {
-                return $.trim(getElementText(config, node));
-            }
-
-            function getParserById(name) {
-                var l = parsers.length;
-                for (var i = 0; i < l; i++) {
-                    if (parsers[i].id.toLowerCase() == name.toLowerCase()) {
-                        return parsers[i];
-                    }
-                }
-                return false;
-            }
-
-            /* utils */
-
-            function buildCache(table) {
-
-                if (table.config.debug) {
-                    var cacheTime = new Date();
-                }
-
-                var totalRows = (table.tBodies[0] && table.tBodies[0].rows.length) || 0,
-                    totalCells = (table.tBodies[0].rows[0] && table.tBodies[0].rows[0].cells.length) || 0,
-                    parsers = table.config.parsers,
-                    cache = {
-                        row: [],
-                        normalized: []
-                    };
-
-                for (var i = 0; i < totalRows; ++i) {
-
-                    /** Add the table data to main data array */
-                    var c = $(table.tBodies[0].rows[i]),
-                        cols = [];
-
-                    // if this is a child row, add it to the last row's children and
-                    // continue to the next row
-                    if (c.hasClass(table.config.cssChildRow)) {
-                        cache.row[cache.row.length - 1] = cache.row[cache.row.length - 1].add(c);
-                        // go to the next for loop
-                        continue;
-                    }
-
-                    cache.row.push(c);
-
-                    for (var j = 0; j < totalCells; ++j) {
-                        cols.push(parsers[j].format(getElementText(table.config, c[0].cells[j]), table, c[0].cells[j]));
-                    }
-
-                    cols.push(cache.normalized.length); // add position for rowCache
-                    cache.normalized.push(cols);
-                    cols = null;
-                };
-
-                if (table.config.debug) {
-                    benchmark("Building cache for " + totalRows + " rows:", cacheTime);
-                }
-
-                return cache;
-            };
-
-            function getElementText(config, node) {
-
-                var text = "";
-
-                if (!node) return "";
-
-                if (!config.supportsTextContent) config.supportsTextContent = node.textContent || false;
-
-                if (config.textExtraction == "simple") {
-                    if (config.supportsTextContent) {
-                        text = node.textContent;
-                    } else {
-                        if (node.childNodes[0] && node.childNodes[0].hasChildNodes()) {
-                            text = node.childNodes[0].innerHTML;
-                        } else {
-                            text = node.innerHTML;
-                        }
-                    }
-                } else {
-                    if (typeof(config.textExtraction) == "function") {
-                        text = config.textExtraction(node);
-                    } else {
-                        text = $(node).text();
-                    }
-                }
-                return text;
-            }
-
-            function appendToTable(table, cache) {
-
-                if (table.config.debug) {
-                    var appendTime = new Date()
-                }
-
-                var c = cache,
-                    r = c.row,
-                    n = c.normalized,
-                    totalRows = n.length,
-                    checkCell = (n[0].length - 1),
-                    tableBody = $(table.tBodies[0]),
-                    rows = [];
-
-
-                for (var i = 0; i < totalRows; i++) {
-                    var pos = n[i][checkCell];
-
-                    rows.push(r[pos]);
-
-                    if (!table.config.appender) {
-
-                        //var o = ;
-                        var l = r[pos].length;
-                        for (var j = 0; j < l; j++) {
-                            tableBody[0].appendChild(r[pos][j]);
-                        }
-
-                        // 
-                    }
-                }
-
-
-
-                if (table.config.appender) {
-
-                    table.config.appender(table, rows);
-                }
-
-                rows = null;
-
-                if (table.config.debug) {
-                    benchmark("Rebuilt table:", appendTime);
-                }
-
-                // apply table widgets
-                applyWidget(table);
-
-                // trigger sortend
-                setTimeout(function () {
-                    $(table).trigger("sortEnd");
-                }, 0);
-
-            };
-
-            function buildHeaders(table) {
-
-                if (table.config.debug) {
-                    var time = new Date();
-                }
-
-                var meta = ($.metadata) ? true : false;
-                
-                var header_index = computeTableHeaderCellIndexes(table);
-
-                $tableHeaders = $(table.config.selectorHeaders, table).each(function (index) {
-
-                    this.column = header_index[this.parentNode.rowIndex + "-" + this.cellIndex];
-                    // this.column = index;
-                    this.order = formatSortingOrder(table.config.sortInitialOrder);
-                    
-					
-					this.count = this.order;
-
-                    if (checkHeaderMetadata(this) || checkHeaderOptions(table, index)) this.sortDisabled = true;
-					if (checkHeaderOptionsSortingLocked(table, index)) this.order = this.lockedOrder = checkHeaderOptionsSortingLocked(table, index);
-
-                    if (!this.sortDisabled) {
-                        var $th = $(this).addClass(table.config.cssHeader);
-                        if (table.config.onRenderHeader) table.config.onRenderHeader.apply($th);
-                    }
-
-                    // add cell to headerList
-                    table.config.headerList[index] = this;
-                });
-
-                if (table.config.debug) {
-                    benchmark("Built headers:", time);
-                    log($tableHeaders);
-                }
-
-                return $tableHeaders;
-
-            };
-
-            // from:
-            // http://www.javascripttoolbox.com/lib/table/examples.php
-            // http://www.javascripttoolbox.com/temp/table_cellindex.html
-
-
-            function computeTableHeaderCellIndexes(t) {
-                var matrix = [];
-                var lookup = {};
-                var thead = t.getElementsByTagName('THEAD')[0];
-                var trs = thead.getElementsByTagName('TR');
-
-                for (var i = 0; i < trs.length; i++) {
-                    var cells = trs[i].cells;
-                    for (var j = 0; j < cells.length; j++) {
-                        var c = cells[j];
-
-                        var rowIndex = c.parentNode.rowIndex;
-                        var cellId = rowIndex + "-" + c.cellIndex;
-                        var rowSpan = c.rowSpan || 1;
-                        var colSpan = c.colSpan || 1
-                        var firstAvailCol;
-                        if (typeof(matrix[rowIndex]) == "undefined") {
-                            matrix[rowIndex] = [];
-                        }
-                        // Find first available column in the first row
-                        for (var k = 0; k < matrix[rowIndex].length + 1; k++) {
-                            if (typeof(matrix[rowIndex][k]) == "undefined") {
-                                firstAvailCol = k;
-                                break;
-                            }
-                        }
-                        lookup[cellId] = firstAvailCol;
-                        for (var k = rowIndex; k < rowIndex + rowSpan; k++) {
-                            if (typeof(matrix[k]) == "undefined") {
-                                matrix[k] = [];
-                            }
-                            var matrixrow = matrix[k];
-                            for (var l = firstAvailCol; l < firstAvailCol + colSpan; l++) {
-                                matrixrow[l] = "x";
-                            }
-                        }
-                    }
-                }
-                return lookup;
-            }
-
-            function checkCellColSpan(table, rows, row) {
-                var arr = [],
-                    r = table.tHead.rows,
-                    c = r[row].cells;
-
-                for (var i = 0; i < c.length; i++) {
-                    var cell = c[i];
-
-                    if (cell.colSpan > 1) {
-                        arr = arr.concat(checkCellColSpan(table, headerArr, row++));
-                    } else {
-                        if (table.tHead.length == 1 || (cell.rowSpan > 1 || !r[row + 1])) {
-                            arr.push(cell);
-                        }
-                        // headerArr[row] = (i+row);
-                    }
-                }
-                return arr;
-            };
-
-            function checkHeaderMetadata(cell) {
-                if (($.metadata) && ($(cell).metadata().sorter === false)) {
-                    return true;
-                };
-                return false;
-            }
-
-            function checkHeaderOptions(table, i) {
-                if ((table.config.headers[i]) && (table.config.headers[i].sorter === false)) {
-                    return true;
-                };
-                return false;
-            }
-			
-			 function checkHeaderOptionsSortingLocked(table, i) {
-                if ((table.config.headers[i]) && (table.config.headers[i].lockedOrder)) return table.config.headers[i].lockedOrder;
-                return false;
-            }
-			
-            function applyWidget(table) {
-                var c = table.config.widgets;
-                var l = c.length;
-                for (var i = 0; i < l; i++) {
-
-                    getWidgetById(c[i]).format(table);
-                }
-
-            }
-
-            function getWidgetById(name) {
-                var l = widgets.length;
-                for (var i = 0; i < l; i++) {
-                    if (widgets[i].id.toLowerCase() == name.toLowerCase()) {
-                        return widgets[i];
-                    }
-                }
-            };
-
-            function formatSortingOrder(v) {
-                if (typeof(v) != "Number") {
-                    return (v.toLowerCase() == "desc") ? 1 : 0;
-                } else {
-                    return (v == 1) ? 1 : 0;
-                }
-            }
-
-            function isValueInArray(v, a) {
-                var l = a.length;
-                for (var i = 0; i < l; i++) {
-                    if (a[i][0] == v) {
-                        return true;
-                    }
-                }
-                return false;
-            }
-
-            function setHeadersCss(table, $headers, list, css) {
-                // remove all header information
-                $headers.removeClass(css[0]).removeClass(css[1]);
-
-                var h = [];
-                $headers.each(function (offset) {
-                    if (!this.sortDisabled) {
-                        h[this.column] = $(this);
-                    }
-                });
-
-                var l = list.length;
-                for (var i = 0; i < l; i++) {
-                    h[list[i][0]].addClass(css[list[i][1]]);
-                }
-            }
-
-            function fixColumnWidth(table, $headers) {
-                var c = table.config;
-                if (c.widthFixed) {
-                    var colgroup = $('<colgroup>');
-                    $("tr:first td", table.tBodies[0]).each(function () {
-                        colgroup.append($('<col>').css('width', $(this).width()));
-                    });
-                    $(table).prepend(colgroup);
-                };
-            }
-
-            function updateHeaderSortCount(table, sortList) {
-                var c = table.config,
-                    l = sortList.length;
-                for (var i = 0; i < l; i++) {
-                    var s = sortList[i],
-                        o = c.headerList[s[0]];
-                    o.count = s[1];
-                    o.count++;
-                }
-            }
-
-            /* sorting methods */
-
-            function multisort(table, sortList, cache) {
-
-                if (table.config.debug) {
-                    var sortTime = new Date();
-                }
-
-                var dynamicExp = "var sortWrapper = function(a,b) {",
-                    l = sortList.length;
-
-                // TODO: inline functions.
-                for (var i = 0; i < l; i++) {
-
-                    var c = sortList[i][0];
-                    var order = sortList[i][1];
-                    // var s = (getCachedSortType(table.config.parsers,c) == "text") ?
-                    // ((order == 0) ? "sortText" : "sortTextDesc") : ((order == 0) ?
-                    // "sortNumeric" : "sortNumericDesc");
-                    // var s = (table.config.parsers[c].type == "text") ? ((order == 0)
-                    // ? makeSortText(c) : makeSortTextDesc(c)) : ((order == 0) ?
-                    // makeSortNumeric(c) : makeSortNumericDesc(c));
-                    var s = (table.config.parsers[c].type == "text") ? ((order == 0) ? makeSortFunction("text", "asc", c) : makeSortFunction("text", "desc", c)) : ((order == 0) ? makeSortFunction("numeric", "asc", c) : makeSortFunction("numeric", "desc", c));
-                    var e = "e" + i;
-
-                    dynamicExp += "var " + e + " = " + s; // + "(a[" + c + "],b[" + c
-                    // + "]); ";
-                    dynamicExp += "if(" + e + ") { return " + e + "; } ";
-                    dynamicExp += "else { ";
-
-                }
-
-                // if value is the same keep orignal order
-                var orgOrderCol = cache.normalized[0].length - 1;
-                dynamicExp += "return a[" + orgOrderCol + "]-b[" + orgOrderCol + "];";
-
-                for (var i = 0; i < l; i++) {
-                    dynamicExp += "}; ";
-                }
-
-                dynamicExp += "return 0; ";
-                dynamicExp += "}; ";
-
-                if (table.config.debug) {
-                    benchmark("Evaling expression:" + dynamicExp, new Date());
-                }
-
-                eval(dynamicExp);
-
-                cache.normalized.sort(sortWrapper);
-
-                if (table.config.debug) {
-                    benchmark("Sorting on " + sortList.toString() + " and dir " + order + " time:", sortTime);
-                }
-
-                return cache;
-            };
-
-            function makeSortFunction(type, direction, index) {
-                var a = "a[" + index + "]",
-                    b = "b[" + index + "]";
-                if (type == 'text' && direction == 'asc') {
-                    return "(" + a + " == " + b + " ? 0 : (" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : (" + a + " < " + b + ") ? -1 : 1 )));";
-                } else if (type == 'text' && direction == 'desc') {
-                    return "(" + a + " == " + b + " ? 0 : (" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : (" + b + " < " + a + ") ? -1 : 1 )));";
-                } else if (type == 'numeric' && direction == 'asc') {
-                    return "(" + a + " === null && " + b + " === null) ? 0 :(" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : " + a + " - " + b + "));";
-                } else if (type == 'numeric' && direction == 'desc') {
-                    return "(" + a + " === null && " + b + " === null) ? 0 :(" + a + " === null ? Number.POSITIVE_INFINITY : (" + b + " === null ? Number.NEGATIVE_INFINITY : " + b + " - " + a + "));";
-                }
-            };
-
-            function makeSortText(i) {
-                return "((a[" + i + "] < b[" + i + "]) ? -1 : ((a[" + i + "] > b[" + i + "]) ? 1 : 0));";
-            };
-
-            function makeSortTextDesc(i) {
-                return "((b[" + i + "] < a[" + i + "]) ? -1 : ((b[" + i + "] > a[" + i + "]) ? 1 : 0));";
-            };
-
-            function makeSortNumeric(i) {
-                return "a[" + i + "]-b[" + i + "];";
-            };
-
-            function makeSortNumericDesc(i) {
-                return "b[" + i + "]-a[" + i + "];";
-            };
-
-            function sortText(a, b) {
-                if (table.config.sortLocaleCompare) return a.localeCompare(b);
-                return ((a < b) ? -1 : ((a > b) ? 1 : 0));
-            };
-
-            function sortTextDesc(a, b) {
-                if (table.config.sortLocaleCompare) return b.localeCompare(a);
-                return ((b < a) ? -1 : ((b > a) ? 1 : 0));
-            };
-
-            function sortNumeric(a, b) {
-                return a - b;
-            };
-
-            function sortNumericDesc(a, b) {
-                return b - a;
-            };
-
-            function getCachedSortType(parsers, i) {
-                return parsers[i].type;
-            }; /* public methods */
-            this.construct = function (settings) {
-                return this.each(function () {
-                    // if no thead or tbody quit.
-                    if (!this.tHead || !this.tBodies) return;
-                    // declare
-                    var $this, $document, $headers, cache, config, shiftDown = 0,
-                        sortOrder;
-                    // new blank config object
-                    this.config = {};
-                    // merge and extend.
-                    config = $.extend(this.config, $.tablesorter.defaults, settings);
-                    // store common expression for speed
-                    $this = $(this);
-                    // save the settings where they read
-                    $.data(this, "tablesorter", config);
-                    // build headers
-                    $headers = buildHeaders(this);
-                    // try to auto detect column type, and store in tables config
-                    this.config.parsers = buildParserCache(this, $headers);
-                    // build the cache for the tbody cells
-                    cache = buildCache(this);
-                    // get the css class names, could be done else where.
-                    var sortCSS = [config.cssDesc, config.cssAsc];
-                    // fixate columns if the users supplies the fixedWidth option
-                    fixColumnWidth(this);
-                    // apply event handling to headers
-                    // this is to big, perhaps break it out?
-                    $headers.click(
-
-                    function (e) {
-                        var totalRows = ($this[0].tBodies[0] && $this[0].tBodies[0].rows.length) || 0;
-                        if (!this.sortDisabled && totalRows > 0) {
-                            // Only call sortStart if sorting is
-                            // enabled.
-                            $this.trigger("sortStart");
-                            // store exp, for speed
-                            var $cell = $(this);
-                            // get current column index
-                            var i = this.column;
-                            // get current column sort order
-                            this.order = this.count++ % 2;
-							// always sort on the locked order.
-							if(this.lockedOrder) this.order = this.lockedOrder;
-							
-							// user only whants to sort on one
-                            // column
-                            if (!e[config.sortMultiSortKey]) {
-                                // flush the sort list
-                                config.sortList = [];
-                                if (config.sortForce != null) {
-                                    var a = config.sortForce;
-                                    for (var j = 0; j < a.length; j++) {
-                                        if (a[j][0] != i) {
-                                            config.sortList.push(a[j]);
-                                        }
-                                    }
-                                }
-                                // add column to sort list
-                                config.sortList.push([i, this.order]);
-                                // multi column sorting
-                            } else {
-                                // the user has clicked on an all
-                                // ready sortet column.
-                                if (isValueInArray(i, config.sortList)) {
-                                    // revers the sorting direction
-                                    // for all tables.
-                                    for (var j = 0; j < config.sortList.length; j++) {
-                                        var s = config.sortList[j],
-                                            o = config.headerList[s[0]];
-                                        if (s[0] == i) {
-                                            o.count = s[1];
-                                            o.count++;
-                                            s[1] = o.count % 2;
-                                        }
-                                    }
-                                } else {
-                                    // add column to sort list array
-                                    config.sortList.push([i, this.order]);
-                                }
-                            };
-                            setTimeout(function () {
-                                // set css for headers
-                                setHeadersCss($this[0], $headers, config.sortList, sortCSS);
-                                appendToTable(
-	                                $this[0], multisort(
-	                                $this[0], config.sortList, cache)
-								);
-                            }, 1);
-                            // stop normal event by returning false
-                            return false;
-                        }
-                        // cancel selection
-                    }).mousedown(function () {
-                        if (config.cancelSelection) {
-                            this.onselectstart = function () {
-                                return false
-                            };
-                            return false;
-                        }
-                    });
-                    // apply easy methods that trigger binded events
-                    $this.bind("update", function () {
-                        var me = this;
-                        setTimeout(function () {
-                            // rebuild parsers.
-                            me.config.parsers = buildParserCache(
-                            me, $headers);
-                            // rebuild the cache map
-                            cache = buildCache(me);
-                        }, 1);
-                    }).bind("updateCell", function (e, cell) {
-                        var config = this.config;
-                        // get position from the dom.
-                        var pos = [(cell.parentNode.rowIndex - 1), cell.cellIndex];
-                        // update cache
-                        cache.normalized[pos[0]][pos[1]] = config.parsers[pos[1]].format(
-                        getElementText(config, cell), cell);
-                    }).bind("sorton", function (e, list) {
-                        $(this).trigger("sortStart");
-                        config.sortList = list;
-                        // update and store the sortlist
-                        var sortList = config.sortList;
-                        // update header count index
-                        updateHeaderSortCount(this, sortList);
-                        // set css for headers
-                        setHeadersCss(this, $headers, sortList, sortCSS);
-                        // sort the table and append it to the dom
-                        appendToTable(this, multisort(this, sortList, cache));
-                    }).bind("appendCache", function () {
-                        appendToTable(this, cache);
-                    }).bind("applyWidgetId", function (e, id) {
-                        getWidgetById(id).format(this);
-                    }).bind("applyWidgets", function () {
-                        // apply widgets
-                        applyWidget(this);
-                    });
-                    if ($.metadata && ($(this).metadata() && $(this).metadata().sortlist)) {
-                        config.sortList = $(this).metadata().sortlist;
-                    }
-                    // if user has supplied a sort list to constructor.
-                    if (config.sortList.length > 0) {
-                        $this.trigger("sorton", [config.sortList]);
-                    }
-                    // apply widgets
-                    applyWidget(this);
-                });
-            };
-            this.addParser = function (parser) {
-                var l = parsers.length,
-                    a = true;
-                for (var i = 0; i < l; i++) {
-                    if (parsers[i].id.toLowerCase() == parser.id.toLowerCase()) {
-                        a = false;
-                    }
-                }
-                if (a) {
-                    parsers.push(parser);
-                };
-            };
-            this.addWidget = function (widget) {
-                widgets.push(widget);
-            };
-            this.formatFloat = function (s) {
-                var i = parseFloat(s);
-                return (isNaN(i)) ? 0 : i;
-            };
-            this.formatInt = function (s) {
-                var i = parseInt(s);
-                return (isNaN(i)) ? 0 : i;
-            };
-            this.isDigit = function (s, config) {
-                // replace all an wanted chars and match.
-                return /^[-+]?\d*$/.test($.trim(s.replace(/[,.']/g, '')));
-            };
-            this.clearTableBody = function (table) {
-                if ($.browser.msie) {
-                    function empty() {
-                        while (this.firstChild)
-                        this.removeChild(this.firstChild);
-                    }
-                    empty.apply(table.tBodies[0]);
-                } else {
-                    table.tBodies[0].innerHTML = "";
-                }
-            };
-        }
-    });
-
-    // extend plugin scope
-    $.fn.extend({
-        tablesorter: $.tablesorter.construct
-    });
-
-    // make shortcut
-    var ts = $.tablesorter;
-
-    // add default parsers
-    ts.addParser({
-        id: "text",
-        is: function (s) {
-            return true;
-        }, format: function (s) {
-            return $.trim(s.toLocaleLowerCase());
-        }, type: "text"
-    });
-
-    ts.addParser({
-        id: "digit",
-        is: function (s, table) {
-            var c = table.config;
-            return $.tablesorter.isDigit(s, c);
-        }, format: function (s) {
-            return $.tablesorter.formatFloat(s);
-        }, type: "numeric"
-    });
-
-    ts.addParser({
-        id: "currency",
-        is: function (s) {
-            return /^[£$€?.]/.test(s);
-        }, format: function (s) {
-            return $.tablesorter.formatFloat(s.replace(new RegExp(/[£$€]/g), ""));
-        }, type: "numeric"
-    });
-
-    ts.addParser({
-        id: "ipAddress",
-        is: function (s) {
-            return /^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);
-        }, format: function (s) {
-            var a = s.split("."),
-                r = "",
-                l = a.length;
-            for (var i = 0; i < l; i++) {
-                var item = a[i];
-                if (item.length == 2) {
-                    r += "0" + item;
-                } else {
-                    r += item;
-                }
-            }
-            return $.tablesorter.formatFloat(r);
-        }, type: "numeric"
-    });
-
-    ts.addParser({
-        id: "url",
-        is: function (s) {
-            return /^(https?|ftp|file):\/\/$/.test(s);
-        }, format: function (s) {
-            return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//), ''));
-        }, type: "text"
-    });
-
-    ts.addParser({
-        id: "isoDate",
-        is: function (s) {
-            return /^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s);
-        }, format: function (s) {
-            return $.tablesorter.formatFloat((s != "") ? new Date(s.replace(
-            new RegExp(/-/g), "/")).getTime() : "0");
-        }, type: "numeric"
-    });
-
-    ts.addParser({
-        id: "percent",
-        is: function (s) {
-            return /\%$/.test($.trim(s));
-        }, format: function (s) {
-            return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g), ""));
-        }, type: "numeric"
-    });
-
-    ts.addParser({
-        id: "usLongDate",
-        is: function (s) {
-            return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/));
-        }, format: function (s) {
-            return $.tablesorter.formatFloat(new Date(s).getTime());
-        }, type: "numeric"
-    });
-
-    ts.addParser({
-        id: "shortDate",
-        is: function (s) {
-            return /\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s);
-        }, format: function (s, table) {
-            var c = table.config;
-            s = s.replace(/\-/g, "/");
-            if (c.dateFormat == "us") {
-                // reformat the string in ISO format
-                s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$1/$2");
-            } else if (c.dateFormat == "uk") {
-                // reformat the string in ISO format
-                s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$2/$1");
-            } else if (c.dateFormat == "dd/mm/yy" || c.dateFormat == "dd-mm-yy") {
-                s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/, "$1/$2/$3");
-            }
-            return $.tablesorter.formatFloat(new Date(s).getTime());
-        }, type: "numeric"
-    });
-    ts.addParser({
-        id: "time",
-        is: function (s) {
-            return /^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s);
-        }, format: function (s) {
-            return $.tablesorter.formatFloat(new Date("2000/01/01 " + s).getTime());
-        }, type: "numeric"
-    });
-    ts.addParser({
-        id: "metadata",
-        is: function (s) {
-            return false;
-        }, format: function (s, table, cell) {
-            var c = table.config,
-                p = (!c.parserMetadataName) ? 'sortValue' : c.parserMetadataName;
-            return $(cell).metadata()[p];
-        }, type: "numeric"
-    });
-    // add default widgets
-    ts.addWidget({
-        id: "zebra",
-        format: function (table) {
-            if (table.config.debug) {
-                var time = new Date();
-            }
-            var $tr, row = -1,
-                odd;
-            // loop through the visible rows
-            $("tr:visible", table.tBodies[0]).each(function (i) {
-                $tr = $(this);
-                // style children rows the same way the parent
-                // row was styled
-                if (!$tr.hasClass(table.config.cssChildRow)) row++;
-                odd = (row % 2 == 0);
-                $tr.removeClass(
-                table.config.widgetZebra.css[odd ? 0 : 1]).addClass(
-                table.config.widgetZebra.css[odd ? 1 : 0])
-            });
-            if (table.config.debug) {
-                $.tablesorter.benchmark("Applying Zebra widget", time);
-            }
-        }
-    });
-})(jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/jquery.tablesorter.min.js
----------------------------------------------------------------------
diff --git a/public/javascripts/jquery.tablesorter.min.js b/public/javascripts/jquery.tablesorter.min.js
deleted file mode 100644
index b8605df..0000000
--- a/public/javascripts/jquery.tablesorter.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-
-(function($){$.extend({tablesorter:new
-function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:true,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'/\.|\,/g',onRenderHeader:null,selectorHeaders:'thead th',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}if(table.tBodies.length==0)return;var rows=table.tBodies[0].rows;if(rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i<l;i++){var p=false;if($.metadata&&($($headers[i]).metadata
 ()&&$($headers[i]).metadata().sorter)){p=getParserById($($headers[i]).metadata().sorter);}else if((table.config.headers[i]&&table.config.headers[i].sorter)){p=getParserById(table.config.headers[i].sorter);}if(!p){p=detectParserForColumn(table,rows,-1,i);}if(table.config.debug){parsersDebug+="column:"+i+" parser:"+p.id+"\n";}list.push(p);}}if(table.config.debug){log(parsersDebug);}return list;};function detectParserForColumn(table,rows,rowIndex,cellIndex){var l=parsers.length,node=false,nodeValue=false,keepLooking=true;while(nodeValue==''&&keepLooking){rowIndex++;if(rows[rowIndex]){node=getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex);nodeValue=trimAndGetNodeText(table.config,node);if(table.config.debug){log('Checking if value was empty on row:'+rowIndex);}}else{keepLooking=false;}}for(var i=1;i<l;i++){if(parsers[i].is(nodeValue,table,node)){return parsers[i];}}return parsers[0];}function getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex){return rows[rowIndex].cells[cellIndex];}f
 unction trimAndGetNodeText(config,node){return $.trim(getElementText(config,node));}function getParserById(name){var l=parsers.length;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==name.toLowerCase()){return parsers[i];}}return false;}function buildCache(table){if(table.config.debug){var cacheTime=new Date();}var totalRows=(table.tBodies[0]&&table.tBodies[0].rows.length)||0,totalCells=(table.tBodies[0].rows[0]&&table.tBodies[0].rows[0].cells.length)||0,parsers=table.config.parsers,cache={row:[],normalized:[]};for(var i=0;i<totalRows;++i){var c=$(table.tBodies[0].rows[i]),cols=[];if(c.hasClass(table.config.cssChildRow)){cache.row[cache.row.length-1]=cache.row[cache.row.length-1].add(c);continue;}cache.row.push(c);for(var j=0;j<totalCells;++j){cols.push(parsers[j].format(getElementText(table.config,c[0].cells[j]),table,c[0].cells[j]));}cols.push(cache.normalized.length);cache.normalized.push(cols);cols=null;};if(table.config.debug){benchmark("Building cache for "+totalRows+" row
 s:",cacheTime);}return cache;};function getElementText(config,node){var text="";if(!node)return"";if(!config.supportsTextContent)config.supportsTextContent=node.textContent||false;if(config.textExtraction=="simple"){if(config.supportsTextContent){text=node.textContent;}else{if(node.childNodes[0]&&node.childNodes[0].hasChildNodes()){text=node.childNodes[0].innerHTML;}else{text=node.innerHTML;}}}else{if(typeof(config.textExtraction)=="function"){text=config.textExtraction(node);}else{text=$(node).text();}}return text;}function appendToTable(table,cache){if(table.config.debug){var appendTime=new Date()}var c=cache,r=c.row,n=c.normalized,totalRows=n.length,checkCell=(n[0].length-1),tableBody=$(table.tBodies[0]),rows=[];for(var i=0;i<totalRows;i++){var pos=n[i][checkCell];rows.push(r[pos]);if(!table.config.appender){var l=r[pos].length;for(var j=0;j<l;j++){tableBody[0].appendChild(r[pos][j]);}}}if(table.config.appender){table.config.appender(table,rows);}rows=null;if(table.config.debug){
 benchmark("Rebuilt table:",appendTime);}applyWidget(table);setTimeout(function(){$(table).trigger("sortEnd");},0);};function buildHeaders(table){if(table.config.debug){var time=new Date();}var meta=($.metadata)?true:false;var header_index=computeTableHeaderCellIndexes(table);$tableHeaders=$(table.config.selectorHeaders,table).each(function(index){this.column=header_index[this.parentNode.rowIndex+"-"+this.cellIndex];this.order=formatSortingOrder(table.config.sortInitialOrder);this.count=this.order;if(checkHeaderMetadata(this)||checkHeaderOptions(table,index))this.sortDisabled=true;if(checkHeaderOptionsSortingLocked(table,index))this.order=this.lockedOrder=checkHeaderOptionsSortingLocked(table,index);if(!this.sortDisabled){var $th=$(this).addClass(table.config.cssHeader);if(table.config.onRenderHeader)table.config.onRenderHeader.apply($th);}table.config.headerList[index]=this;});if(table.config.debug){benchmark("Built headers:",time);log($tableHeaders);}return $tableHeaders;};function
  computeTableHeaderCellIndexes(t){var matrix=[];var lookup={};var thead=t.getElementsByTagName('THEAD')[0];var trs=thead.getElementsByTagName('TR');for(var i=0;i<trs.length;i++){var cells=trs[i].cells;for(var j=0;j<cells.length;j++){var c=cells[j];var rowIndex=c.parentNode.rowIndex;var cellId=rowIndex+"-"+c.cellIndex;var rowSpan=c.rowSpan||1;var colSpan=c.colSpan||1
-var firstAvailCol;if(typeof(matrix[rowIndex])=="undefined"){matrix[rowIndex]=[];}for(var k=0;k<matrix[rowIndex].length+1;k++){if(typeof(matrix[rowIndex][k])=="undefined"){firstAvailCol=k;break;}}lookup[cellId]=firstAvailCol;for(var k=rowIndex;k<rowIndex+rowSpan;k++){if(typeof(matrix[k])=="undefined"){matrix[k]=[];}var matrixrow=matrix[k];for(var l=firstAvailCol;l<firstAvailCol+colSpan;l++){matrixrow[l]="x";}}}}return lookup;}function checkCellColSpan(table,rows,row){var arr=[],r=table.tHead.rows,c=r[row].cells;for(var i=0;i<c.length;i++){var cell=c[i];if(cell.colSpan>1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function checkHead
 erOptionsSortingLocked(table,i){if((table.config.headers[i])&&(table.config.headers[i].lockedOrder))return table.config.headers[i].lockedOrder;return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i<l;i++){getWidgetById(c[i]).format(table);}}function getWidgetById(name){var l=widgets.length;for(var i=0;i<l;i++){if(widgets[i].id.toLowerCase()==name.toLowerCase()){return widgets[i];}}};function formatSortingOrder(v){if(typeof(v)!="Number"){return(v.toLowerCase()=="desc")?1:0;}else{return(v==1)?1:0;}}function isValueInArray(v,a){var l=a.length;for(var i=0;i<l;i++){if(a[i][0]==v){return true;}}return false;}function setHeadersCss(table,$headers,list,css){$headers.removeClass(css[0]).removeClass(css[1]);var h=[];$headers.each(function(offset){if(!this.sortDisabled){h[this.column]=$(this);}});var l=list.length;for(var i=0;i<l;i++){h[list[i][0]].addClass(css[list[i][1]]);}}function fixColumnWidth(table,$headers){var c=table.config;if(c.widthFixed){
 var colgroup=$('<colgroup>');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('<col>').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i<l;i++){var s=sortList[i],o=c.headerList[s[0]];o.count=s[1];o.count++;}}function multisort(table,sortList,cache){if(table.config.debug){var sortTime=new Date();}var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0];var order=sortList[i][1];var s=(table.config.parsers[c].type=="text")?((order==0)?makeSortFunction("text","asc",c):makeSortFunction("text","desc",c)):((order==0)?makeSortFunction("numeric","asc",c):makeSortFunction("numeric","desc",c));var e="e"+i;dynamicExp+="var "+e+" = "+s;dynamicExp+="if("+e+") { return "+e+"; } ";dynamicExp+="else { ";}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0
 ;i<l;i++){dynamicExp+="}; ";}dynamicExp+="return 0; ";dynamicExp+="}; ";if(table.config.debug){benchmark("Evaling expression:"+dynamicExp,new Date());}eval(dynamicExp);cache.normalized.sort(sortWrapper);if(table.config.debug){benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime);}return cache;};function makeSortFunction(type,direction,index){var a="a["+index+"]",b="b["+index+"]";if(type=='text'&&direction=='asc'){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+a+" < "+b+") ? -1 : 1 )));";}else if(type=='text'&&direction=='desc'){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+b+" < "+a+") ? -1 : 1 )));";}else if(type=='numeric'&&direction=='asc'){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+a+" - "+b+"));";}else if(typ
 e=='numeric'&&direction=='desc'){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+b+" - "+a+"));";}};function makeSortText(i){return"((a["+i+"] < b["+i+"]) ? -1 : ((a["+i+"] > b["+i+"]) ? 1 : 0));";};function makeSortTextDesc(i){return"((b["+i+"] < a["+i+"]) ? -1 : ((b["+i+"] > a["+i+"]) ? 1 : 0));";};function makeSortNumeric(i){return"a["+i+"]-b["+i+"];";};function makeSortNumericDesc(i){return"b["+i+"]-a["+i+"];";};function sortText(a,b){if(table.config.sortLocaleCompare)return a.localeCompare(b);return((a<b)?-1:((a>b)?1:0));};function sortTextDesc(a,b){if(table.config.sortLocaleCompare)return b.localeCompare(a);return((b<a)?-1:((b>a)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,
 $document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$.data(this,"tablesorter",config);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){$this.trigger("sortStart");var $cell=$(this);var i=this.column;this.order=this.count++%2;if(this.lockedOrder)this.order=this.lockedOrder;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j<a.length;j++){if(a[j][0]!=i){config.sortList.push(a[j]);}}}config.sortList.push([i,this.order]);}else{if(isValueInArray(i,config.sortList)){for(var j=0;j<config.sortList.length;j++){var s=config.sortList[j],o=config.headerList[s[0]];if(s[0]==i){o.count=s[1];o.count
 ++;s[1]=o.count%2;}}}else{config.sortList.push([i,this.order]);}};setTimeout(function(){setHeadersCss($this[0],$headers,config.sortList,sortCSS);appendToTable($this[0],multisort($this[0],config.sortList,cache));},1);return false;}}).mousedown(function(){if(config.cancelSelection){this.onselectstart=function(){return false};return false;}});$this.bind("update",function(){var me=this;setTimeout(function(){me.config.parsers=buildParserCache(me,$headers);cache=buildCache(me);},1);}).bind("updateCell",function(e,cell){var config=this.config;var pos=[(cell.parentNode.rowIndex-1),cell.cellIndex];cache.normalized[pos[0]][pos[1]]=config.parsers[pos[1]].format(getElementText(config,cell),cell);}).bind("sorton",function(e,list){$(this).trigger("sortStart");config.sortList=list;var sortList=config.sortList;updateHeaderSortCount(this,sortList);setHeadersCss(this,$headers,sortList,sortCSS);appendToTable(this,multisort(this,sortList,cache));}).bind("appendCache",function(){appendToTable(this,cache
 );}).bind("applyWidgetId",function(e,id){getWidgetById(id).format(this);}).bind("applyWidgets",function(){applyWidget(this);});if($.metadata&&($(this).metadata()&&$(this).metadata().sortlist)){config.sortList=$(this).metadata().sortlist;}if(config.sortList.length>0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==parser.id.toLowerCase()){a=false;}}if(a){parsers.push(parser);};};this.addWidget=function(widget){widgets.push(widget);};this.formatFloat=function(s){var i=parseFloat(s);return(isNaN(i))?0:i;};this.formatInt=function(s){var i=parseInt(s);return(isNaN(i))?0:i;};this.isDigit=function(s,config){return/^[-+]?\d*$/.test($.trim(s.replace(/[,.']/g,'')));};this.clearTableBody=function(table){if($.browser.msie){function empty(){while(this.firstChild)this.removeChild(this.firstChild);}empty.apply(table.tBodies[0]);}else{table.tBodies[0].innerHTML="";}};}}
 );$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(s){return true;},format:function(s){return $.trim(s.toLocaleLowerCase());},type:"text"});ts.addParser({id:"digit",is:function(s,table){var c=table.config;return $.tablesorter.isDigit(s,c);},format:function(s){return $.tablesorter.formatFloat(s);},type:"numeric"});ts.addParser({id:"currency",is:function(s){return/^[£$€?.]/.test(s);},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/[£$€]/g),""));},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);},format:function(s){var a=s.split("."),r="",l=a.length;for(var i=0;i<l;i++){var item=a[i];if(item.length==2){r+="0"+item;}else{r+=item;}}return $.tablesorter.formatFloat(r);},type:"numeric"});ts.addParser({id:"url",is:function(s){return/^(https?|ftp|file):\/\/$/.test(s);},format:function(s){return jQuery.trim(s.replace(new RegExp(/(ht
 tps?|ftp|file):\/\//),''));},type:"text"});ts.addParser({id:"isoDate",is:function(s){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s);},format:function(s){return $.tablesorter.formatFloat((s!="")?new Date(s.replace(new RegExp(/-/g),"/")).getTime():"0");},type:"numeric"});ts.addParser({id:"percent",is:function(s){return/\%$/.test($.trim(s));},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""));},type:"numeric"});ts.addParser({id:"usLongDate",is:function(s){return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/));},format:function(s){return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"shortDate",is:function(s){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s);},format:function(s,table){var c=table.config;s=s.replace(/\-/g,"/");if(c.dateFormat=="us"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2");}else if(c.date
 Format=="uk"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1");}else if(c.dateFormat=="dd/mm/yy"||c.dateFormat=="dd-mm-yy"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3");}return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"time",is:function(s){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s);},format:function(s){return $.tablesorter.formatFloat(new Date("2000/01/01 "+s).getTime());},type:"numeric"});ts.addParser({id:"metadata",is:function(s){return false;},format:function(s,table,cell){var c=table.config,p=(!c.parserMetadataName)?'sortValue':c.parserMetadataName;return $(cell).metadata()[p];},type:"numeric"});ts.addWidget({id:"zebra",format:function(table){if(table.config.debug){var time=new Date();}var $tr,row=-1,odd;$("tr:visible",table.tBodies[0]).each(function(i){$tr=$(this);if(!$tr.hasClass(table.config.cssChildRow))row++;odd=(row%2==0);$tr.removeClass(table.config.widgetZebr
 a.css[odd?0:1]).addClass(table.config.widgetZebra.css[odd?1:0])});if(table.config.debug){$.tablesorter.benchmark("Applying Zebra widget",time);}}});})(jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/jquery.tablesorter.pager.js
----------------------------------------------------------------------
diff --git a/public/javascripts/jquery.tablesorter.pager.js b/public/javascripts/jquery.tablesorter.pager.js
deleted file mode 100644
index 5a34d82..0000000
--- a/public/javascripts/jquery.tablesorter.pager.js
+++ /dev/null
@@ -1,184 +0,0 @@
-(function($) {
-	$.extend({
-		tablesorterPager: new function() {
-			
-			function updatePageDisplay(c) {
-				var s = $(c.cssPageDisplay,c.container).val((c.page+1) + c.seperator + c.totalPages);	
-			}
-			
-			function setPageSize(table,size) {
-				var c = table.config;
-				c.size = size;
-				c.totalPages = Math.ceil(c.totalRows / c.size);
-				c.pagerPositionSet = false;
-				moveToPage(table);
-				fixPosition(table);
-			}
-			
-			function fixPosition(table) {
-				var c = table.config;
-				if(!c.pagerPositionSet && c.positionFixed) {
-					var c = table.config, o = $(table);
-					if(o.offset) {
-						c.container.css({
-							top: o.offset().top + o.height() + 'px',
-							position: 'absolute'
-						});
-					}
-					c.pagerPositionSet = true;
-				}
-			}
-			
-			function moveToFirstPage(table) {
-				var c = table.config;
-				c.page = 0;
-				moveToPage(table);
-			}
-			
-			function moveToLastPage(table) {
-				var c = table.config;
-				c.page = (c.totalPages-1);
-				moveToPage(table);
-			}
-			
-			function moveToNextPage(table) {
-				var c = table.config;
-				c.page++;
-				if(c.page >= (c.totalPages-1)) {
-					c.page = (c.totalPages-1);
-				}
-				moveToPage(table);
-			}
-			
-			function moveToPrevPage(table) {
-				var c = table.config;
-				c.page--;
-				if(c.page <= 0) {
-					c.page = 0;
-				}
-				moveToPage(table);
-			}
-						
-			
-			function moveToPage(table) {
-				var c = table.config;
-				if(c.page < 0 || c.page > (c.totalPages-1)) {
-					c.page = 0;
-				}
-				
-				renderTable(table,c.rowsCopy);
-			}
-			
-			function renderTable(table,rows) {
-				
-				var c = table.config;
-				var l = rows.length;
-				var s = (c.page * c.size);
-				var e = (s + c.size);
-				if(e > rows.length ) {
-					e = rows.length;
-				}
-				
-				
-				var tableBody = $(table.tBodies[0]);
-				
-				// clear the table body
-				
-				$.tablesorter.clearTableBody(table);
-				
-				for(var i = s; i < e; i++) {
-					
-					//tableBody.append(rows[i]);
-					
-					var o = rows[i];
-					var l = o.length;
-					for(var j=0; j < l; j++) {
-						
-						tableBody[0].appendChild(o[j]);
-
-					}
-				}
-				
-				fixPosition(table,tableBody);
-				
-				$(table).trigger("applyWidgets");
-				
-				if( c.page >= c.totalPages ) {
-        			moveToLastPage(table);
-				}
-				
-				updatePageDisplay(c);
-			}
-			
-			this.appender = function(table,rows) {
-				
-				var c = table.config;
-				
-				c.rowsCopy = rows;
-				c.totalRows = rows.length;
-				c.totalPages = Math.ceil(c.totalRows / c.size);
-				
-				renderTable(table,rows);
-			};
-			
-			this.defaults = {
-				size: 10,
-				offset: 0,
-				page: 0,
-				totalRows: 0,
-				totalPages: 0,
-				container: null,
-				cssNext: '.next',
-				cssPrev: '.prev',
-				cssFirst: '.first',
-				cssLast: '.last',
-				cssPageDisplay: '.pagedisplay',
-				cssPageSize: '.pagesize',
-				seperator: "/",
-				positionFixed: true,
-				appender: this.appender
-			};
-			
-			this.construct = function(settings) {
-				
-				return this.each(function() {	
-					
-					config = $.extend(this.config, $.tablesorterPager.defaults, settings);
-					
-					var table = this, pager = config.container;
-				
-					$(this).trigger("appendCache");
-					
-					config.size = parseInt($(".pagesize",pager).val());
-					
-					$(config.cssFirst,pager).click(function() {
-						moveToFirstPage(table);
-						return false;
-					});
-					$(config.cssNext,pager).click(function() {
-						moveToNextPage(table);
-						return false;
-					});
-					$(config.cssPrev,pager).click(function() {
-						moveToPrevPage(table);
-						return false;
-					});
-					$(config.cssLast,pager).click(function() {
-						moveToLastPage(table);
-						return false;
-					});
-					$(config.cssPageSize,pager).change(function() {
-						setPageSize(table,parseInt($(this).val()));
-						return false;
-					});
-				});
-			};
-			
-		}
-	});
-	// extend plugin scope
-	$.fn.extend({
-        tablesorterPager: $.tablesorterPager.construct
-	});
-	
-})(jQuery);				
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/json2.js
----------------------------------------------------------------------
diff --git a/public/javascripts/json2.js b/public/javascripts/json2.js
deleted file mode 100644
index deb88ec..0000000
--- a/public/javascripts/json2.js
+++ /dev/null
@@ -1,489 +0,0 @@
-/*
-    json2.js
-    2014-02-04
-
-    Public Domain.
-
-    NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
-
-    See http://www.JSON.org/js.html
-
-
-    This code should be minified before deployment.
-    See http://javascript.crockford.com/jsmin.html
-
-    USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO
-    NOT CONTROL.
-
-
-    This file creates a global JSON object containing two methods: stringify
-    and parse.
-
-        JSON.stringify(value, replacer, space)
-            value       any JavaScript value, usually an object or array.
-
-            replacer    an optional parameter that determines how object
-                        values are stringified for objects. It can be a
-                        function or an array of strings.
-
-            space       an optional parameter that specifies the indentation
-                        of nested structures. If it is omitted, the text will
-                        be packed without extra whitespace. If it is a number,
-                        it will specify the number of spaces to indent at each
-                        level. If it is a string (such as '\t' or '&nbsp;'),
-                        it contains the characters used to indent at each level.
-
-            This method produces a JSON text from a JavaScript value.
-
-            When an object value is found, if the object contains a toJSON
-            method, its toJSON method will be called and the result will be
-            stringified. A toJSON method does not serialize: it returns the
-            value represented by the name/value pair that should be serialized,
-            or undefined if nothing should be serialized. The toJSON method
-            will be passed the key associated with the value, and this will be
-            bound to the value
-
-            For example, this would serialize Dates as ISO strings.
-
-                Date.prototype.toJSON = function (key) {
-                    function f(n) {
-                        // Format integers to have at least two digits.
-                        return n < 10 ? '0' + n : n;
-                    }
-
-                    return this.getUTCFullYear()   + '-' +
-                         f(this.getUTCMonth() + 1) + '-' +
-                         f(this.getUTCDate())      + 'T' +
-                         f(this.getUTCHours())     + ':' +
-                         f(this.getUTCMinutes())   + ':' +
-                         f(this.getUTCSeconds())   + 'Z';
-                };
-
-            You can provide an optional replacer method. It will be passed the
-            key and value of each member, with this bound to the containing
-            object. The value that is returned from your method will be
-            serialized. If your method returns undefined, then the member will
-            be excluded from the serialization.
-
-            If the replacer parameter is an array of strings, then it will be
-            used to select the members to be serialized. It filters the results
-            such that only members with keys listed in the replacer array are
-            stringified.
-
-            Values that do not have JSON representations, such as undefined or
-            functions, will not be serialized. Such values in objects will be
-            dropped; in arrays they will be replaced with null. You can use
-            a replacer function to replace those with JSON values.
-            JSON.stringify(undefined) returns undefined.
-
-            The optional space parameter produces a stringification of the
-            value that is filled with line breaks and indentation to make it
-            easier to read.
-
-            If the space parameter is a non-empty string, then that string will
-            be used for indentation. If the space parameter is a number, then
-            the indentation will be that many spaces.
-
-            Example:
-
-            text = JSON.stringify(['e', {pluribus: 'unum'}]);
-            // text is '["e",{"pluribus":"unum"}]'
-
-
-            text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t');
-            // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]'
-
-            text = JSON.stringify([new Date()], function (key, value) {
-                return this[key] instanceof Date ?
-                    'Date(' + this[key] + ')' : value;
-            });
-            // text is '["Date(---current time---)"]'
-
-
-        JSON.parse(text, reviver)
-            This method parses a JSON text to produce an object or array.
-            It can throw a SyntaxError exception.
-
-            The optional reviver parameter is a function that can filter and
-            transform the results. It receives each of the keys and values,
-            and its return value is used instead of the original value.
-            If it returns what it received, then the structure is not modified.
-            If it returns undefined then the member is deleted.
-
-            Example:
-
-            // Parse the text. Values that look like ISO date strings will
-            // be converted to Date objects.
-
-            myData = JSON.parse(text, function (key, value) {
-                var a;
-                if (typeof value === 'string') {
-                    a =
-/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
-                    if (a) {
-                        return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
-                            +a[5], +a[6]));
-                    }
-                }
-                return value;
-            });
-
-            myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) {
-                var d;
-                if (typeof value === 'string' &&
-                        value.slice(0, 5) === 'Date(' &&
-                        value.slice(-1) === ')') {
-                    d = new Date(value.slice(5, -1));
-                    if (d) {
-                        return d;
-                    }
-                }
-                return value;
-            });
-
-
-    This is a reference implementation. You are free to copy, modify, or
-    redistribute.
-*/
-
-/*jslint evil: true, regexp: true */
-
-/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply,
-    call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
-    getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,
-    lastIndex, length, parse, prototype, push, replace, slice, stringify,
-    test, toJSON, toString, valueOf
-*/
-
-
-// Create a JSON object only if one does not already exist. We create the
-// methods in a closure to avoid creating global variables.
-
-if (typeof JSON !== 'object') {
-    JSON = {};
-}
-
-(function () {
-    'use strict';
-
-    function f(n) {
-        // Format integers to have at least two digits.
-        return n < 10 ? '0' + n : n;
-    }
-
-    if (typeof Date.prototype.toJSON !== 'function') {
-
-        Date.prototype.toJSON = function () {
-
-            return isFinite(this.valueOf())
-                ? this.getUTCFullYear()     + '-' +
-                    f(this.getUTCMonth() + 1) + '-' +
-                    f(this.getUTCDate())      + 'T' +
-                    f(this.getUTCHours())     + ':' +
-                    f(this.getUTCMinutes())   + ':' +
-                    f(this.getUTCSeconds())   + 'Z'
-                : null;
-        };
-
-        String.prototype.toJSON      =
-            Number.prototype.toJSON  =
-            Boolean.prototype.toJSON = function () {
-                return this.valueOf();
-            };
-    }
-
-    var cx,
-        escapable,
-        gap,
-        indent,
-        meta,
-        rep;
-
-
-    function quote(string) {
-
-// If the string contains no control characters, no quote characters, and no
-// backslash characters, then we can safely slap some quotes around it.
-// Otherwise we must also replace the offending characters with safe escape
-// sequences.
-
-        escapable.lastIndex = 0;
-        return escapable.test(string) ? '"' + string.replace(escapable, function (a) {
-            var c = meta[a];
-            return typeof c === 'string'
-                ? c
-                : '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
-        }) + '"' : '"' + string + '"';
-    }
-
-
-    function str(key, holder) {
-
-// Produce a string from holder[key].
-
-        var i,          // The loop counter.
-            k,          // The member key.
-            v,          // The member value.
-            length,
-            mind = gap,
-            partial,
-            value = holder[key];
-
-// If the value has a toJSON method, call it to obtain a replacement value.
-
-        if (value && typeof value === 'object' &&
-                typeof value.toJSON === 'function') {
-            value = value.toJSON(key);
-        }
-
-// If we were called with a replacer function, then call the replacer to
-// obtain a replacement value.
-
-        if (typeof rep === 'function') {
-            value = rep.call(holder, key, value);
-        }
-
-// What happens next depends on the value's type.
-
-        switch (typeof value) {
-        case 'string':
-            return quote(value);
-
-        case 'number':
-
-// JSON numbers must be finite. Encode non-finite numbers as null.
-
-            return isFinite(value) ? String(value) : 'null';
-
-        case 'boolean':
-        case 'null':
-
-// If the value is a boolean or null, convert it to a string. Note:
-// typeof null does not produce 'null'. The case is included here in
-// the remote chance that this gets fixed someday.
-
-            return String(value);
-
-// If the type is 'object', we might be dealing with an object or an array or
-// null.
-
-        case 'object':
-
-// Due to a specification blunder in ECMAScript, typeof null is 'object',
-// so watch out for that case.
-
-            if (!value) {
-                return 'null';
-            }
-
-// Make an array to hold the partial results of stringifying this object value.
-
-            gap += indent;
-            partial = [];
-
-// Is the value an array?
-
-            if (Object.prototype.toString.apply(value) === '[object Array]') {
-
-// The value is an array. Stringify every element. Use null as a placeholder
-// for non-JSON values.
-
-                length = value.length;
-                for (i = 0; i < length; i += 1) {
-                    partial[i] = str(i, value) || 'null';
-                }
-
-// Join all of the elements together, separated with commas, and wrap them in
-// brackets.
-
-                v = partial.length === 0
-                    ? '[]'
-                    : gap
-                    ? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']'
-                    : '[' + partial.join(',') + ']';
-                gap = mind;
-                return v;
-            }
-
-// If the replacer is an array, use it to select the members to be stringified.
-
-            if (rep && typeof rep === 'object') {
-                length = rep.length;
-                for (i = 0; i < length; i += 1) {
-                    if (typeof rep[i] === 'string') {
-                        k = rep[i];
-                        v = str(k, value);
-                        if (v) {
-                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
-                        }
-                    }
-                }
-            } else {
-
-// Otherwise, iterate through all of the keys in the object.
-
-                for (k in value) {
-                    if (Object.prototype.hasOwnProperty.call(value, k)) {
-                        v = str(k, value);
-                        if (v) {
-                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
-                        }
-                    }
-                }
-            }
-
-// Join all of the member texts together, separated with commas,
-// and wrap them in braces.
-
-            v = partial.length === 0
-                ? '{}'
-                : gap
-                ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}'
-                : '{' + partial.join(',') + '}';
-            gap = mind;
-            return v;
-        }
-    }
-
-// If the JSON object does not yet have a stringify method, give it one.
-
-    if (typeof JSON.stringify !== 'function') {
-        escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
-        meta = {    // table of character substitutions
-            '\b': '\\b',
-            '\t': '\\t',
-            '\n': '\\n',
-            '\f': '\\f',
-            '\r': '\\r',
-            '"' : '\\"',
-            '\\': '\\\\'
-        };
-        JSON.stringify = function (value, replacer, space) {
-
-// The stringify method takes a value and an optional replacer, and an optional
-// space parameter, and returns a JSON text. The replacer can be a function
-// that can replace values, or an array of strings that will select the keys.
-// A default replacer method can be provided. Use of the space parameter can
-// produce text that is more easily readable.
-
-            var i;
-            gap = '';
-            indent = '';
-
-// If the space parameter is a number, make an indent string containing that
-// many spaces.
-
-            if (typeof space === 'number') {
-                for (i = 0; i < space; i += 1) {
-                    indent += ' ';
-                }
-
-// If the space parameter is a string, it will be used as the indent string.
-
-            } else if (typeof space === 'string') {
-                indent = space;
-            }
-
-// If there is a replacer, it must be a function or an array.
-// Otherwise, throw an error.
-
-            rep = replacer;
-            if (replacer && typeof replacer !== 'function' &&
-                    (typeof replacer !== 'object' ||
-                    typeof replacer.length !== 'number')) {
-                throw new Error('JSON.stringify');
-            }
-
-// Make a fake root object containing our value under the key of ''.
-// Return the result of stringifying the value.
-
-            return str('', {'': value});
-        };
-    }
-
-
-// If the JSON object does not yet have a parse method, give it one.
-
-    if (typeof JSON.parse !== 'function') {
-        cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
-        JSON.parse = function (text, reviver) {
-
-// The parse method takes a text and an optional reviver function, and returns
-// a JavaScript value if the text is a valid JSON text.
-
-            var j;
-
-            function walk(holder, key) {
-
-// The walk method is used to recursively walk the resulting structure so
-// that modifications can be made.
-
-                var k, v, value = holder[key];
-                if (value && typeof value === 'object') {
-                    for (k in value) {
-                        if (Object.prototype.hasOwnProperty.call(value, k)) {
-                            v = walk(value, k);
-                            if (v !== undefined) {
-                                value[k] = v;
-                            } else {
-                                delete value[k];
-                            }
-                        }
-                    }
-                }
-                return reviver.call(holder, key, value);
-            }
-
-
-// Parsing happens in four stages. In the first stage, we replace certain
-// Unicode characters with escape sequences. JavaScript handles many characters
-// incorrectly, either silently deleting them, or treating them as line endings.
-
-            text = String(text);
-            cx.lastIndex = 0;
-            if (cx.test(text)) {
-                text = text.replace(cx, function (a) {
-                    return '\\u' +
-                        ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
-                });
-            }
-
-// In the second stage, we run the text against regular expressions that look
-// for non-JSON patterns. We are especially concerned with '()' and 'new'
-// because they can cause invocation, and '=' because it can cause mutation.
-// But just to be safe, we want to reject all unexpected forms.
-
-// We split the second stage into 4 regexp operations in order to work around
-// crippling inefficiencies in IE's and Safari's regexp engines. First we
-// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we
-// replace all simple value tokens with ']' characters. Third, we delete all
-// open brackets that follow a colon or comma or that begin the text. Finally,
-// we look to see that the remaining characters are only whitespace or ']' or
-// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
-
-            if (/^[\],:{}\s]*$/
-                    .test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
-                        .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
-                        .replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
-
-// In the third stage we use the eval function to compile the text into a
-// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
-// in JavaScript: it can begin a block or an object literal. We wrap the text
-// in parens to eliminate the ambiguity.
-
-                j = eval('(' + text + ')');
-
-// In the optional fourth stage, we recursively walk the new structure, passing
-// each name/value pair to a reviver function for possible transformation.
-
-                return typeof reviver === 'function'
-                    ? walk({'': j}, '')
-                    : j;
-            }
-
-// If the text is not JSON parseable, then a SyntaxError is thrown.
-
-            throw new SyntaxError('JSON.parse');
-        };
-    }
-}());


[10/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/javascripts/jstree.min.js
----------------------------------------------------------------------
diff --git a/public/javascripts/jstree.min.js b/public/javascripts/jstree.min.js
deleted file mode 100644
index 00abb9e..0000000
--- a/public/javascripts/jstree.min.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/*! jsTree - v3.0.6 - 2014-10-15 - (MIT) */
-(function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?e(require("jquery")):e(jQuery)})(function(e,t){"use strict";if(!e.jstree){var i=0,r=!1,s=!1,n=!1,a=[],d=e("script:last").attr("src"),o=document,c=o.createElement("LI"),l,h;c.setAttribute("role","treeitem"),l=o.createElement("I"),l.className="jstree-icon jstree-ocl",l.setAttribute("role","presentation"),c.appendChild(l),l=o.createElement("A"),l.className="jstree-anchor",l.setAttribute("href","#"),l.setAttribute("tabindex","-1"),h=o.createElement("I"),h.className="jstree-icon jstree-themeicon",h.setAttribute("role","presentation"),l.appendChild(h),c.appendChild(l),l=h=null,e.jstree={version:"3.0.6",defaults:{plugins:[]},plugins:{},path:d&&-1!==d.indexOf("/")?d.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%]/g},e.jstree.create=function(t,r){var s=new e.jstree.core(++i),n=r;return r=e.extend(!0,{},e.jstree.defaults,r),n&&n.plugins&&(r.plugins=n.plugins)
 ,e.each(r.plugins,function(e,t){"core"!==e&&(s=s.plugin(t,r[t]))}),s.init(t,r),s},e.jstree.destroy=function(){e(".jstree:jstree").jstree("destroy"),e(document).off(".jstree")},e.jstree.core=function(e){this._id=e,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},e.jstree.reference=function(i){var r=null,s=null;if(i&&i.id&&(i=i.id),!s||!s.length)try{s=e(i)}catch(n){}if(!s||!s.length)try{s=e("#"+i.replace(e.jstree.idregex,"\\$&"))}catch(n){}return s&&s.length&&(s=s.closest(".jstree")).length&&(s=s.data("jstree"))?r=s:e(".jstree").each(function(){var s=e(this).data("jstree");return s&&s._model.data[i]?(r=s,!1):t}),r},e.fn.jstree=function(i){var r="string"==typeof i,s=Array.prototype.slice.call(arguments,1),n=null;return this.each(function(){var a=e.jstree.reference(this),d=r&&a?a[i]:null;return n=r&&d?d.apply(a,s):null,a||r||i!==t&&!e.isPlainObject(i)||e(this).data("jstree",new e.jstree.cr
 eate(this,i)),(a&&!r||i===!0)&&(n=a||!1),null!==n&&n!==t?!1:t}),null!==n&&n!==t?n:this},e.expr[":"].jstree=e.expr.createPseudo(function(i){return function(i){return e(i).hasClass("jstree")&&e(i).data("jstree")!==t}}),e.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:e.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1},e.jstree.core.prototype={plugin:function(t,i){var r=e.jstree.plugins[t];return r?(this._data[t]={},r.prototype=this,new r(i,this)):this},init:function(t,i){this._model={data:{"#":{id:"#",parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}}},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this.element=e(t).addClass("jstree jstree-"+this._id),this.settings=i,this.element.bind("destroyed",e.proxy(this.teardown,this)),this._data.core.ready=!1,this._data.core.loaded=!
 1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html("<ul class='jstree-container-ul jstree-children' role='group'><li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='tree-item'><i class='jstree-icon jstree-ocl'></i><"+"a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-active
 descendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().height()||24,this.trigger("loading"),this.load_node("#")},destroy:function(e){if(this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(t){}e||this.element.empty(),this.element.unbind("destroyed",this.teardown),this.teardown()},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){this.element.on("dblclick.jstree",function(){if(document.selection&&document.selection.empty)document.selection.empty();else if(window.getSelection){var e=window.getSelection();try{e.removeAllRanges(),e.collapse()}catch(t){}}}).on("click.jstree",".jstree-ocl",e.proxy(function(e){this.toggle_node(e.target)},this)).on("click.jstree",".jstree-anchor",e.proxy(function(t){t.preventDefault(),t.currentTarg
 et!==document.activeElement&&e(t.currentTarget).focus(),this.activate_node(t.currentTarget,t)},this)).on("keydown.jstree",".jstree-anchor",e.proxy(function(t){if("INPUT"===t.target.tagName)return!0;var i=null;switch(t.which){case 13:case 32:t.type="click",e(t.currentTarget).trigger(t);break;case 37:t.preventDefault(),this.is_open(t.currentTarget)?this.close_node(t.currentTarget):(i=this.get_prev_dom(t.currentTarget),i&&i.length&&i.children(".jstree-anchor").focus());break;case 38:t.preventDefault(),i=this.get_prev_dom(t.currentTarget),i&&i.length&&i.children(".jstree-anchor").focus();break;case 39:t.preventDefault(),this.is_closed(t.currentTarget)?this.open_node(t.currentTarget,function(e){this.get_node(e,!0).children(".jstree-anchor").focus()}):(i=this.get_next_dom(t.currentTarget),i&&i.length&&i.children(".jstree-anchor").focus());break;case 40:t.preventDefault(),i=this.get_next_dom(t.currentTarget),i&&i.length&&i.children(".jstree-anchor").focus();break;case 46:t.preventDefault()
 ,i=this.get_node(t.currentTarget),i&&i.id&&"#"!==i.id&&(i=this.is_selected(i)?this.get_selected():i);break;case 113:t.preventDefault(),i=this.get_node(t.currentTarget);break;default:}},this)).on("load_node.jstree",e.proxy(function(t,i){if(i.status&&("#"!==i.node.id||this._data.core.loaded||(this._data.core.loaded=!0,this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),!this._data.core.ready&&!this.get_container_ul().find(".jstree-loading").length)){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var r=[],s,n;for(s=0,n=this._data.core.selected.length;n>s;s++)r=r.concat(this._model.data[this._data.core.selected[s]].parents);for(r=e.vakata.array_unique(r),s=0,n=r.length;n>s;s++)this.open_node(r[s],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}setTimeout(e.proxy(function(){this.trigger("ready")},this),0)}},this)).on("init.jstree",e.p
 roxy(function(){var e=this.settings.core.themes;this._data.core.themes.dots=e.dots,this._data.core.themes.stripes=e.stripes,this._data.core.themes.icons=e.icons,this.set_theme(e.name||"default",e.url),this.set_theme_variant(e.variant)},this)).on("loading.jstree",e.proxy(function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"]()},this)).on("blur.jstree",".jstree-anchor",e.proxy(function(t){this._data.core.focused=null,e(t.currentTarget).filter(".jstree-hovered").mouseleave()},this)).on("focus.jstree",".jstree-anchor",e.proxy(function(t){var i=this.get_node(t.currentTarget);i&&i.id&&(this._data.core.focused=i.id),this.element.find(".jstree-hovered").not(t.currentTarget).mouseleave(),e(t.currentTarget).mouseenter()},this)).on("focus.jstree",e.proxy(function(){this._data.core.focused||this.get_node(this.element.attr("aria-activedescendant"),!0).
 find("> .jstree-anchor").focus()},this)).on("mouseenter.jstree",".jstree-anchor",e.proxy(function(e){this.hover_node(e.currentTarget)},this)).on("mouseleave.jstree",".jstree-anchor",e.proxy(function(e){this.dehover_node(e.currentTarget)},this))},unbind:function(){this.element.off(".jstree"),e(document).off(".jstree-"+this._id)},trigger:function(e,t){t||(t={}),t.instance=this,this.element.triggerHandler(e.replace(".jstree","")+".jstree",t)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(t){var i=this.settings.core.strings;return e.isFunction(i)?i.call(this,t):i&&i[t]?i[t]:t},_firstChild:function(e){e=e?e.firstChild:null;while(null!==e&&1!==e.nodeType)e=e.nextSibling;return e},_nextSibling:function(e){e=e?e.nextSibling:null;while(null!==e&&1!==e.nodeType)e=e.nextSibling;return e},_previousSibling:function(e){e=e?e.previousSibling:null;while(null!==e&&1!==e.nodeType)e=e.previousSibl
 ing;return e},get_node:function(t,i){t&&t.id&&(t=t.id);var r;try{if(this._model.data[t])t=this._model.data[t];else if("string"==typeof t&&(r=e("#"+t.replace(e.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[r.closest(".jstree-node").attr("id")])t=this._model.data[r.closest(".jstree-node").attr("id")];else if((r=e(t,this.element)).length&&this._model.data[r.closest(".jstree-node").attr("id")])t=this._model.data[r.closest(".jstree-node").attr("id")];else{if(!(r=e(t,this.element)).length||!r.hasClass("jstree"))return!1;t=this._model.data["#"]}return i&&(t="#"===t.id?this.element:e("#"+t.id.replace(e.jstree.idregex,"\\$&"),this.element)),t}catch(s){return!1}},get_path:function(e,t,i){if(e=e.parents?e:this.get_node(e),!e||"#"===e.id||!e.parents)return!1;var r,s,n=[];for(n.push(i?e.id:e.text),r=0,s=e.parents.length;s>r;r++)n.push(i?e.parents[r]:this.get_text(e.parents[r]));return n=n.reverse().slice(1),t?n.join(t):n},get_next_dom:function(t,i){var r;if(t=this.get_node(t,!0)
 ,t[0]===this.element[0]){r=this._firstChild(this.get_container_ul()[0]);while(r&&0===r.offsetHeight)r=this._nextSibling(r);return r?e(r):!1}if(!t||!t.length)return!1;if(i){r=t[0];do r=this._nextSibling(r);while(r&&0===r.offsetHeight);return r?e(r):!1}if(t.hasClass("jstree-open")){r=this._firstChild(t.children(".jstree-children")[0]);while(r&&0===r.offsetHeight)r=this._nextSibling(r);if(null!==r)return e(r)}r=t[0];do r=this._nextSibling(r);while(r&&0===r.offsetHeight);return null!==r?e(r):t.parentsUntil(".jstree",".jstree-node").next(".jstree-node:visible").first()},get_prev_dom:function(t,i){var r;if(t=this.get_node(t,!0),t[0]===this.element[0]){r=this.get_container_ul()[0].lastChild;while(r&&0===r.offsetHeight)r=this._previousSibling(r);return r?e(r):!1}if(!t||!t.length)return!1;if(i){r=t[0];do r=this._previousSibling(r);while(r&&0===r.offsetHeight);return r?e(r):!1}r=t[0];do r=this._previousSibling(r);while(r&&0===r.offsetHeight);if(null!==r){t=e(r);while(t.hasClass("jstree-open")
 )t=t.children(".jstree-children").first().children(".jstree-node:visible:last");return t}return r=t[0].parentNode.parentNode,r&&r.className&&-1!==r.className.indexOf("jstree-node")?e(r):!1},get_parent:function(e){return e=this.get_node(e),e&&"#"!==e.id?e.parent:!1},get_children_dom:function(e){return e=this.get_node(e,!0),e[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):e&&e.length?e.children(".jstree-children").children(".jstree-node"):!1},is_parent:function(e){return e=this.get_node(e),e&&(e.state.loaded===!1||e.children.length>0)},is_loaded:function(e){return e=this.get_node(e),e&&e.state.loaded},is_loading:function(e){return e=this.get_node(e),e&&e.state&&e.state.loading},is_open:function(e){return e=this.get_node(e),e&&e.state.opened},is_closed:function(e){return e=this.get_node(e),e&&this.is_parent(e)&&!e.state.opened},is_leaf:function(e){return!this.is_parent(e)},load_node:function(t,i){var r,s,n,a,d;if(e.isArray(t))return this._load_nodes(t.slice(),i),
 !0;if(t=this.get_node(t),!t)return i&&i.call(this,t,!1),!1;if(t.state.loaded){for(t.state.loaded=!1,r=0,s=t.children_d.length;s>r;r++){for(n=0,a=t.parents.length;a>n;n++)this._model.data[t.parents[n]].children_d=e.vakata.array_remove_item(this._model.data[t.parents[n]].children_d,t.children_d[r]);this._model.data[t.children_d[r]].state.selected&&(d=!0,this._data.core.selected=e.vakata.array_remove_item(this._data.core.selected,t.children_d[r])),delete this._model.data[t.children_d[r]]}t.children=[],t.children_d=[],d&&this.trigger("changed",{action:"load_node",node:t,selected:this._data.core.selected})}return t.state.loading=!0,this.get_node(t,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(t,e.proxy(function(e){t=this._model.data[t.id],t.state.loading=!1,t.state.loaded=e;var r=this.get_node(t,!0);t.state.loaded&&!t.children.length&&r&&r.length&&!r.hasClass("jstree-leaf")&&r.removeClass("jstree-closed jstree-open").addClass("jstree-leaf"),r.removeClass("jstree-loa
 ding").attr("aria-busy",!1),this.trigger("load_node",{node:t,status:e}),i&&i.call(this,t,e)},this)),!0},_load_nodes:function(e,t,i){var r=!0,s=function(){this._load_nodes(e,t,!0)},n=this._model.data,a,d;for(a=0,d=e.length;d>a;a++)!n[e[a]]||n[e[a]].state.loaded&&i||(this.is_loading(e[a])||this.load_node(e[a],s),r=!1);r&&t&&!t.done&&(t.call(this,e),t.done=!0)},_load_node:function(t,i){var r=this.settings.core.data,s;return r?e.isFunction(r)?r.call(this,t,e.proxy(function(r){r===!1&&i.call(this,!1),this["string"==typeof r?"_append_html_data":"_append_json_data"](t,"string"==typeof r?e(r):r,function(e){i.call(this,e)})},this)):"object"==typeof r?r.url?(r=e.extend(!0,{},r),e.isFunction(r.url)&&(r.url=r.url.call(this,t)),e.isFunction(r.data)&&(r.data=r.data.call(this,t)),e.ajax(r).done(e.proxy(function(r,s,n){var a=n.getResponseHeader("Content-Type");return-1!==a.indexOf("json")||"object"==typeof r?this._append_json_data(t,r,function(e){i.call(this,e)}):-1!==a.indexOf("html")||"string"==t
 ypeof r?this._append_html_data(t,e(r),function(e){i.call(this,e)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:t.id,xhr:n})},this.settings.core.error.call(this,this._data.core.last_error),i.call(this,!1))},this)).fail(e.proxy(function(e){i.call(this,!1),this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:t.id,xhr:e})},this.settings.core.error.call(this,this._data.core.last_error)},this))):(s=e.isArray(r)||e.isPlainObject(r)?JSON.parse(JSON.stringify(r)):r,"#"===t.id?this._append_json_data(t,s,function(e){i.call(this,e)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:t.id})},this.settings.core.error.call(this,this._data.core.last_error),i.call(this,!1))):"string"==typeof r?"#"===t.id?this._append_html_data(t,e(r),function(e){i.call(this,e)}):(this._data.core.last
 _error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:t.id})},this.settings.core.error.call(this,this._data.core.last_error),i.call(this,!1)):i.call(this,!1):"#"===t.id?this._append_html_data(t,this._data.core.original_container_html.clone(!0),function(e){i.call(this,e)}):i.call(this,!1)},_node_changed:function(e){e=this.get_node(e),e&&this._model.changed.push(e.id)},_append_html_data:function(t,i,r){t=this.get_node(t),t.children=[],t.children_d=[];var s=i.is("ul")?i.children():i,n=t.id,a=[],d=[],o=this._model.data,c=o[n],l=this._data.core.selected.length,h,_,u;for(s.each(e.proxy(function(t,i){h=this._parse_model_from_html(e(i),n,c.parents.concat()),h&&(a.push(h),d.push(h),o[h].children_d.length&&(d=d.concat(o[h].children_d)))},this)),c.children=a,c.children_d=d,_=0,u=c.parents.length;u>_;_++)o[c.parents[_]].children_d=o[c.parents[_]].children_d.concat(d);this.trigger("model",{nodes:d,parent:n}),"#"!==n?(this._node_changed(n),this.red
 raw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==l&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),r.call(this,!0)},_append_json_data:function(t,i,r,s){t=this.get_node(t),t.children=[],t.children_d=[],i.d&&(i=i.d,"string"==typeof i&&(i=JSON.parse(i))),e.isArray(i)||(i=[i]);var n=null,a={df:this._model.default_state,dat:i,par:t.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},d=function(e,t){e.data&&(e=e.data);var i=e.dat,r=e.par,s=[],n=[],a=[],d=e.df,o=e.t_id,c=e.t_cnt,l=e.m,h=l[r],_=e.sel,u,g,f,p,m=function(e,i,r){r=r?r.concat():[],i&&r.unshift(i);var s=""+e.id,n,o,c,h,_={id:s,text:e.text||"",icon:e.icon!==t?e.icon:!0,parent:i,parents:r,children:e.children||[],children_d:e.children_d||[],data:e.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(n in d)d.hasOwnProperty(n)&&(_.state[n]=d[n]);if(e&&e.data&&e.data.jstree&&e.data.jstree.i
 con&&(_.icon=e.data.jstree.icon),e&&e.data&&(_.data=e.data,e.data.jstree))for(n in e.data.jstree)e.data.jstree.hasOwnProperty(n)&&(_.state[n]=e.data.jstree[n]);if(e&&"object"==typeof e.state)for(n in e.state)e.state.hasOwnProperty(n)&&(_.state[n]=e.state[n]);if(e&&"object"==typeof e.li_attr)for(n in e.li_attr)e.li_attr.hasOwnProperty(n)&&(_.li_attr[n]=e.li_attr[n]);if(_.li_attr.id||(_.li_attr.id=s),e&&"object"==typeof e.a_attr)for(n in e.a_attr)e.a_attr.hasOwnProperty(n)&&(_.a_attr[n]=e.a_attr[n]);for(e&&e.children&&e.children===!0&&(_.state.loaded=!1,_.children=[],_.children_d=[]),l[_.id]=_,n=0,o=_.children.length;o>n;n++)c=m(l[_.children[n]],_.id,r),h=l[c],_.children_d.push(c),h.children_d.length&&(_.children_d=_.children_d.concat(h.children_d));return delete e.data,delete e.children,l[_.id].original=e,_.state.selected&&a.push(_.id),_.id},v=function(e,i,r){r=r?r.concat():[],i&&r.unshift(i);var s=!1,n,h,_,u,g;do s="j"+o+"_"+ ++c;while(l[s]);g={id:!1,text:"string"==typeof e?e:"",ico
 n:"object"==typeof e&&e.icon!==t?e.icon:!0,parent:i,parents:r,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(n in d)d.hasOwnProperty(n)&&(g.state[n]=d[n]);if(e&&e.id&&(g.id=""+e.id),e&&e.text&&(g.text=e.text),e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(g.icon=e.data.jstree.icon),e&&e.data&&(g.data=e.data,e.data.jstree))for(n in e.data.jstree)e.data.jstree.hasOwnProperty(n)&&(g.state[n]=e.data.jstree[n]);if(e&&"object"==typeof e.state)for(n in e.state)e.state.hasOwnProperty(n)&&(g.state[n]=e.state[n]);if(e&&"object"==typeof e.li_attr)for(n in e.li_attr)e.li_attr.hasOwnProperty(n)&&(g.li_attr[n]=e.li_attr[n]);if(g.li_attr.id&&!g.id&&(g.id=""+g.li_attr.id),g.id||(g.id=s),g.li_attr.id||(g.li_attr.id=g.id),e&&"object"==typeof e.a_attr)for(n in e.a_attr)e.a_attr.hasOwnProperty(n)&&(g.a_attr[n]=e.a_attr[n]);if(e&&e.children&&e.children.length){for(n=0,h=e.children.length;h>n;n++)_=v(e.children[n],g.id,r),u=l[_],g.children.push(_),u.childr
 en_d.length&&(g.children_d=g.children_d.concat(u.children_d));g.children_d=g.children_d.concat(g.children)}return e&&e.children&&e.children===!0&&(g.state.loaded=!1,g.children=[],g.children_d=[]),delete e.data,delete e.children,g.original=e,l[g.id]=g,g.state.selected&&a.push(g.id),g.id};if(i.length&&i[0].id!==t&&i[0].parent!==t){for(g=0,f=i.length;f>g;g++)i[g].children||(i[g].children=[]),l[""+i[g].id]=i[g];for(g=0,f=i.length;f>g;g++)l[""+i[g].parent].children.push(""+i[g].id),h.children_d.push(""+i[g].id);for(g=0,f=h.children.length;f>g;g++)u=m(l[h.children[g]],r,h.parents.concat()),n.push(u),l[u].children_d.length&&(n=n.concat(l[u].children_d));for(g=0,f=h.parents.length;f>g;g++)l[h.parents[g]].children_d=l[h.parents[g]].children_d.concat(n);p={cnt:c,mod:l,sel:_,par:r,dpc:n,add:a}}else{for(g=0,f=i.length;f>g;g++)u=v(i[g],r,h.parents.concat()),u&&(s.push(u),n.push(u),l[u].children_d.length&&(n=n.concat(l[u].children_d)));for(h.children=s,h.children_d=n,g=0,f=h.parents.length;f>g;g+
 +)l[h.parents[g]].children_d=l[h.parents[g]].children_d.concat(n);p={cnt:c,mod:l,sel:_,par:r,dpc:n,add:a}}return"undefined"!=typeof window&&window.document!==t?p:(postMessage(p),t)},o=function(t,i){if(this._cnt=t.cnt,this._model.data=t.mod,i){var s,n,a=t.add,d=t.sel,o=this._data.core.selected.slice(),c=this._model.data;if(d.length!==o.length||e.vakata.array_unique(d.concat(o)).length!==d.length){for(s=0,n=d.length;n>s;s++)-1===e.inArray(d[s],a)&&-1===e.inArray(d[s],o)&&(c[d[s]].state.selected=!1);for(s=0,n=o.length;n>s;s++)-1===e.inArray(o[s],d)&&(c[o[s]].state.selected=!0)}}t.add.length&&(this._data.core.selected=this._data.core.selected.concat(t.add)),this.trigger("model",{nodes:t.dpc,parent:t.par}),"#"!==t.par?(this._node_changed(t.par),this.redraw()):this.redraw(!0),t.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),r.call(this,!0)};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.U
 RL.createObjectURL(new window.Blob(["self.onmessage = "+(""+d)],{type:"text/javascript"}))),!this._data.core.working||s?(this._data.core.working=!0,n=new window.Worker(this._wrk),n.onmessage=e.proxy(function(e){o.call(this,e.data,!0);try{n.terminate(),n=null}catch(t){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1},this),a.par?n.postMessage(a):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([t,i,r,!0])}catch(c){o.call(this,d(a),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else o.call(this,d(a),!1)},_parse_model_from_html:function(i,r,s){s=s?[].concat(s):[],r&&s.unshift(r);var n,a,d=this._model.data,o={id:!1,text:!1,icon:!0,parent:r,parents:s,children:[],children_d:[],data:null,state:{
 },li_attr:{id:!1},a_attr:{href:"#"},original:!1},c,l,h;for(c in this._model.default_state)this._model.default_state.hasOwnProperty(c)&&(o.state[c]=this._model.default_state[c]);if(l=e.vakata.attributes(i,!0),e.each(l,function(i,r){return r=e.trim(r),r.length?(o.li_attr[i]=r,"id"===i&&(o.id=""+r),t):!0}),l=i.children("a").first(),l.length&&(l=e.vakata.attributes(l,!0),e.each(l,function(t,i){i=e.trim(i),i.length&&(o.a_attr[t]=i)})),l=i.children("a").first().length?i.children("a").first().clone():i.clone(),l.children("ins, i, ul").remove(),l=l.html(),l=e("<div />").html(l),o.text=this.settings.core.force_text?l.text():l.html(),l=i.data(),o.data=l?e.extend(!0,{},l):null,o.state.opened=i.hasClass("jstree-open"),o.state.selected=i.children("a").hasClass("jstree-clicked"),o.state.disabled=i.children("a").hasClass("jstree-disabled"),o.data&&o.data.jstree)for(c in o.data.jstree)o.data.jstree.hasOwnProperty(c)&&(o.state[c]=o.data.jstree[c]);l=i.children("a").children(".jstree-themeicon"),l.le
 ngth&&(o.icon=l.hasClass("jstree-themeicon-hidden")?!1:l.attr("rel")),o.state.icon&&(o.icon=o.state.icon),l=i.children("ul").children("li");do h="j"+this._id+"_"+ ++this._cnt;while(d[h]);return o.id=o.li_attr.id?""+o.li_attr.id:h,l.length?(l.each(e.proxy(function(t,i){n=this._parse_model_from_html(e(i),o.id,s),a=this._model.data[n],o.children.push(n),a.children_d.length&&(o.children_d=o.children_d.concat(a.children_d))},this)),o.children_d=o.children_d.concat(o.children)):i.hasClass("jstree-closed")&&(o.state.loaded=!1),o.li_attr["class"]&&(o.li_attr["class"]=o.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),o.a_attr["class"]&&(o.a_attr["class"]=o.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),d[o.id]=o,o.state.selected&&this._data.core.selected.push(o.id),o.id},_parse_model_from_flat_json:function(e,i,r){r=r?r.concat():[],i&&r.unshift(i);var s=""+e.id,n=this._model.data,a=this._model.default_state,d,o,c,l,h={id:s,text:e.text||"",
 icon:e.icon!==t?e.icon:!0,parent:i,parents:r,children:e.children||[],children_d:e.children_d||[],data:e.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(d in a)a.hasOwnProperty(d)&&(h.state[d]=a[d]);if(e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(h.icon=e.data.jstree.icon),e&&e.data&&(h.data=e.data,e.data.jstree))for(d in e.data.jstree)e.data.jstree.hasOwnProperty(d)&&(h.state[d]=e.data.jstree[d]);if(e&&"object"==typeof e.state)for(d in e.state)e.state.hasOwnProperty(d)&&(h.state[d]=e.state[d]);if(e&&"object"==typeof e.li_attr)for(d in e.li_attr)e.li_attr.hasOwnProperty(d)&&(h.li_attr[d]=e.li_attr[d]);if(h.li_attr.id||(h.li_attr.id=s),e&&"object"==typeof e.a_attr)for(d in e.a_attr)e.a_attr.hasOwnProperty(d)&&(h.a_attr[d]=e.a_attr[d]);for(e&&e.children&&e.children===!0&&(h.state.loaded=!1,h.children=[],h.children_d=[]),n[h.id]=h,d=0,o=h.children.length;o>d;d++)c=this._parse_model_from_flat_json(n[h.children[d]],h.id,r),l=n[c],h.children_d.push(c),l.children_d.length
 &&(h.children_d=h.children_d.concat(l.children_d));return delete e.data,delete e.children,n[h.id].original=e,h.state.selected&&this._data.core.selected.push(h.id),h.id},_parse_model_from_json:function(e,i,r){r=r?r.concat():[],i&&r.unshift(i);var s=!1,n,a,d,o,c=this._model.data,l=this._model.default_state,h;do s="j"+this._id+"_"+ ++this._cnt;while(c[s]);h={id:!1,text:"string"==typeof e?e:"",icon:"object"==typeof e&&e.icon!==t?e.icon:!0,parent:i,parents:r,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(n in l)l.hasOwnProperty(n)&&(h.state[n]=l[n]);if(e&&e.id&&(h.id=""+e.id),e&&e.text&&(h.text=e.text),e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(h.icon=e.data.jstree.icon),e&&e.data&&(h.data=e.data,e.data.jstree))for(n in e.data.jstree)e.data.jstree.hasOwnProperty(n)&&(h.state[n]=e.data.jstree[n]);if(e&&"object"==typeof e.state)for(n in e.state)e.state.hasOwnProperty(n)&&(h.state[n]=e.state[n]);if(e&&"object"==typeof e.li_attr)for(n in e
 .li_attr)e.li_attr.hasOwnProperty(n)&&(h.li_attr[n]=e.li_attr[n]);if(h.li_attr.id&&!h.id&&(h.id=""+h.li_attr.id),h.id||(h.id=s),h.li_attr.id||(h.li_attr.id=h.id),e&&"object"==typeof e.a_attr)for(n in e.a_attr)e.a_attr.hasOwnProperty(n)&&(h.a_attr[n]=e.a_attr[n]);if(e&&e.children&&e.children.length){for(n=0,a=e.children.length;a>n;n++)d=this._parse_model_from_json(e.children[n],h.id,r),o=c[d],h.children.push(d),o.children_d.length&&(h.children_d=h.children_d.concat(o.children_d));h.children_d=h.children_d.concat(h.children)}return e&&e.children&&e.children===!0&&(h.state.loaded=!1,h.children=[],h.children_d=[]),delete e.data,delete e.children,h.original=e,c[h.id]=h,h.state.selected&&this._data.core.selected.push(h.id),h.id},_redraw:function(){var e=this._model.force_full_redraw?this._model.data["#"].children.concat([]):this._model.changed.concat([]),t=document.createElement("UL"),i,r,s,n=this._data.core.focused;for(r=0,s=e.length;s>r;r++)i=this.redraw_node(e[r],!0,this._model.force_f
 ull_redraw),i&&this._model.force_full_redraw&&t.appendChild(i);this._model.force_full_redraw&&(t.className=this.get_container_ul()[0].className,t.setAttribute("role","group"),this.element.empty().append(t)),null!==n&&(i=this.get_node(n,!0),i&&i.length&&i.children(".jstree-anchor")[0]!==document.activeElement?i.children(".jstree-anchor").focus():this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:e})},redraw:function(e){e&&(this._model.force_full_redraw=!0),this._redraw()},redraw_node:function(t,i,r,s){var n=this.get_node(t),a=!1,d=!1,o=!1,l=!1,h=!1,_=!1,u="",g=document,f=this._model.data,p=!1,m=!1,v=null;if(!n)return!1;if("#"===n.id)return this.redraw(!0);if(i=i||0===n.children.length,t=document.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(n.id[0])?"\\3"+n.id[0]+" "+n.id.substr(1).replace(e.jstree.idregex,"\\$&"):n.id.replace(e.jstree.idregex,"\\$&"))):document.getElementById(n.id))t=e(t),r|
 |(a=t.parent().parent()[0],a===this.element[0]&&(a=null),d=t.index()),i||!n.children.length||t.children(".jstree-children").length||(i=!0),i||(o=t.children(".jstree-children")[0]),p=t.children(".jstree-anchor")[0]===document.activeElement,t.remove();else if(i=!0,!r){if(a="#"!==n.parent?e("#"+n.parent.replace(e.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===a||a&&f[n.parent].state.opened))return!1;d=e.inArray(n.id,null===a?f["#"].children:f[n.parent].children)}t=c.cloneNode(!0),u="jstree-node ";for(l in n.li_attr)if(n.li_attr.hasOwnProperty(l)){if("id"===l)continue;"class"!==l?t.setAttribute(l,n.li_attr[l]):u+=n.li_attr[l]}n.a_attr.id||(n.a_attr.id=n.id+"_anchor"),t.setAttribute("aria-selected",!!n.state.selected),t.setAttribute("aria-level",n.parents.length),t.setAttribute("aria-labelledby",n.a_attr.id),n.state.disabled&&t.setAttribute("aria-disabled",!0),n.state.loaded&&!n.children.length?u+=" jstree-leaf":(u+=n.state.opened&&n.state.loaded?" jstree-open":" jstree-closed",t.
 setAttribute("aria-expanded",n.state.opened&&n.state.loaded)),null!==n.parent&&f[n.parent].children[f[n.parent].children.length-1]===n.id&&(u+=" jstree-last"),t.id=n.id,t.className=u,u=(n.state.selected?" jstree-clicked":"")+(n.state.disabled?" jstree-disabled":"");for(h in n.a_attr)if(n.a_attr.hasOwnProperty(h)){if("href"===h&&"#"===n.a_attr[h])continue;"class"!==h?t.childNodes[1].setAttribute(h,n.a_attr[h]):u+=" "+n.a_attr[h]}if(u.length&&(t.childNodes[1].className="jstree-anchor "+u),(n.icon&&n.icon!==!0||n.icon===!1)&&(n.icon===!1?t.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===n.icon.indexOf("/")&&-1===n.icon.indexOf(".")?t.childNodes[1].childNodes[0].className+=" "+n.icon+" jstree-themeicon-custom":(t.childNodes[1].childNodes[0].style.backgroundImage="url("+n.icon+")",t.childNodes[1].childNodes[0].style.backgroundPosition="center center",t.childNodes[1].childNodes[0].style.backgroundSize="auto",t.childNodes[1].childNodes[0].className+=" jstree-themeico
 n-custom")),this.settings.core.force_text?t.childNodes[1].appendChild(g.createTextNode(n.text)):t.childNodes[1].innerHTML+=n.text,i&&n.children.length&&(n.state.opened||s)&&n.state.loaded){for(_=g.createElement("UL"),_.setAttribute("role","group"),_.className="jstree-children",l=0,h=n.children.length;h>l;l++)_.appendChild(this.redraw_node(n.children[l],i,!0));t.appendChild(_)}if(o&&t.appendChild(o),!r){for(a||(a=this.element[0]),l=0,h=a.childNodes.length;h>l;l++)if(a.childNodes[l]&&a.childNodes[l].className&&-1!==a.childNodes[l].className.indexOf("jstree-children")){v=a.childNodes[l];break}v||(v=g.createElement("UL"),v.setAttribute("role","group"),v.className="jstree-children",a.appendChild(v)),a=v,a.childNodes.length>d?a.insertBefore(t,a.childNodes[d]):a.appendChild(t),p&&t.childNodes[1].focus()}return n.state.opened&&!n.state.loaded&&(n.state.opened=!1,setTimeout(e.proxy(function(){this.open_node(n.id,!1,0)},this),0)),t},open_node:function(i,r,s){var n,a,d,o;if(e.isArray(i)){for(i
 =i.slice(),n=0,a=i.length;a>n;n++)this.open_node(i[n],r,s);return!0}if(i=this.get_node(i),!i||"#"===i.id)return!1;if(s=s===t?this.settings.core.animation:s,!this.is_closed(i))return r&&r.call(this,i,!1),!1;if(this.is_loaded(i))d=this.get_node(i,!0),o=this,d.length&&(i.children.length&&!this._firstChild(d.children(".jstree-children")[0])&&(this.redraw_node(i,!0,!1,!0),d=this.get_node(i,!0)),s?(this.trigger("before_open",{node:i}),d.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded",!0).children(".jstree-children").stop(!0,!0).slideDown(s,function(){this.style.display="",o.trigger("after_open",{node:i})})):(this.trigger("before_open",{node:i}),d[0].className=d[0].className.replace("jstree-closed","jstree-open"),d[0].setAttribute("aria-expanded",!0))),i.state.opened=!0,r&&r.call(this,i,!0),d.length||this.trigger("before_open",{node:i}),this.trigger("open_node",{node:i}),s&&d.length||this.trigger("after_open
 ",{node:i});else{if(this.is_loading(i))return setTimeout(e.proxy(function(){this.open_node(i,r,s)
-},this),500);this.load_node(i,function(e,t){return t?this.open_node(e,r,s):r?r.call(this,e,!1):!1})}},_open_to:function(t){if(t=this.get_node(t),!t||"#"===t.id)return!1;var i,r,s=t.parents;for(i=0,r=s.length;r>i;i+=1)"#"!==i&&this.open_node(s[i],!1,0);return e("#"+t.id.replace(e.jstree.idregex,"\\$&"),this.element)},close_node:function(i,r){var s,n,a,d;if(e.isArray(i)){for(i=i.slice(),s=0,n=i.length;n>s;s++)this.close_node(i[s],r);return!0}return i=this.get_node(i),i&&"#"!==i.id?this.is_closed(i)?!1:(r=r===t?this.settings.core.animation:r,a=this,d=this.get_node(i,!0),d.length&&(r?d.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded",!1).children(".jstree-children").stop(!0,!0).slideUp(r,function(){this.style.display="",d.children(".jstree-children").remove(),a.trigger("after_close",{node:i})}):(d[0].className=d[0].className.replace("jstree-open","jstree-closed"),d.attr("aria-expanded",!
 1).children(".jstree-children").remove())),i.state.opened=!1,this.trigger("close_node",{node:i}),r&&d.length||this.trigger("after_close",{node:i}),t):!1},toggle_node:function(i){var r,s;if(e.isArray(i)){for(i=i.slice(),r=0,s=i.length;s>r;r++)this.toggle_node(i[r]);return!0}return this.is_closed(i)?this.open_node(i):this.is_open(i)?this.close_node(i):t},open_all:function(e,t,i){if(e||(e="#"),e=this.get_node(e),!e)return!1;var r="#"===e.id?this.get_container_ul():this.get_node(e,!0),s,n,a;if(!r.length){for(s=0,n=e.children_d.length;n>s;s++)this.is_closed(this._model.data[e.children_d[s]])&&(this._model.data[e.children_d[s]].state.opened=!0);return this.trigger("open_all",{node:e})}i=i||r,a=this,r=this.is_closed(e)?r.find(".jstree-closed").addBack():r.find(".jstree-closed"),r.each(function(){a.open_node(this,function(e,r){r&&this.is_parent(e)&&this.open_all(e,t,i)},t||0)}),0===i.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(i)})},close_all:function(t,i){if(
 t||(t="#"),t=this.get_node(t),!t)return!1;var r="#"===t.id?this.get_container_ul():this.get_node(t,!0),s=this,n,a;if(!r.length){for(n=0,a=t.children_d.length;a>n;n++)this._model.data[t.children_d[n]].state.opened=!1;return this.trigger("close_all",{node:t})}r=this.is_open(t)?r.find(".jstree-open").addBack():r.find(".jstree-open"),e(r.get().reverse()).each(function(){s.close_node(this,i||0)}),this.trigger("close_all",{node:t})},is_disabled:function(e){return e=this.get_node(e),e&&e.state&&e.state.disabled},enable_node:function(i){var r,s;if(e.isArray(i)){for(i=i.slice(),r=0,s=i.length;s>r;r++)this.enable_node(i[r]);return!0}return i=this.get_node(i),i&&"#"!==i.id?(i.state.disabled=!1,this.get_node(i,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),this.trigger("enable_node",{node:i}),t):!1},disable_node:function(i){var r,s;if(e.isArray(i)){for(i=i.slice(),r=0,s=i.length;s>r;r++)this.disable_node(i[r]);return!0}return i=this.get_node(i),i&&"#"!==i
 .id?(i.state.disabled=!0,this.get_node(i,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),this.trigger("disable_node",{node:i}),t):!1},activate_node:function(e,i){if(this.is_disabled(e))return!1;if(this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==t?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(i.metaKey||i.ctrlKey||i.shiftKey)&&(!i.shiftKey||this._data.core.last_clicked&&this.get_parent(e)&&this.get_parent(e)===this._data.core.last_clicked.parent))if(i.shiftKey){var r=this.get_node(e).id,s=this._data.core.last_clicked.id,n=this.get_node(this._data.core.last_clicked.parent).children,a=!1,d,o;fo
 r(d=0,o=n.length;o>d;d+=1)n[d]===r&&(a=!a),n[d]===s&&(a=!a),a||n[d]===r||n[d]===s?this.select_node(n[d],!0,!1,i):this.deselect_node(n[d],!0,i);this.trigger("changed",{action:"select_node",node:this.get_node(e),selected:this._data.core.selected,event:i})}else this.is_selected(e)?this.deselect_node(e,!1,i):this.select_node(e,!1,!1,i);else!this.settings.core.multiple&&(i.metaKey||i.ctrlKey||i.shiftKey)&&this.is_selected(e)?this.deselect_node(e,!1,i):(this.deselect_all(!0),this.select_node(e,!1,!1,i),this._data.core.last_clicked=this.get_node(e));this.trigger("activate_node",{node:this.get_node(e)})},hover_node:function(e){if(e=this.get_node(e,!0),!e||!e.length||e.children(".jstree-hovered").length)return!1;var t=this.element.find(".jstree-hovered"),i=this.element;t&&t.length&&this.dehover_node(t),e.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(e)}),setTimeout(function(){i.attr("aria-activedescendant",e[0].id)},0)},dehover_node:funct
 ion(e){return e=this.get_node(e,!0),e&&e.length&&e.children(".jstree-hovered").length?(e.children(".jstree-anchor").removeClass("jstree-hovered"),this.trigger("dehover_node",{node:this.get_node(e)}),t):!1},select_node:function(i,r,s,n){var a,d,o,c;if(e.isArray(i)){for(i=i.slice(),d=0,o=i.length;o>d;d++)this.select_node(i[d],r,s,n);return!0}return i=this.get_node(i),i&&"#"!==i.id?(a=this.get_node(i,!0),i.state.selected||(i.state.selected=!0,this._data.core.selected.push(i.id),s||(a=this._open_to(i)),a&&a.length&&a.attr("aria-selected",!0).children(".jstree-anchor").addClass("jstree-clicked"),this.trigger("select_node",{node:i,selected:this._data.core.selected,event:n}),r||this.trigger("changed",{action:"select_node",node:i,selected:this._data.core.selected,event:n})),t):!1},deselect_node:function(i,r,s){var n,a,d;if(e.isArray(i)){for(i=i.slice(),n=0,a=i.length;a>n;n++)this.deselect_node(i[n],r,s);return!0}return i=this.get_node(i),i&&"#"!==i.id?(d=this.get_node(i,!0),i.state.selected
 &&(i.state.selected=!1,this._data.core.selected=e.vakata.array_remove_item(this._data.core.selected,i.id),d.length&&d.attr("aria-selected",!1).children(".jstree-anchor").removeClass("jstree-clicked"),this.trigger("deselect_node",{node:i,selected:this._data.core.selected,event:s}),r||this.trigger("changed",{action:"deselect_node",node:i,selected:this._data.core.selected,event:s})),t):!1},select_all:function(e){var t=this._data.core.selected.concat([]),i,r;for(this._data.core.selected=this._model.data["#"].children_d.concat(),i=0,r=this._data.core.selected.length;r>i;i++)this._model.data[this._data.core.selected[i]]&&(this._model.data[this._data.core.selected[i]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),e||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:t})},deselect_all:function(e){var t=this._data.core.selected.concat([]),i,r;for(i=0,r=this._data.core.selected.length;r>i;i++)this._mo
 del.data[this._data.core.selected[i]]&&(this._model.data[this._data.core.selected[i]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").parent().attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:t}),e||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:t})},is_selected:function(e){return e=this.get_node(e),e&&"#"!==e.id?e.state.selected:!1},get_selected:function(t){return t?e.map(this._data.core.selected,e.proxy(function(e){return this.get_node(e)},this)):this._data.core.selected.slice()},get_top_selected:function(t){var i=this.get_selected(!0),r={},s,n,a,d;for(s=0,n=i.length;n>s;s++)r[i[s].id]=i[s];for(s=0,n=i.length;n>s;s++)for(a=0,d=i[s].children_d.length;d>a;a++)r[i[s].children_d[a]]&&delete r[i[s].children_d[a]];i=[];for(s in r)r.hasOwnProperty(s)&&i.push(s);return t?e.map(i,e.proxy(function(e){return this.get_node(e)},this)):i},g
 et_bottom_selected:function(t){var i=this.get_selected(!0),r=[],s,n;for(s=0,n=i.length;n>s;s++)i[s].children.length||r.push(i[s].id);return t?e.map(r,e.proxy(function(e){return this.get_node(e)},this)):r},get_state:function(){var e={core:{open:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}},t;for(t in this._model.data)this._model.data.hasOwnProperty(t)&&"#"!==t&&(this._model.data[t].state.opened&&e.core.open.push(t),this._model.data[t].state.selected&&e.core.selected.push(t));return e},set_state:function(i,r){if(i){if(i.core){var s,n,a,d;if(i.core.open)return e.isArray(i.core.open)?(s=!0,n=!1,a=this,e.each(i.core.open.concat([]),function(t,d){n=a.get_node(d),n&&(a.is_loaded(d)?(a.is_closed(d)&&a.open_node(d,!1,0),i&&i.core&&i.core.open&&e.vakata.array_remove_item(i.core.open,d)):(a.is_loading(d)||a.open_node(d,e.proxy(function(t,s){!s&&i&&i.core&&i.core.open&&e.vakata.array_remove_item(i.core.open,t.id),this.set_state(i,r)},a),0),s=!1))}),s&&(de
 lete i.core.open,this.set_state(i,r)),!1):(delete i.core.open,this.set_state(i,r),!1);if(i.core.scroll)return i.core.scroll&&i.core.scroll.left!==t&&this.element.scrollLeft(i.core.scroll.left),i.core.scroll&&i.core.scroll.top!==t&&this.element.scrollTop(i.core.scroll.top),delete i.core.scroll,this.set_state(i,r),!1;if(i.core.selected)return d=this,this.deselect_all(),e.each(i.core.selected,function(e,t){d.select_node(t)}),delete i.core.selected,this.set_state(i,r),!1;if(e.isEmptyObject(i.core))return delete i.core,this.set_state(i,r),!1}return e.isEmptyObject(i)?(i=null,r&&r.call(this),this.trigger("set_state"),!1):!0}return!1},refresh:function(t,i){this._data.core.state=i===!0?{}:this.get_state(),i&&e.isFunction(i)&&(this._data.core.state=i.call(this,this._data.core.state)),this._cnt=0,this._model.data={"#":{id:"#",parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}}};var r=this.get_container_ul()[0].className;t||(this.element.html("<ul class='"+r+"' role='group'><"+
 "li class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='treeitem' id='j"+this._id+"_loading'><i class='jstree-icon jstree-ocl'></i><"+"a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node("#",function(t,i){i&&(this.get_container_ul()[0].className=r,this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(e.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(t){if(t=this.get_node(t),!t||"#"===t.id)return!1;var i=[],r=[],s=this._data.core.selected.concat([]);r.push(t.id),t.state.opened===!0&&i.push(t.id),this.get_node(t,!0).find(".jstree-open").each(function(){i.push(this.id)}),this._load_nodes(r,e.proxy(function(e){this.open_node(i,!1,0),this.select_node(this._data.core.selected),
 this.trigger("refresh_node",{node:t,nodes:e})},this))},set_id:function(t,i){if(t=this.get_node(t),!t||"#"===t.id)return!1;var r,s,n=this._model.data;for(i=""+i,n[t.parent].children[e.inArray(t.id,n[t.parent].children)]=i,r=0,s=t.parents.length;s>r;r++)n[t.parents[r]].children_d[e.inArray(t.id,n[t.parents[r]].children_d)]=i;for(r=0,s=t.children.length;s>r;r++)n[t.children[r]].parent=i;for(r=0,s=t.children_d.length;s>r;r++)n[t.children_d[r]].parents[e.inArray(t.id,n[t.children_d[r]].parents)]=i;return r=e.inArray(t.id,this._data.core.selected),-1!==r&&(this._data.core.selected[r]=i),r=this.get_node(t.id,!0),r&&r.attr("id",i),delete n[t.id],t.id=i,n[i]=t,!0},get_text:function(e){return e=this.get_node(e),e&&"#"!==e.id?e.text:!1},set_text:function(t,i){var r,s;if(e.isArray(t)){for(t=t.slice(),r=0,s=t.length;s>r;r++)this.set_text(t[r],i);return!0}return t=this.get_node(t),t&&"#"!==t.id?(t.text=i,this.get_node(t,!0).length&&this.redraw_node(t.id),this.trigger("set_text",{obj:t,text:i}),!0
 ):!1},get_json:function(t,i,r){if(t=this.get_node(t||"#"),!t)return!1;i&&i.flat&&!r&&(r=[]);var s={id:t.id,text:t.text,icon:this.get_icon(t),li_attr:e.extend(!0,{},t.li_attr),a_attr:e.extend(!0,{},t.a_attr),state:{},data:i&&i.no_data?!1:e.extend(!0,{},t.data)},n,a;if(i&&i.flat?s.parent=t.parent:s.children=[],!i||!i.no_state)for(n in t.state)t.state.hasOwnProperty(n)&&(s.state[n]=t.state[n]);if(i&&i.no_id&&(delete s.id,s.li_attr&&s.li_attr.id&&delete s.li_attr.id),i&&i.flat&&"#"!==t.id&&r.push(s),!i||!i.no_children)for(n=0,a=t.children.length;a>n;n++)i&&i.flat?this.get_json(t.children[n],i,r):s.children.push(this.get_json(t.children[n],i));return i&&i.flat?r:"#"===t.id?s.children:s},create_node:function(i,r,s,n,a){if(null===i&&(i="#"),i=this.get_node(i),!i)return!1;if(s=s===t?"last":s,!(""+s).match(/^(before|after)$/)&&!a&&!this.is_loaded(i))return this.load_node(i,function(){this.create_node(i,r,s,n,!0)});r||(r={text:this.get_string("New node")}),r.text===t&&(r.text=this.get_string(
 "New node"));var d,o,c,l;switch("#"===i.id&&("before"===s&&(s="first"),"after"===s&&(s="last")),s){case"before":d=this.get_node(i.parent),s=e.inArray(i.id,d.children),i=d;break;case"after":d=this.get_node(i.parent),s=e.inArray(i.id,d.children)+1,i=d;break;case"inside":case"first":s=0;break;case"last":s=i.children.length;break;default:s||(s=0)}if(s>i.children.length&&(s=i.children.length),r.id||(r.id=!0),!this.check("create_node",r,i,s))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(r.id===!0&&delete r.id,r=this._parse_model_from_json(r,i.id,i.parents.concat()),!r)return!1;for(d=this.get_node(r),o=[],o.push(r),o=o.concat(d.children_d),this.trigger("model",{nodes:o,parent:i.id}),i.children_d=i.children_d.concat(o),c=0,l=i.parents.length;l>c;c++)this._model.data[i.parents[c]].children_d=this._model.data[i.parents[c]].children_d.concat(o);for(r=d,d=[],c=0,l=i.children.length;l>c;c++)d[c>=s?c+1:c]=i.children[c];return d[s]=r.id,i.children=d,this.redraw_node(i
 ,!0),n&&n.call(this,this.get_node(r)),this.trigger("create_node",{node:this.get_node(r),parent:i.id,position:s}),r.id},rename_node:function(t,i){var r,s,n;if(e.isArray(t)){for(t=t.slice(),r=0,s=t.length;s>r;r++)this.rename_node(t[r],i);return!0}return t=this.get_node(t),t&&"#"!==t.id?(n=t.text,this.check("rename_node",t,this.get_parent(t),i)?(this.set_text(t,i),this.trigger("rename_node",{node:t,text:i,old:n}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1)):!1},delete_node:function(t){var i,r,s,n,a,d,o,c,l,h;if(e.isArray(t)){for(t=t.slice(),i=0,r=t.length;r>i;i++)this.delete_node(t[i]);return!0}if(t=this.get_node(t),!t||"#"===t.id)return!1;if(s=this.get_node(t.parent),n=e.inArray(t.id,s.children),h=!1,!this.check("delete_node",t,s,n))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(-1!==n&&(s.children=e.vakata.array_remove(s.children,n)),a=t.children_d.concat([]),a.push(t.id),c=0,l=a.length;l>c;c++){for(d=0,o=t.parents.length;o>d;
 d++)n=e.inArray(a[c],this._model.data[t.parents[d]].children_d),-1!==n&&(this._model.data[t.parents[d]].children_d=e.vakata.array_remove(this._model.data[t.parents[d]].children_d,n));this._model.data[a[c]].state.selected&&(h=!0,n=e.inArray(a[c],this._data.core.selected),-1!==n&&(this._data.core.selected=e.vakata.array_remove(this._data.core.selected,n)))}for(this.trigger("delete_node",{node:t,parent:s.id}),h&&this.trigger("changed",{action:"delete_node",node:t,selected:this._data.core.selected,parent:s.id}),c=0,l=a.length;l>c;c++)delete this._model.data[a[c]];return this.redraw_node(s,!0),!0},check:function(t,i,r,s,n){i=i&&i.id?i:this.get_node(i),r=r&&r.id?r:this.get_node(r);var a=t.match(/^move_node|copy_node|create_node$/i)?r:i,d=this.settings.core.check_callback;return"move_node"!==t&&"copy_node"!==t||n&&n.is_multi||i.id!==r.id&&e.inArray(i.id,r.children)!==s&&-1===e.inArray(r.id,i.children_d)?(a&&a.data&&(a=a.data),a&&a.functions&&(a.functions[t]===!1||a.functions[t]===!0)?(a.fu
 nctions[t]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+t,data:JSON.stringify({chk:t,pos:s,obj:i&&i.id?i.id:!1,par:r&&r.id?r.id:!1})}),a.functions[t]):d===!1||e.isFunction(d)&&d.call(this,t,i,r,s,n)===!1||d&&d[t]===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+t,data:JSON.stringify({chk:t,pos:s,obj:i&&i.id?i.id:!1,par:r&&r.id?r.id:!1})},!1):!0):(this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:t,pos:s,obj:i&&i.id?i.id:!1,par:r&&r.id?r.id:!1})},!1)},last_error:function(){return this._data.core.last_error},move_node:function(i,r,s,n,a,d){var o,c,l,h,_,u,g,f,p,m,v,j,k,y;if(r=this.get_node(r),s=s===t?0:s,!r)return!1;if(!(""+s).match(/^(before|after)$/)&&!a&&!this.is_loaded(r))return this.load_node(r,function(){this.move_node(i,r,s,n,!0)});if(e.isAr
 ray(i)){for(i=i.slice(),o=0,c=i.length;c>o;o++)this.move_node(i[o],r,s,n,a,!0)&&(r=i[o],s="after");return this.redraw(),!0}if(i=i&&i.id?i:this.get_node(i),!i||"#"===i.id)return!1;if(l=""+(i.parent||"#"),_=(""+s).match(/^(before|after)$/)&&"#"!==r.id?this.get_node(r.parent):r,u=i.instance?i.instance:this._model.data[i.id]?this:e.jstree.reference(i.id),g=!u||!u._id||this._id!==u._id,h=u&&u._id&&l&&u._model.data[l]&&u._model.data[l].children?e.inArray(i.id,u._model.data[l].children):-1,g)return this.copy_node(i,r,s,n,a)?(u&&u.delete_node(i),!0):!1;switch("#"===r.id&&("before"===s&&(s="first"),"after"===s&&(s="last")),s){case"before":s=e.inArray(r.id,_.children);break;case"after":s=e.inArray(r.id,_.children)+1;break;case"inside":case"first":s=0;break;case"last":s=_.children.length;break;default:s||(s=0)}if(s>_.children.length&&(s=_.children.length),!this.check("move_node",i,_,s,{core:!0,is_multi:u&&u._id&&u._id!==this._id,is_foreign:!u||!u._id}))return this.settings.core.error.call(this
 ,this._data.core.last_error),!1;if(i.parent===_.id){for(f=_.children.concat(),p=e.inArray(i.id,f),-1!==p&&(f=e.vakata.array_remove(f,p),s>p&&s--),p=[],m=0,v=f.length;v>m;m++)p[m>=s?m+1:m]=f[m];p[s]=i.id,_.children=p,this._node_changed(_.id),this.redraw("#"===_.id)}else{for(p=i.children_d.concat(),p.push(i.id),m=0,v=i.parents.length;v>m;m++){for(f=[],y=u._model.data[i.parents[m]].children_d,j=0,k=y.length;k>j;j++)-1===e.inArray(y[j],p)&&f.push(y[j]);u._model.data[i.parents[m]].children_d=f}for(u._model.data[l].children=e.vakata.array_remove_item(u._model.data[l].children,i.id),m=0,v=_.parents.length;v>m;m++)this._model.data[_.parents[m]].children_d=this._model.data[_.parents[m]].children_d.concat(p);for(f=[],m=0,v=_.children.length;v>m;m++)f[m>=s?m+1:m]=_.children[m];for(f[s]=i.id,_.children=f,_.children_d.push(i.id),_.children_d=_.children_d.concat(i.children_d),i.parent=_.id,p=_.parents.concat(),p.unshift(_.id),y=i.parents.length,i.parents=p,p=p.concat(),m=0,v=i.children_d.length;v
 >m;m++)this._model.data[i.children_d[m]].parents=this._model.data[i.children_d[m]].parents.slice(0,-1*y),Array.prototype.push.apply(this._model.data[i.children_d[m]].parents,p);("#"===l||"#"===_.id)&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(l),this._node_changed(_.id)),d||this.redraw()}return n&&n.call(this,i,_,s),this.trigger("move_node",{node:i,parent:_.id,position:s,old_parent:l,old_position:h,is_multi:u&&u._id&&u._id!==this._id,is_foreign:!u||!u._id,old_instance:u,new_instance:this}),!0},copy_node:function(i,r,s,n,a,d){var o,c,l,h,_,u,g,f,p,m,v;if(r=this.get_node(r),s=s===t?0:s,!r)return!1;if(!(""+s).match(/^(before|after)$/)&&!a&&!this.is_loaded(r))return this.load_node(r,function(){this.copy_node(i,r,s,n,!0)});if(e.isArray(i)){for(i=i.slice(),o=0,c=i.length;c>o;o++)h=this.copy_node(i[o],r,s,n,a,!0),h&&(r=h,s="after");return this.redraw(),!0}if(i=i&&i.id?i:this.get_node(i),!i||"#"===i.id)return!1;switch(f=""+(i.parent||"#"),p=(""+s).
 match(/^(before|after)$/)&&"#"!==r.id?this.get_node(r.parent):r,m=i.instance?i.instance:this._model.data[i.id]?this:e.jstree.reference(i.id),v=!m||!m._id||this._id!==m._id,"#"===r.id&&("before"===s&&(s="first"),"after"===s&&(s="last")),s){case"before":s=e.inArray(r.id,p.children);break;case"after":s=e.inArray(r.id,p.children)+1;break;case"inside":case"first":s=0;break;case"last":s=p.children.length;break;default:s||(s=0)}if(s>p.children.length&&(s=p.children.length),!this.check("copy_node",i,p,s,{core:!0,is_multi:m&&m._id&&m._id!==this._id,is_foreign:!m||!m._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(g=m?m.get_json(i,{no_id:!0,no_data:!0,no_state:!0}):i,!g)return!1;if(g.id===!0&&delete g.id,g=this._parse_model_from_json(g,p.id,p.parents.concat()),!g)return!1;for(h=this.get_node(g),i&&i.state&&i.state.loaded===!1&&(h.state.loaded=!1),l=[],l.push(g),l=l.concat(h.children_d),this.trigger("model",{nodes:l,parent:p.id}),_=0,u=p.parents.length;u>_;_++
 )this._model.data[p.parents[_]].children_d=this._model.data[p.parents[_]].children_d.concat(l);for(l=[],_=0,u=p.children.length;u>_;_++)l[_>=s?_+1:_]=p.children[_];return l[s]=h.id,p.children=l,p.children_d.push(h.id),p.children_d=p.children_d.concat(h.children_d),"#"===p.id&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(p.id),d||this.redraw("#"===p.id),n&&n.call(this,h,p,s),this.trigger("copy_node",{node:h,original:i,parent:p.id,position:s,old_parent:f,old_position:m&&m._id&&f&&m._model.data[f]&&m._model.data[f].children?e.inArray(i.id,m._model.data[f].children):-1,is_multi:m&&m._id&&m._id!==this._id,is_foreign:!m||!m._id,old_instance:m,new_instance:this}),h.id},cut:function(i){if(i||(i=this._data.core.selected.concat()),e.isArray(i)||(i=[i]),!i.length)return!1;var a=[],d,o,c;for(o=0,c=i.length;c>o;o++)d=this.get_node(i[o]),d&&d.id&&"#"!==d.id&&a.push(d);return a.length?(r=a,n=this,s="move_node",this.trigger("cut",{node:i}),t):!1},copy:functio
 n(i){if(i||(i=this._data.core.selected.concat()),e.isArray(i)||(i=[i]),!i.length)return!1;var a=[],d,o,c;for(o=0,c=i.length;c>o;o++)d=this.get_node(i[o]),d&&d.id&&"#"!==d.id&&a.push(d);return a.length?(r=a,n=this,s="copy_node",this.trigger("copy",{node:i}),t):!1},get_buffer:function(){return{mode:s,node:r,inst:n}},can_paste:function(){return s!==!1&&r!==!1},paste:function(e,i){return e=this.get_node(e),e&&s&&s.match(/^(copy_node|move_node)$/)&&r?(this[s](r,e,i)&&this.trigger("paste",{parent:e.id,node:r,mode:s}),r=!1,s=!1,n=!1,t):!1},clear_buffer:function(){r=!1,s=!1,n=!1,this.trigger("clear_buffer")},edit:function(i,r){if(i=this.get_node(i),!i)return!1;if(this.settings.core.check_callback===!1)return this._data.core.last_error={error:"check",plugin:"core",id:"core_07",reason:"Could not edit node because of check_callback"},this.settings.core.error.call(this,this._data.core.last_error),!1;r="string"==typeof r?r:i.text,this.set_text(i,""),i=this._open_to(i);var s=this._data.core.rtl,n
 =this.element.width(),a=i.children(".jstree-anchor"),d=e("<span>"),o=r,c=e("<div />",{css:{position:"absolute",top:"-200px",left:s?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),l=e("<input />",{value:o,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:e.proxy(function(){var t=d.children(".jstree-rename-input"),r=t.val();""===r&&(r=o),c.remove(),d.replaceWith(a),d.remove(),this.set_text(i,o),this.rename_node(i,e("<div></div>").text(r)[this.settings.core.force_text?"text":"html"]())===!1&&this.set_text(i,o)},this),keydown:function(e){var t=e.which;27===t&&(this.value=o),(27===t||13===t||37===t||38===t||39===t||40===t||32===t)&&e.stopImmediatePropagation(),(27===t||13===t)&&(e.preventDefault(),this.blur())},click:function(e){e.stopImmediatePropagation()},mousedown:function(e){e.stopImmediatePropagation()},k
 eyup:function(e){l.width(Math.min(c.text("pW"+this.value).width(),n))},keypress:function(e){return 13===e.which?!1:t}}),h={fontFamily:a.css("fontFamily")||"",fontSize:a.css("fontSize")||"",fontWeight:a.css("fontWeight")||"",fontStyle:a.css("fontStyle")||"",fontStretch:a.css("fontStretch")||"",fontVariant:a.css("fontVariant")||"",letterSpacing:a.css("letterSpacing")||"",wordSpacing:a.css("wordSpacing")||""};d.attr("class",a.attr("class")).append(a.contents().clone()).append(l),a.replaceWith(d),c.css(h),l.css(h).width(Math.min(c.text("pW"+l[0].value).width(),n))[0].select()},set_theme:function(t,i){if(!t)return!1;if(i===!0){var r=this.settings.core.themes.dir;r||(r=e.jstree.path+"/themes"),i=r+"/"+t+"/style.css"}i&&-1===e.inArray(i,a)&&(e("head").append('<link rel="stylesheet" href="'+i+'" type="text/css" />'),a.push(i)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=t,this.element.addClass("jstree-"+t),this.ele
 ment[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+t+"-responsive"),this.trigger("set_theme",{theme:t})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(e){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=e,e&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots")},hide_dots:function
 (){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},set_icon:function(t,i){var r,s,n,a;if(e.isArray(t)){for(t=t.slice(),r=0,s=t.length;s>r;r++)this.set_icon(t[r],i);return!0}return t=this.get_node(t),t&&"#"!==t.id?(a=t.icon,t.icon=i,n=this.get_node(t,!0).children(".jstree-anchor").children(".jstree-themeicon"),i===!1?this.hide_icon(t):i===!0?n.removeClass("jstree-themeicon-custom "+a).css("background","").removeAttr("rel"):-1===i.indexOf("/")&&-1===i.indexOf(".")?(n.removeClass(a).css("background",""),n.addClass(i+" jstree-themeicon-custom").attr("rel",i)):(n.remo
 veClass(a).css("background",""),n.addClass("jstree-themeicon-custom").css("background","url('"+i+"') center center no-repeat").attr("rel",i)),!0):!1},get_icon:function(e){return e=this.get_node(e),e&&"#"!==e.id?e.icon:!1},hide_icon:function(t){var i,r;if(e.isArray(t)){for(t=t.slice(),i=0,r=t.length;r>i;i++)this.hide_icon(t[i]);return!0}return t=this.get_node(t),t&&"#"!==t?(t.icon=!1,this.get_node(t,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0):!1},show_icon:function(t){var i,r,s;if(e.isArray(t)){for(t=t.slice(),i=0,r=t.length;r>i;i++)this.show_icon(t[i]);return!0}return t=this.get_node(t),t&&"#"!==t?(s=this.get_node(t,!0),t.icon=s.length?s.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"):!0,t.icon||(t.icon=!0),s.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0):!1}},e.vakata={},e.vakata.attributes=function(t,i){t=e(t)[0];var r=i?{}:[];return t&&t.attributes&&e
 .each(t.attributes,function(t,s){-1===e.inArray(s.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==s.value&&""!==e.trim(s.value)&&(i?r[s.name]=s.value:r.push(s.name))}),r},e.vakata.array_unique=function(e){var t=[],i,r,s;for(i=0,s=e.length;s>i;i++){for(r=0;i>=r;r++)if(e[i]===e[r])break;r===i&&t.push(e[i])}return t},e.vakata.array_remove=function(e,t,i){var r=e.slice((i||t)+1||e.length);return e.length=0>t?e.length+t:t,e.push.apply(e,r),e},e.vakata.array_remove_item=function(t,i){var r=e.inArray(i,t);return-1!==r?e.vakata.array_remove(t,r):t};var _=document.createElement("I");_.className="jstree-icon jstree-checkbox",_.setAttribute("role","presentation"),e.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0},e.jstree.plugins.checkbox=function(i,r){this.bind=function(){r.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settin
 gs.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",e.proxy(function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")},this)).on("loading.jstree",e.proxy(function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()},this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",e.proxy(function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(e.proxy(this._undetermined,this),50)},this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",e.proxy(function(e,t){var i=this._model.data,r=i[t.parent],s=t.nodes,
 n,a;for(n=0,a=s.length;a>n;n++)i[s[n]].state.checked=i[s[n]].original&&i[s[n]].original.state&&i[s[n]].original.state.checked,i[s[n]].state.checked&&this._data.checkbox.selected.push(s[n])},this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",e.proxy(function(t,i){var r=this._model.data,s=r[i.parent],n=i.nodes,a=[],d,o,c,l,h,_,u=this.settings.checkbox.cascade,g=this.settings.checkbox.tie_selection;if(-1!==u.indexOf("down"))if(s.state[g?"selected":"checked"]){for(o=0,c=n.length;c>o;o++)r[n[o]].state[g?"selected":"checked"]=!0;this._data[g?"core":"checkbox"].selected=this._data[g?"core":"checkbox"].selected.concat(n)}else for(o=0,c=n.length;c>o;o++)if(r[n[o]].state[g?"selected":"checked"]){for(l=0,h=r[n[o]].children_d.length;h>l;l++)r[r[n[o]].children_d[l]].state[g?"selected":"checked"]=!0;this._data[g?"core":"checkbox"].selected=this._data[g?"core":"checkbox"].selected.concat(r[n[o]].children_d
 )}if(-1!==u.indexOf("up")){for(o=0,c=s.children_d.length;c>o;o++)r[s.children_d[o]].children.length||a.push(r[s.children_d[o]].parent);for(a=e.vakata.array_unique(a),l=0,h=a.length;h>l;l++){s=r[a[l]];while(s&&"#"!==s.id){for(d=0,o=0,c=s.children.length;c>o;o++)d+=r[s.children[o]].state[g?"selected":"checked"];if(d!==c)break;s.state[g?"selected":"checked"]=!0,this._data[g?"core":"checkbox"].selected.push(s.id),_=this.get_node(s,!0),_&&_.length&&_.attr("aria-selected",!0).children(".jstree-anchor").addClass(g?"jstree-clicked":"jstree-checked"),s=this.get_node(s.parent)}}}this._data[g?"core":"checkbox"].selected=e.vakata.array_unique(this._data[g?"core":"checkbox"].selected)},this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",e.proxy(function(t,i){var r=i.node,s=this._model.data,n=this.get_node(r.parent),a=this.get_node(r,!0),d,o,c,l,h=this.settings.checkbox.cascade,_=this.settings.checkbox.tie_selection;if(-1!==h.indexOf("down"))for(this._data[_?"c
 ore":"checkbox"].selected=e.vakata.array_unique(this._data[_?"core":"checkbox"].selected.concat(r.children_d)),d=0,o=r.children_d.length;o>d;d++)l=s[r.children_d[d]],l.state[_?"selected":"checked"]=!0,l&&l.original&&l.original.state&&l.original.state.undetermined&&(l.original.state.undetermined=!1);
-if(-1!==h.indexOf("up"))while(n&&"#"!==n.id){for(c=0,d=0,o=n.children.length;o>d;d++)c+=s[n.children[d]].state[_?"selected":"checked"];if(c!==o)break;n.state[_?"selected":"checked"]=!0,this._data[_?"core":"checkbox"].selected.push(n.id),l=this.get_node(n,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(_?"jstree-clicked":"jstree-checked"),n=this.get_node(n.parent)}-1!==h.indexOf("down")&&a.length&&a.find(".jstree-anchor").addClass(_?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!0)},this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",e.proxy(function(e,t){var i=this.get_node("#"),r=this._model.data,s,n,a;for(s=0,n=i.children_d.length;n>s;s++)a=r[i.children_d[s]],a&&a.original&&a.original.state&&a.original.state.undetermined&&(a.original.state.undetermined=!1)},this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",e.proxy(function(t,i){var r=i.node,s=this.get_
 node(r,!0),n,a,d,o=this.settings.checkbox.cascade,c=this.settings.checkbox.tie_selection;if(r&&r.original&&r.original.state&&r.original.state.undetermined&&(r.original.state.undetermined=!1),-1!==o.indexOf("down"))for(n=0,a=r.children_d.length;a>n;n++)d=this._model.data[r.children_d[n]],d.state[c?"selected":"checked"]=!1,d&&d.original&&d.original.state&&d.original.state.undetermined&&(d.original.state.undetermined=!1);if(-1!==o.indexOf("up"))for(n=0,a=r.parents.length;a>n;n++)d=this._model.data[r.parents[n]],d.state[c?"selected":"checked"]=!1,d&&d.original&&d.original.state&&d.original.state.undetermined&&(d.original.state.undetermined=!1),d=this.get_node(r.parents[n],!0),d&&d.length&&d.attr("aria-selected",!1).children(".jstree-anchor").removeClass(c?"jstree-clicked":"jstree-checked");for(d=[],n=0,a=this._data[c?"core":"checkbox"].selected.length;a>n;n++)-1!==o.indexOf("down")&&-1!==e.inArray(this._data[c?"core":"checkbox"].selected[n],r.children_d)||-1!==o.indexOf("up")&&-1!==e.in
 Array(this._data[c?"core":"checkbox"].selected[n],r.parents)||d.push(this._data[c?"core":"checkbox"].selected[n]);this._data[c?"core":"checkbox"].selected=e.vakata.array_unique(d),-1!==o.indexOf("down")&&s.length&&s.find(".jstree-anchor").removeClass(c?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!1)},this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",e.proxy(function(e,t){var i=this.get_node(t.parent),r=this._model.data,s,n,a,d,o=this.settings.checkbox.tie_selection;while(i&&"#"!==i.id){for(a=0,s=0,n=i.children.length;n>s;s++)a+=r[i.children[s]].state[o?"selected":"checked"];if(a!==n)break;i.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(i.id),d=this.get_node(i,!0),d&&d.length&&d.attr("aria-selected",!0).children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),i=this.get_node(i.parent)}},this)).on("move_node.jstree",e.proxy(function(t,i){var r=i.is_multi,s=i.old_parent,n=
 this.get_node(i.parent),a=this._model.data,d,o,c,l,h,_=this.settings.checkbox.tie_selection;if(!r){d=this.get_node(s);while(d&&"#"!==d.id){for(o=0,c=0,l=d.children.length;l>c;c++)o+=a[d.children[c]].state[_?"selected":"checked"];if(o!==l)break;d.state[_?"selected":"checked"]=!0,this._data[_?"core":"checkbox"].selected.push(d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!0).children(".jstree-anchor").addClass(_?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}}d=n;while(d&&"#"!==d.id){for(o=0,c=0,l=d.children.length;l>c;c++)o+=a[d.children[c]].state[_?"selected":"checked"];if(o===l)d.state[_?"selected":"checked"]||(d.state[_?"selected":"checked"]=!0,this._data[_?"core":"checkbox"].selected.push(d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!0).children(".jstree-anchor").addClass(_?"jstree-clicked":"jstree-checked"));else{if(!d.state[_?"selected":"checked"])break;d.state[_?"selected":"checked"]=!1,this._data[_?"core":"checkbox"].selected=
 e.vakata.array_remove_item(this._data[_?"core":"checkbox"].selected,d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!1).children(".jstree-anchor").removeClass(_?"jstree-clicked":"jstree-checked")}d=this.get_node(d.parent)}},this))},this._undetermined=function(){var t,i,r=this._model.data,s=this.settings.checkbox.tie_selection,n=this._data[s?"core":"checkbox"].selected,a=[],d=this;for(t=0,i=n.length;i>t;t++)r[n[t]]&&r[n[t]].parents&&(a=a.concat(r[n[t]].parents));for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var e=d.get_node(this),s;if(e.state.loaded)for(t=0,i=e.children_d.length;i>t;t++)s=r[e.children_d[t]],!s.state.loaded&&s.original&&s.original.state&&s.original.state.undetermined&&s.original.state.undetermined===!0&&(a.push(s.id),a=a.concat(s.parents));else e.original&&e.original.state&&e.original.state.undetermined&&e.original.state.undetermined===!0&&(a.push(e.id),a=a.concat(e.parents))}),a=e.vakata.array_unique(a),a=e.vaka
 ta.array_remove_item(a,"#"),this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),t=0,i=a.length;i>t;t++)r[a[t]].state[s?"selected":"checked"]||(n=this.get_node(a[t],!0),n&&n.length&&n.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined"))},this.redraw_node=function(t,i,s,n){if(t=r.redraw_node.apply(this,arguments)){var a,d,o=null;for(a=0,d=t.childNodes.length;d>a;a++)if(t.childNodes[a]&&t.childNodes[a].className&&-1!==t.childNodes[a].className.indexOf("jstree-anchor")){o=t.childNodes[a];break}o&&(!this.settings.checkbox.tie_selection&&this._model.data[t.id].state.checked&&(o.className+=" jstree-checked"),o.insertBefore(_.cloneNode(!1),o.childNodes[0]))}return s||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(e.proxy(this._undetermined,this),50)),t},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!
 0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(t){t=this.get_node(t);var i=this.settings.checkbox.cascade,r,s,n=this.settings.checkbox.tie_selection,a=this._data[n?"core":"checkbox"].selected,d=this._model.data;if(!t||t.state[n?"selected":"checked"]===!0||-1===i.indexOf("undetermined")||-1===i.indexOf("down")&&-1===i.indexOf("up"))return!1;if(!t.state.loaded&&t.original.state.undetermined===!0)return!0;for(r=0,s=t.children_d.length;s>r;r++)if(-1!==e.inArray(t.children_d[r],a)||!d[t.children_d[r]].state.loaded&&d[t.children_d[r]].original.state.undetermined)return!0;return!1},this.activate_node=function(i,s){return this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||e(s.target).h
 asClass("jstree-checkbox"))&&(s.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!e(s.target).hasClass("jstree-checkbox")?r.activate_node.call(this,i,s):(this.is_checked(i)?this.uncheck_node(i,s):this.check_node(i,s),this.trigger("activate_node",{node:this.get_node(i)}),t)},this.check_node=function(i,r){if(this.settings.checkbox.tie_selection)return this.select_node(i,!1,!0,r);var s,n,a,d;if(e.isArray(i)){for(i=i.slice(),n=0,a=i.length;a>n;n++)this.check_node(i[n],r);return!0}return i=this.get_node(i),i&&"#"!==i.id?(s=this.get_node(i,!0),i.state.checked||(i.state.checked=!0,this._data.checkbox.selected.push(i.id),s&&s.length&&s.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:i,selected:this._data.checkbox.selected,event:r})),t):!1},this.uncheck_node=function(i,r){if(this.settings.checkbox.tie_selection)return this.deselect_node(i,!1,r);var s,n,a;if(e.isArray(i)){for(i=i.slice(),s=0,n=i.length;n>s;s++)this.unc
 heck_node(i[s],r);return!0}return i=this.get_node(i),i&&"#"!==i.id?(a=this.get_node(i,!0),i.state.checked&&(i.state.checked=!1,this._data.checkbox.selected=e.vakata.array_remove_item(this._data.checkbox.selected,i.id),a.length&&a.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:i,selected:this._data.checkbox.selected,event:r})),t):!1},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var e=this._data.checkbox.selected.concat([]),t,i;for(this._data.checkbox.selected=this._model.data["#"].children_d.concat(),t=0,i=this._data.checkbox.selected.length;i>t;t++)this._model.data[this._data.checkbox.selected[t]]&&(this._model.data[this._data.checkbox.selected[t]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var e=this._data.checkbox.selected.concat([]),t,i;for(
 t=0,i=this._data.checkbox.selected.length;i>t;t++)this._model.data[this._data.checkbox.selected[t]]&&(this._model.data[this._data.checkbox.selected[t]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:e})},this.is_checked=function(e){return this.settings.checkbox.tie_selection?this.is_selected(e):(e=this.get_node(e),e&&"#"!==e.id?e.state.checked:!1)},this.get_checked=function(t){return this.settings.checkbox.tie_selection?this.get_selected(t):t?e.map(this._data.checkbox.selected,e.proxy(function(e){return this.get_node(e)},this)):this._data.checkbox.selected},this.get_top_checked=function(t){if(this.settings.checkbox.tie_selection)return this.get_top_selected(t);var i=this.get_checked(!0),r={},s,n,a,d;for(s=0,n=i.length;n>s;s++)r[i[s].id]=i[s];for(s=0,n=i.length;n>s;s++)for(a=0,d=i[s].children_d.length;d>a;a++)r[i[s].children_d[a]]&&delete r[i[s]
 .children_d[a]];i=[];for(s in r)r.hasOwnProperty(s)&&i.push(s);return t?e.map(i,e.proxy(function(e){return this.get_node(e)},this)):i},this.get_bottom_checked=function(t){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(t);var i=this.get_checked(!0),r=[],s,n;for(s=0,n=i.length;n>s;s++)i[s].children.length||r.push(i[s].id);return t?e.map(r,e.proxy(function(e){return this.get_node(e)},this)):r}},e.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(t,i){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(t){var i=e.jstree.reference(t.reference),r=i.get_node(t.reference);i.create_node(r,{},"last",function(e){setTimeout(function(){i.edit(e)},0)})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(t){var i=e.jstree.reference(t.reference),r=i.get_node(t.reference);i.edit(r)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete"
 ,action:function(t){var i=e.jstree.reference(t.reference),r=i.get_node(t.reference);i.is_selected(r)?i.delete_node(i.get_selected()):i.delete_node(r)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(t){var i=e.jstree.reference(t.reference),r=i.get_node(t.reference);i.is_selected(r)?i.cut(i.get_selected()):i.cut(r)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(t){var i=e.jstree.reference(t.reference),r=i.get_node(t.reference);i.is_selected(r)?i.copy(i.get_selected()):i.copy(r)}},paste:{separator_before:!1,icon:!1,_disabled:function(t){return!e.jstree.reference(t.reference).can_paste()},separator_after:!1,label:"Paste",action:function(t){var i=e.jstree.reference(t.reference),r=i.get_node(t.reference);i.paste(r)}}}}}}},e.jstree.plugins.contextmenu=function(i,r){this.bind=function(){r.bind.call(this);var t=0;this.element.on("contextmenu.jstre
 e",".jstree-anchor",e.proxy(function(e){e.preventDefault(),t=e.ctrlKey?e.timeStamp:0,this.is_loading(e.currentTarget)||this.show_contextmenu(e.currentTarget,e.pageX,e.pageY,e)},this)).on("click.jstree",".jstree-anchor",e.proxy(function(i){this._data.contextmenu.visible&&(!t||i.timeStamp-t>250)&&e.vakata.context.hide()},this)),e(document).on("context_hide.vakata.jstree",e.proxy(function(){this._data.contextmenu.visible=!1},this))},this.teardown=function(){this._data.contextmenu.visible&&e.vakata.context.hide(),r.teardown.call(this)},this.show_contextmenu=function(i,r,s,n){if(i=this.get_node(i),!i||"#"===i.id)return!1;var a=this.settings.contextmenu,d=this.get_node(i,!0),o=d.children(".jstree-anchor"),c=!1,l=!1;(a.show_at_node||r===t||s===t)&&(c=o.offset(),r=c.left,s=c.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(i)&&this.activate_node(i,n),l=a.items,e.isFunction(l)&&(l=l.call(this,i,e.proxy(function(e){this._show_contextmenu(i,r,s,e)},this))
 ),e.isPlainObject(l)&&this._show_contextmenu(i,r,s,l)},this._show_contextmenu=function(t,i,r,s){var n=this.get_node(t,!0),a=n.children(".jstree-anchor");e(document).one("context_show.vakata.jstree",e.proxy(function(t,i){var r="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";e(i.element).addClass(r)},this)),this._data.contextmenu.visible=!0,e.vakata.context.show(a,{x:i,y:r},s),this.trigger("show_contextmenu",{node:t,x:i,y:r})}},function(e){var i=!1,r={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};e.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(t){e(document).triggerHandler("context_"+t+".vakata",{reference:r.reference,element:r.element,position:{x:r.position_x,y:r.position_y}})},_execute:function(t){return t=r.items[t],t&&(!t._disabled||e.isFunction(t._disabled)&&!t._disabled({item:t,reference:r.reference,element:r.element}))&&t.action?t.action.call(null,{item:t,reference:r.reference,element:r.element,positio
 n:{x:r.position_x,y:r.position_y}}):!1},_parse:function(i,s){if(!i)return!1;s||(r.html="",r.items=[]);var n="",a=!1,d;return s&&(n+="<ul>"),e.each(i,function(i,s){return s?(r.items.push(s),!a&&s.separator_before&&(n+="<li class='vakata-context-separator'><a href='#' "+(e.vakata.context.settings.icons?"":'style="margin-left:0px;"')+">&#160;<"+"/a><"+"/li>"),a=!1,n+="<li class='"+(s._class||"")+(s._disabled===!0||e.isFunction(s._disabled)&&s._disabled({item:s,reference:r.reference,element:r.element})?" vakata-contextmenu-disabled ":"")+"' "+(s.shortcut?" data-shortcut='"+s.shortcut+"' ":"")+">",n+="<a href='#' rel='"+(r.items.length-1)+"'>",e.vakata.context.settings.icons&&(n+="<i ",s.icon&&(n+=-1!==s.icon.indexOf("/")||-1!==s.icon.indexOf(".")?" style='background:url(\""+s.icon+"\") center center no-repeat' ":" class='"+s.icon+"' "),n+="></i><span class='vakata-contextmenu-sep'>&#160;</span>"),n+=(e.isFunction(s.label)?s.label({item:i,reference:r.reference,element:r.element}):s.label
 )+(s.shortcut?' <span class="vakata-contextmenu-shortcut vakata-contextmenu-shortcut-'+s.shortcut+'">'+(s.shortcut_label||"")+"</span>":"")+"<"+"/a>",s.submenu&&(d=e.vakata.context._parse(s.submenu,!0),d&&(n+=d)),n+="</li>",s.separator_after&&(n+="<li class='vakata-context-separator'><a href='#' "+(e.vakata.context.settings.icons?"":'style="margin-left:0px;"')+">&#160;<"+"/a><"+"/li>",a=!0),t):!0}),n=n.replace(/<li class\='vakata-context-separator'\><\/li\>$/,""),s&&(n+="</ul>"),s||(r.html=n,e.vakata.context._trigger("parse")),n.length>10?n:!1},_show_submenu:function(t){if(t=e(t),t.length&&t.children("ul").length){var r=t.children("ul"),s=t.offset().left+t.outerWidth(),n=t.offset().top,a=r.width(),d=r.height(),o=e(window).width()+e(window).scrollLeft(),c=e(window).height()+e(window).scrollTop();i?t[0>s-(a+10+t.outerWidth())?"addClass":"removeClass"]("vakata-context-left"):t[s+a+10>o?"addClass":"removeClass"]("vakata-context-right"),n+d+10>c&&r.css("bottom","-1px"),r.show()}},show:fu
 nction(t,s,n){var a,d,o,c,l,h,_,u,g=!0;switch(r.element&&r.element.length&&r.element.width(""),g){case!s&&!t:return!1;case!!s&&!!t:r.reference=t,r.position_x=s.x,r.position_y=s.y;break;case!s&&!!t:r.reference=t,a=t.offset(),r.position_x=a.left+t.outerHeight(),r.position_y=a.top;break;case!!s&&!t:r.position_x=s.x,r.position_y=s.y}t&&!n&&e(t).data("vakata_contextmenu")&&(n=e(t).data("vakata_contextmenu")),e.vakata.context._parse(n)&&r.element.html(r.html),r.items.length&&(r.element.appendTo("body"),d=r.element,o=r.position_x,c=r.position_y,l=d.width(),h=d.height(),_=e(window).width()+e(window).scrollLeft(),u=e(window).height()+e(window).scrollTop(),i&&(o-=d.outerWidth(),e(window).scrollLeft()+20>o&&(o=e(window).scrollLeft()+20)),o+l+20>_&&(o=_-(l+20)),c+h+20>u&&(c=u-(h+20)),r.element.css({left:o,top:c}).show().find("a").first().focus().parent().addClass("vakata-context-hover"),r.is_visible=!0,e.vakata.context._trigger("show"))},hide:function(){r.is_visible&&(r.element.hide().find("ul"
 ).hide().end().find(":focus").blur().end().detach(),r.is_visible=!1,e.vakata.context._trigger("hide"))}},e(function(){i="rtl"===e("body").css("direction");var t=!1;r.element=e("<ul class='vakata-context'></ul>"),r.element.on("mouseenter","li",function(i){i.stopImmediatePropagation(),e.contains(this,i.relatedTarget)||(t&&clearTimeout(t),r.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),e(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),e.vakata.context._show_submenu(this))}).on("mouseleave","li",function(t){e.contains(this,t.relatedTarget)||e(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(i){e(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),e.vakata.context.settings.hide_onmouseleave&&(t=setTimeout(function(t){return function(){e.vakata.context.hide()}}(this),e.vakata.context.settings.hide_o
 nmouseleave))}).on("click","a",function(t){t.preventDefault(),e(this).blur().parent().hasClass("vakata-context-disabled")||e.vakata.context._execute(e(this).attr("rel"))===!1||e.vakata.context.hide()}).on("keydown","a",function(t){var i=null;switch(t.which){case 13:case 32:t.type="mouseup",t.preventDefault(),e(t.currentTarget).trigger(t);break;case 37:r.is_visible&&(r.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(),t.stopImmediatePropagation(),t.preventDefault());break;case 38:r.is_visible&&(i=r.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),i.length||(i=r.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),i.addClass("vakata-context-hover").children("a").focus(),t.stopImmediatePropaga
 tion(),t.preventDefault());break;case 39:r.is_visible&&(r.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(),t.stopImmediatePropagation(),t.preventDefault());break;case 40:r.is_visible&&(i=r.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),i.length||(i=r.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),i.addClass("vakata-context-hover").children("a").focus(),t.stopImmediatePropagation(),t.preventDefault());break;case 27:e.vakata.context.hide(),t.preventDefault();break;default:}}).on("keydown",function(e){e.preventDefault();var t=r.element.find(".vakata-contextmenu-shortcut-"+e.which).parent();t.parent().not(".vakata-context-disabled")&&t.click()}),e(document).
 on("mousedown.vakata.jstree",function(t){r.is_visible&&!e.contains(r.element[0],t.target)&&e.vakata.context.hide()}).on("context_show.vakata.jstree",function(e,t){r.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),i&&r.element.addClass("vakata-context-rtl").css("direction","rtl"),r.element.find("ul").hide().end()})})}(e),e.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0},e.jstree.plugins.dnd=function(i,r){this.bind=function(){r.bind.call(this),this.element.on("mousedown.jstree touchstart.jstree",".jstree-anchor",e.proxy(function(i){var r=this.get_node(i.target),s=this.is_selected(r)?this.get_selected().length:1;return r&&r.id&&"#"!==r.id&&(1===i.which||"touchstart"===i.type)&&(this.settings.dnd.is_draggable===!0||e.isFunction(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,s>1?this.get_selected(!0):[r]))?(this.element.trigger("mousedown.jstree"),e.vakata.dnd.start(i,
 {jstree:!0,origin:this,obj:this.get_node(r,!0),nodes:s>1?this.get_selected():[r.id]},'<div id="jstree-dnd" class="jstree-'+this.get_theme()+" jstree-"+this.get_theme()+"-"+this.get_theme_variant()+" "+(this.settings.core.themes.responsive?" jstree-dnd-responsive":"")+'"><i class="jstree-icon jstree-er"></i>'+(s>1?s+" "+this.get_string("nodes"):this.get_text(i.currentTarget,!0))+'<ins class="jstree-copy" style="display:none;">+</ins></div>')):t},this))}},e(function(){var i=!1,r=!1,s=!1,n=e('<div id="jstree-marker">&#160;</div>').hide();e(document).on("dnd_start.vakata.jstree",function(e,t){i=!1,t&&t.data&&t.data.jstree&&n.appendTo("body")}).on("dnd_move.vakata.jstree",function(a,d){if(s&&clearTimeout(s),d&&d.data&&d.data.jstree&&(!d.event.target.id||"jstree-marker"!==d.event.target.id)){var o=e.jstree.reference(d.event.target),c=!1,l=!1,h=!1,_,u,g,f,p,m,v,j,k,y,x,b,w,C;if(o&&o._data&&o._data.dnd)if(n.attr("class","jstree-"+o.get_theme()+(o.settings.core.themes.responsive?" jstree-dnd
 -responsive":"")),d.helper.children().attr("class","jstree-"+o.get_theme()+" jstree-"+o.get_theme()+"-"+o.get_theme_variant()+" "+(o.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[d.data.origin&&(d.data.origin.settings.dnd.always_copy||d.data.origin.settings.dnd.copy&&(d.event.metaKey||d.event.ctrlKey))?"show":"hide"](),d.event.target!==o.element[0]&&d.event.target!==o.get_container_ul()[0]||0!==o.get_container_ul().children().length){if(c=e(d.event.target).closest(".jstree-anchor"),c&&c.length&&c.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(l=c.offset(),h=d.event.pageY-l.top,g=c.height(),m=g/3>h?["b","i","a"]:h>g-g/3?["a","i","b"]:h>g/2?["i","a","b"]:["i","b","a"],e.each(m,function(a,h){switch(h){case"b":_=l.left-6,u=l.top,f=o.get_parent(c),p=c.parent().index();break;case"i":w=o.settings.dnd.inside_pos,C=o.get_node(c.parent()),_=l.left-2,u=l.top+g/2+1,f=C.id,p="first"===w?0:"last"===w?C.children.length:Math.min(w,C.children
 .length);break;case"a":_=l.left-6,u=l.top+g,f=o.get_parent(c),p=c.parent().index()+1}for(v=!0,j=0,k=d.data.nodes.length;k>j;j++)if(y=d.data.origin&&(d.data.origin.settings.dnd.always_copy||d.data.origin.settings.dnd.copy&&(d.event.metaKey||d.event.ctrlKey))?"copy_node":"move_node",x=p,"move_node"===y&&"a"===h&&d.data.origin&&d.data.origin===o&&f===o.get_parent(d.data.nodes[j])&&(b=o.get_node(f),x>e.inArray(d.data.nodes[j],b.children)&&(x-=1)),v=v&&(o&&o.settings&&o.settings.dnd&&o.settings.dnd.check_while_dragging===!1||o.check(y,d.data.origin&&d.data.origin!==o?d.data.origin.get_node(d.data.nodes[j]):d.data.nodes[j],f,x,{dnd:!0,ref:o.get_node(c.parent()),pos:h,is_multi:d.data.origin&&d.data.origin!==o,is_foreign:!d.data.origin})),!v){o&&o.last_error&&(r=o.last_error());break}return"i"===h&&c.parent().is(".jstree-closed")&&o.settings.dnd.open_timeout&&(s=setTimeout(function(e,t){return function(){e.open_node(t)}}(o,c),o.settings.dnd.open_timeout)),v?(i={ins:o,par:f,pos:"i"!==h||"las
 t"!==w||0!==p||o.is_loaded(C)?p:"last"},n.css({left:_+"px",top:u+"px"}).show(),d.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),r={},m=!0,!1):t}),m===!0))return}else{for(v=!0,j=0,k=d.data.nodes.length;k>j;j++)if(v=v&&o.check(d.data.origin&&(d.data.origin.settings.dnd.always_copy||d.data.origin.settings.dnd.copy&&(d.event.metaKey||d.event.ctrlKey))?"copy_node":"move_node",d.data.origin&&d.data.origin!==o?d.data.origin.get_node(d.data.nodes[j]):d.data.nodes[j],"#","last",{dnd:!0,ref:o.get_node("#"),pos:"i",is_multi:d.data.origin&&d.data.origin!==o,is_foreign:!d.data.origin}),!v)break;if(v)return i={ins:o,par:"#",pos:"last"},n.hide(),d.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),t}i=!1,d.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),n.hide()}}).on("dnd_scroll.vakata.jstree",function(e,t){t&&t.data&&t.data.jstree&&(n.hide()

<TRUNCATED>


[07/49] incubator-cmda git commit: remove all

Posted by xi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a8965336/public/js/jquery-1.4.4.js
----------------------------------------------------------------------
diff --git a/public/js/jquery-1.4.4.js b/public/js/jquery-1.4.4.js
deleted file mode 100644
index a4f1145..0000000
--- a/public/js/jquery-1.4.4.js
+++ /dev/null
@@ -1,7179 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.4
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Nov 11 19:04:53 2010 -0500
- */
-(function( window, undefined ) {
-
-// Use the correct document accordingly with window argument (sandbox)
-var document = window.document;
-var jQuery = (function() {
-
-// Define a local copy of jQuery
-var jQuery = function( selector, context ) {
-		// The jQuery object is actually just the init constructor 'enhanced'
-		return new jQuery.fn.init( selector, context );
-	},
-
-	// Map over jQuery in case of overwrite
-	_jQuery = window.jQuery,
-
-	// Map over the $ in case of overwrite
-	_$ = window.$,
-
-	// A central reference to the root jQuery(document)
-	rootjQuery,
-
-	// A simple way to check for HTML strings or ID strings
-	// (both of which we optimize for)
-	quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,
-
-	// Is it a simple selector
-	isSimple = /^.[^:#\[\.,]*$/,
-
-	// Check if a string has a non-whitespace character in it
-	rnotwhite = /\S/,
-	rwhite = /\s/,
-
-	// Used for trimming whitespace
-	trimLeft = /^\s+/,
-	trimRight = /\s+$/,
-
-	// Check for non-word characters
-	rnonword = /\W/,
-
-	// Check for digits
-	rdigit = /\d/,
-
-	// Match a standalone tag
-	rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-
-	// JSON RegExp
-	rvalidchars = /^[\],:{}\s]*$/,
-	rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
-	rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
-	rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
-
-	// Useragent RegExp
-	rwebkit = /(webkit)[ \/]([\w.]+)/,
-	ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
-	rmsie = /(msie) ([\w.]+)/,
-	rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
-
-	// Keep a UserAgent string for use with jQuery.browser
-	userAgent = navigator.userAgent,
-
-	// For matching the engine and version of the browser
-	browserMatch,
-	
-	// Has the ready events already been bound?
-	readyBound = false,
-	
-	// The functions to execute on DOM ready
-	readyList = [],
-
-	// The ready event handler
-	DOMContentLoaded,
-
-	// Save a reference to some core methods
-	toString = Object.prototype.toString,
-	hasOwn = Object.prototype.hasOwnProperty,
-	push = Array.prototype.push,
-	slice = Array.prototype.slice,
-	trim = String.prototype.trim,
-	indexOf = Array.prototype.indexOf,
-	
-	// [[Class]] -> type pairs
-	class2type = {};
-
-jQuery.fn = jQuery.prototype = {
-	init: function( selector, context ) {
-		var match, elem, ret, doc;
-
-		// Handle $(""), $(null), or $(undefined)
-		if ( !selector ) {
-			return this;
-		}
-
-		// Handle $(DOMElement)
-		if ( selector.nodeType ) {
-			this.context = this[0] = selector;
-			this.length = 1;
-			return this;
-		}
-		
-		// The body element only exists once, optimize finding it
-		if ( selector === "body" && !context && document.body ) {
-			this.context = document;
-			this[0] = document.body;
-			this.selector = "body";
-			this.length = 1;
-			return this;
-		}
-
-		// Handle HTML strings
-		if ( typeof selector === "string" ) {
-			// Are we dealing with HTML string or an ID?
-			match = quickExpr.exec( selector );
-
-			// Verify a match, and that no context was specified for #id
-			if ( match && (match[1] || !context) ) {
-
-				// HANDLE: $(html) -> $(array)
-				if ( match[1] ) {
-					doc = (context ? context.ownerDocument || context : document);
-
-					// If a single string is passed in and it's a single tag
-					// just do a createElement and skip the rest
-					ret = rsingleTag.exec( selector );
-
-					if ( ret ) {
-						if ( jQuery.isPlainObject( context ) ) {
-							selector = [ document.createElement( ret[1] ) ];
-							jQuery.fn.attr.call( selector, context, true );
-
-						} else {
-							selector = [ doc.createElement( ret[1] ) ];
-						}
-
-					} else {
-						ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
-						selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes;
-					}
-					
-					return jQuery.merge( this, selector );
-					
-				// HANDLE: $("#id")
-				} else {
-					elem = document.getElementById( match[2] );
-
-					// Check parentNode to catch when Blackberry 4.6 returns
-					// nodes that are no longer in the document #6963
-					if ( elem && elem.parentNode ) {
-						// Handle the case where IE and Opera return items
-						// by name instead of ID
-						if ( elem.id !== match[2] ) {
-							return rootjQuery.find( selector );
-						}
-
-						// Otherwise, we inject the element directly into the jQuery object
-						this.length = 1;
-						this[0] = elem;
-					}
-
-					this.context = document;
-					this.selector = selector;
-					return this;
-				}
-
-			// HANDLE: $("TAG")
-			} else if ( !context && !rnonword.test( selector ) ) {
-				this.selector = selector;
-				this.context = document;
-				selector = document.getElementsByTagName( selector );
-				return jQuery.merge( this, selector );
-
-			// HANDLE: $(expr, $(...))
-			} else if ( !context || context.jquery ) {
-				return (context || rootjQuery).find( selector );
-
-			// HANDLE: $(expr, context)
-			// (which is just equivalent to: $(context).find(expr)
-			} else {
-				return jQuery( context ).find( selector );
-			}
-
-		// HANDLE: $(function)
-		// Shortcut for document ready
-		} else if ( jQuery.isFunction( selector ) ) {
-			return rootjQuery.ready( selector );
-		}
-
-		if (selector.selector !== undefined) {
-			this.selector = selector.selector;
-			this.context = selector.context;
-		}
-
-		return jQuery.makeArray( selector, this );
-	},
-
-	// Start with an empty selector
-	selector: "",
-
-	// The current version of jQuery being used
-	jquery: "1.4.4",
-
-	// The default length of a jQuery object is 0
-	length: 0,
-
-	// The number of elements contained in the matched element set
-	size: function() {
-		return this.length;
-	},
-
-	toArray: function() {
-		return slice.call( this, 0 );
-	},
-
-	// Get the Nth element in the matched element set OR
-	// Get the whole matched element set as a clean array
-	get: function( num ) {
-		return num == null ?
-
-			// Return a 'clean' array
-			this.toArray() :
-
-			// Return just the object
-			( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );
-	},
-
-	// Take an array of elements and push it onto the stack
-	// (returning the new matched element set)
-	pushStack: function( elems, name, selector ) {
-		// Build a new jQuery matched element set
-		var ret = jQuery();
-
-		if ( jQuery.isArray( elems ) ) {
-			push.apply( ret, elems );
-		
-		} else {
-			jQuery.merge( ret, elems );
-		}
-
-		// Add the old object onto the stack (as a reference)
-		ret.prevObject = this;
-
-		ret.context = this.context;
-
-		if ( name === "find" ) {
-			ret.selector = this.selector + (this.selector ? " " : "") + selector;
-		} else if ( name ) {
-			ret.selector = this.selector + "." + name + "(" + selector + ")";
-		}
-
-		// Return the newly-formed element set
-		return ret;
-	},
-
-	// Execute a callback for every element in the matched set.
-	// (You can seed the arguments with an array of args, but this is
-	// only used internally.)
-	each: function( callback, args ) {
-		return jQuery.each( this, callback, args );
-	},
-	
-	ready: function( fn ) {
-		// Attach the listeners
-		jQuery.bindReady();
-
-		// If the DOM is already ready
-		if ( jQuery.isReady ) {
-			// Execute the function immediately
-			fn.call( document, jQuery );
-
-		// Otherwise, remember the function for later
-		} else if ( readyList ) {
-			// Add the function to the wait list
-			readyList.push( fn );
-		}
-
-		return this;
-	},
-	
-	eq: function( i ) {
-		return i === -1 ?
-			this.slice( i ) :
-			this.slice( i, +i + 1 );
-	},
-
-	first: function() {
-		return this.eq( 0 );
-	},
-
-	last: function() {
-		return this.eq( -1 );
-	},
-
-	slice: function() {
-		return this.pushStack( slice.apply( this, arguments ),
-			"slice", slice.call(arguments).join(",") );
-	},
-
-	map: function( callback ) {
-		return this.pushStack( jQuery.map(this, function( elem, i ) {
-			return callback.call( elem, i, elem );
-		}));
-	},
-	
-	end: function() {
-		return this.prevObject || jQuery(null);
-	},
-
-	// For internal use only.
-	// Behaves like an Array's method, not like a jQuery method.
-	push: push,
-	sort: [].sort,
-	splice: [].splice
-};
-
-// Give the init function the jQuery prototype for later instantiation
-jQuery.fn.init.prototype = jQuery.fn;
-
-jQuery.extend = jQuery.fn.extend = function() {
-	 var options, name, src, copy, copyIsArray, clone,
-		target = arguments[0] || {},
-		i = 1,
-		length = arguments.length,
-		deep = false;
-
-	// Handle a deep copy situation
-	if ( typeof target === "boolean" ) {
-		deep = target;
-		target = arguments[1] || {};
-		// skip the boolean and the target
-		i = 2;
-	}
-
-	// Handle case when target is a string or something (possible in deep copy)
-	if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
-		target = {};
-	}
-
-	// extend jQuery itself if only one argument is passed
-	if ( length === i ) {
-		target = this;
-		--i;
-	}
-
-	for ( ; i < length; i++ ) {
-		// Only deal with non-null/undefined values
-		if ( (options = arguments[ i ]) != null ) {
-			// Extend the base object
-			for ( name in options ) {
-				src = target[ name ];
-				copy = options[ name ];
-
-				// Prevent never-ending loop
-				if ( target === copy ) {
-					continue;
-				}
-
-				// Recurse if we're merging plain objects or arrays
-				if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
-					if ( copyIsArray ) {
-						copyIsArray = false;
-						clone = src && jQuery.isArray(src) ? src : [];
-
-					} else {
-						clone = src && jQuery.isPlainObject(src) ? src : {};
-					}
-
-					// Never move original objects, clone them
-					target[ name ] = jQuery.extend( deep, clone, copy );
-
-				// Don't bring in undefined values
-				} else if ( copy !== undefined ) {
-					target[ name ] = copy;
-				}
-			}
-		}
-	}
-
-	// Return the modified object
-	return target;
-};
-
-jQuery.extend({
-	noConflict: function( deep ) {
-		window.$ = _$;
-
-		if ( deep ) {
-			window.jQuery = _jQuery;
-		}
-
-		return jQuery;
-	},
-	
-	// Is the DOM ready to be used? Set to true once it occurs.
-	isReady: false,
-
-	// A counter to track how many items to wait for before
-	// the ready event fires. See #6781
-	readyWait: 1,
-	
-	// Handle when the DOM is ready
-	ready: function( wait ) {
-		// A third-party is pushing the ready event forwards
-		if ( wait === true ) {
-			jQuery.readyWait--;
-		}
-
-		// Make sure that the DOM is not already loaded
-		if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) {
-			// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
-			if ( !document.body ) {
-				return setTimeout( jQuery.ready, 1 );
-			}
-
-			// Remember that the DOM is ready
-			jQuery.isReady = true;
-
-			// If a normal DOM Ready event fired, decrement, and wait if need be
-			if ( wait !== true && --jQuery.readyWait > 0 ) {
-				return;
-			}
-
-			// If there are functions bound, to execute
-			if ( readyList ) {
-				// Execute all of them
-				var fn,
-					i = 0,
-					ready = readyList;
-
-				// Reset the list of functions
-				readyList = null;
-
-				while ( (fn = ready[ i++ ]) ) {
-					fn.call( document, jQuery );
-				}
-
-				// Trigger any bound ready events
-				if ( jQuery.fn.trigger ) {
-					jQuery( document ).trigger( "ready" ).unbind( "ready" );
-				}
-			}
-		}
-	},
-	
-	bindReady: function() {
-		if ( readyBound ) {
-			return;
-		}
-
-		readyBound = true;
-
-		// Catch cases where $(document).ready() is called after the
-		// browser event has already occurred.
-		if ( document.readyState === "complete" ) {
-			// Handle it asynchronously to allow scripts the opportunity to delay ready
-			return setTimeout( jQuery.ready, 1 );
-		}
-
-		// Mozilla, Opera and webkit nightlies currently support this event
-		if ( document.addEventListener ) {
-			// Use the handy event callback
-			document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
-			
-			// A fallback to window.onload, that will always work
-			window.addEventListener( "load", jQuery.ready, false );
-
-		// If IE event model is used
-		} else if ( document.attachEvent ) {
-			// ensure firing before onload,
-			// maybe late but safe also for iframes
-			document.attachEvent("onreadystatechange", DOMContentLoaded);
-			
-			// A fallback to window.onload, that will always work
-			window.attachEvent( "onload", jQuery.ready );
-
-			// If IE and not a frame
-			// continually check to see if the document is ready
-			var toplevel = false;
-
-			try {
-				toplevel = window.frameElement == null;
-			} catch(e) {}
-
-			if ( document.documentElement.doScroll && toplevel ) {
-				doScrollCheck();
-			}
-		}
-	},
-
-	// See test/unit/core.js for details concerning isFunction.
-	// Since version 1.3, DOM methods and functions like alert
-	// aren't supported. They return false on IE (#2968).
-	isFunction: function( obj ) {
-		return jQuery.type(obj) === "function";
-	},
-
-	isArray: Array.isArray || function( obj ) {
-		return jQuery.type(obj) === "array";
-	},
-
-	// A crude way of determining if an object is a window
-	isWindow: function( obj ) {
-		return obj && typeof obj === "object" && "setInterval" in obj;
-	},
-
-	isNaN: function( obj ) {
-		return obj == null || !rdigit.test( obj ) || isNaN( obj );
-	},
-
-	type: function( obj ) {
-		return obj == null ?
-			String( obj ) :
-			class2type[ toString.call(obj) ] || "object";
-	},
-
-	isPlainObject: function( obj ) {
-		// Must be an Object.
-		// Because of IE, we also have to check the presence of the constructor property.
-		// Make sure that DOM nodes and window objects don't pass through, as well
-		if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
-			return false;
-		}
-		
-		// Not own constructor property must be Object
-		if ( obj.constructor &&
-			!hasOwn.call(obj, "constructor") &&
-			!hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
-			return false;
-		}
-		
-		// Own properties are enumerated firstly, so to speed up,
-		// if last one is own, then all properties are own.
-	
-		var key;
-		for ( key in obj ) {}
-		
-		return key === undefined || hasOwn.call( obj, key );
-	},
-
-	isEmptyObject: function( obj ) {
-		for ( var name in obj ) {
-			return false;
-		}
-		return true;
-	},
-	
-	error: function( msg ) {
-		throw msg;
-	},
-	
-	parseJSON: function( data ) {
-		if ( typeof data !== "string" || !data ) {
-			return null;
-		}
-
-		// Make sure leading/trailing whitespace is removed (IE can't handle it)
-		data = jQuery.trim( data );
-		
-		// Make sure the incoming data is actual JSON
-		// Logic borrowed from http://json.org/json2.js
-		if ( rvalidchars.test(data.replace(rvalidescape, "@")
-			.replace(rvalidtokens, "]")
-			.replace(rvalidbraces, "")) ) {
-
-			// Try to use the native JSON parser first
-			return window.JSON && window.JSON.parse ?
-				window.JSON.parse( data ) :
-				(new Function("return " + data))();
-
-		} else {
-			jQuery.error( "Invalid JSON: " + data );
-		}
-	},
-
-	noop: function() {},
-
-	// Evalulates a script in a global context
-	globalEval: function( data ) {
-		if ( data && rnotwhite.test(data) ) {
-			// Inspired by code by Andrea Giammarchi
-			// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
-			var head = document.getElementsByTagName("head")[0] || document.documentElement,
-				script = document.createElement("script");
-
-			script.type = "text/javascript";
-
-			if ( jQuery.support.scriptEval ) {
-				script.appendChild( document.createTextNode( data ) );
-			} else {
-				script.text = data;
-			}
-
-			// Use insertBefore instead of appendChild to circumvent an IE6 bug.
-			// This arises when a base node is used (#2709).
-			head.insertBefore( script, head.firstChild );
-			head.removeChild( script );
-		}
-	},
-
-	nodeName: function( elem, name ) {
-		return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
-	},
-
-	// args is for internal usage only
-	each: function( object, callback, args ) {
-		var name, i = 0,
-			length = object.length,
-			isObj = length === undefined || jQuery.isFunction(object);
-
-		if ( args ) {
-			if ( isObj ) {
-				for ( name in object ) {
-					if ( callback.apply( object[ name ], args ) === false ) {
-						break;
-					}
-				}
-			} else {
-				for ( ; i < length; ) {
-					if ( callback.apply( object[ i++ ], args ) === false ) {
-						break;
-					}
-				}
-			}
-
-		// A special, fast, case for the most common use of each
-		} else {
-			if ( isObj ) {
-				for ( name in object ) {
-					if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
-						break;
-					}
-				}
-			} else {
-				for ( var value = object[0];
-					i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {}
-			}
-		}
-
-		return object;
-	},
-
-	// Use native String.trim function wherever possible
-	trim: trim ?
-		function( text ) {
-			return text == null ?
-				"" :
-				trim.call( text );
-		} :
-
-		// Otherwise use our own trimming functionality
-		function( text ) {
-			return text == null ?
-				"" :
-				text.toString().replace( trimLeft, "" ).replace( trimRight, "" );
-		},
-
-	// results is for internal usage only
-	makeArray: function( array, results ) {
-		var ret = results || [];
-
-		if ( array != null ) {
-			// The window, strings (and functions) also have 'length'
-			// The extra typeof function check is to prevent crashes
-			// in Safari 2 (See: #3039)
-			// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
-			var type = jQuery.type(array);
-
-			if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) {
-				push.call( ret, array );
-			} else {
-				jQuery.merge( ret, array );
-			}
-		}
-
-		return ret;
-	},
-
-	inArray: function( elem, array ) {
-		if ( array.indexOf ) {
-			return array.indexOf( elem );
-		}
-
-		for ( var i = 0, length = array.length; i < length; i++ ) {
-			if ( array[ i ] === elem ) {
-				return i;
-			}
-		}
-
-		return -1;
-	},
-
-	merge: function( first, second ) {
-		var i = first.length,
-			j = 0;
-
-		if ( typeof second.length === "number" ) {
-			for ( var l = second.length; j < l; j++ ) {
-				first[ i++ ] = second[ j ];
-			}
-		
-		} else {
-			while ( second[j] !== undefined ) {
-				first[ i++ ] = second[ j++ ];
-			}
-		}
-
-		first.length = i;
-
-		return first;
-	},
-
-	grep: function( elems, callback, inv ) {
-		var ret = [], retVal;
-		inv = !!inv;
-
-		// Go through the array, only saving the items
-		// that pass the validator function
-		for ( var i = 0, length = elems.length; i < length; i++ ) {
-			retVal = !!callback( elems[ i ], i );
-			if ( inv !== retVal ) {
-				ret.push( elems[ i ] );
-			}
-		}
-
-		return ret;
-	},
-
-	// arg is for internal usage only
-	map: function( elems, callback, arg ) {
-		var ret = [], value;
-
-		// Go through the array, translating each of the items to their
-		// new value (or values).
-		for ( var i = 0, length = elems.length; i < length; i++ ) {
-			value = callback( elems[ i ], i, arg );
-
-			if ( value != null ) {
-				ret[ ret.length ] = value;
-			}
-		}
-
-		return ret.concat.apply( [], ret );
-	},
-
-	// A global GUID counter for objects
-	guid: 1,
-
-	proxy: function( fn, proxy, thisObject ) {
-		if ( arguments.length === 2 ) {
-			if ( typeof proxy === "string" ) {
-				thisObject = fn;
-				fn = thisObject[ proxy ];
-				proxy = undefined;
-
-			} else if ( proxy && !jQuery.isFunction( proxy ) ) {
-				thisObject = proxy;
-				proxy = undefined;
-			}
-		}
-
-		if ( !proxy && fn ) {
-			proxy = function() {
-				return fn.apply( thisObject || this, arguments );
-			};
-		}
-
-		// Set the guid of unique handler to the same of original handler, so it can be removed
-		if ( fn ) {
-			proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;
-		}
-
-		// So proxy can be declared as an argument
-		return proxy;
-	},
-
-	// Mutifunctional method to get and set values to a collection
-	// The value/s can be optionally by executed if its a function
-	access: function( elems, key, value, exec, fn, pass ) {
-		var length = elems.length;
-	
-		// Setting many attributes
-		if ( typeof key === "object" ) {
-			for ( var k in key ) {
-				jQuery.access( elems, k, key[k], exec, fn, value );
-			}
-			return elems;
-		}
-	
-		// Setting one attribute
-		if ( value !== undefined ) {
-			// Optionally, function values get executed if exec is true
-			exec = !pass && exec && jQuery.isFunction(value);
-		
-			for ( var i = 0; i < length; i++ ) {
-				fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
-			}
-		
-			return elems;
-		}
-	
-		// Getting an attribute
-		return length ? fn( elems[0], key ) : undefined;
-	},
-
-	now: function() {
-		return (new Date()).getTime();
-	},
-
-	// Use of jQuery.browser is frowned upon.
-	// More details: http://docs.jquery.com/Utilities/jQuery.browser
-	uaMatch: function( ua ) {
-		ua = ua.toLowerCase();
-
-		var match = rwebkit.exec( ua ) ||
-			ropera.exec( ua ) ||
-			rmsie.exec( ua ) ||
-			ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
-			[];
-
-		return { browser: match[1] || "", version: match[2] || "0" };
-	},
-
-	browser: {}
-});
-
-// Populate the class2type map
-jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
-	class2type[ "[object " + name + "]" ] = name.toLowerCase();
-});
-
-browserMatch = jQuery.uaMatch( userAgent );
-if ( browserMatch.browser ) {
-	jQuery.browser[ browserMatch.browser ] = true;
-	jQuery.browser.version = browserMatch.version;
-}
-
-// Deprecated, use jQuery.browser.webkit instead
-if ( jQuery.browser.webkit ) {
-	jQuery.browser.safari = true;
-}
-
-if ( indexOf ) {
-	jQuery.inArray = function( elem, array ) {
-		return indexOf.call( array, elem );
-	};
-}
-
-// Verify that \s matches non-breaking spaces
-// (IE fails on this test)
-if ( !rwhite.test( "\xA0" ) ) {
-	trimLeft = /^[\s\xA0]+/;
-	trimRight = /[\s\xA0]+$/;
-}
-
-// All jQuery objects should point back to these
-rootjQuery = jQuery(document);
-
-// Cleanup functions for the document ready method
-if ( document.addEventListener ) {
-	DOMContentLoaded = function() {
-		document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
-		jQuery.ready();
-	};
-
-} else if ( document.attachEvent ) {
-	DOMContentLoaded = function() {
-		// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
-		if ( document.readyState === "complete" ) {
-			document.detachEvent( "onreadystatechange", DOMContentLoaded );
-			jQuery.ready();
-		}
-	};
-}
-
-// The DOM ready check for Internet Explorer
-function doScrollCheck() {
-	if ( jQuery.isReady ) {
-		return;
-	}
-
-	try {
-		// If IE is used, use the trick by Diego Perini
-		// http://javascript.nwbox.com/IEContentLoaded/
-		document.documentElement.doScroll("left");
-	} catch(e) {
-		setTimeout( doScrollCheck, 1 );
-		return;
-	}
-
-	// and execute any waiting functions
-	jQuery.ready();
-}
-
-// Expose jQuery to the global object
-return (window.jQuery = window.$ = jQuery);
-
-})();
-
-
-(function() {
-
-	jQuery.support = {};
-
-	var root = document.documentElement,
-		script = document.createElement("script"),
-		div = document.createElement("div"),
-		id = "script" + jQuery.now();
-
-	div.style.display = "none";
-	div.innerHTML = "   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-
-	var all = div.getElementsByTagName("*"),
-		a = div.getElementsByTagName("a")[0],
-		select = document.createElement("select"),
-		opt = select.appendChild( document.createElement("option") );
-
-	// Can't get basic test support
-	if ( !all || !all.length || !a ) {
-		return;
-	}
-
-	jQuery.support = {
-		// IE strips leading whitespace when .innerHTML is used
-		leadingWhitespace: div.firstChild.nodeType === 3,
-
-		// Make sure that tbody elements aren't automatically inserted
-		// IE will insert them into empty tables
-		tbody: !div.getElementsByTagName("tbody").length,
-
-		// Make sure that link elements get serialized correctly by innerHTML
-		// This requires a wrapper element in IE
-		htmlSerialize: !!div.getElementsByTagName("link").length,
-
-		// Get the style information from getAttribute
-		// (IE uses .cssText insted)
-		style: /red/.test( a.getAttribute("style") ),
-
-		// Make sure that URLs aren't manipulated
-		// (IE normalizes it by default)
-		hrefNormalized: a.getAttribute("href") === "/a",
-
-		// Make sure that element opacity exists
-		// (IE uses filter instead)
-		// Use a regex to work around a WebKit issue. See #5145
-		opacity: /^0.55$/.test( a.style.opacity ),
-
-		// Verify style float existence
-		// (IE uses styleFloat instead of cssFloat)
-		cssFloat: !!a.style.cssFloat,
-
-		// Make sure that if no value is specified for a checkbox
-		// that it defaults to "on".
-		// (WebKit defaults to "" instead)
-		checkOn: div.getElementsByTagName("input")[0].value === "on",
-
-		// Make sure that a selected-by-default option has a working selected property.
-		// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
-		optSelected: opt.selected,
-
-		// Will be defined later
-		deleteExpando: true,
-		optDisabled: false,
-		checkClone: false,
-		scriptEval: false,
-		noCloneEvent: true,
-		boxModel: null,
-		inlineBlockNeedsLayout: false,
-		shrinkWrapBlocks: false,
-		reliableHiddenOffsets: true
-	};
-
-	// Make sure that the options inside disabled selects aren't marked as disabled
-	// (WebKit marks them as diabled)
-	select.disabled = true;
-	jQuery.support.optDisabled = !opt.disabled;
-
-	script.type = "text/javascript";
-	try {
-		script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
-	} catch(e) {}
-
-	root.insertBefore( script, root.firstChild );
-
-	// Make sure that the execution of code works by injecting a script
-	// tag with appendChild/createTextNode
-	// (IE doesn't support this, fails, and uses .text instead)
-	if ( window[ id ] ) {
-		jQuery.support.scriptEval = true;
-		delete window[ id ];
-	}
-
-	// Test to see if it's possible to delete an expando from an element
-	// Fails in Internet Explorer
-	try {
-		delete script.test;
-
-	} catch(e) {
-		jQuery.support.deleteExpando = false;
-	}
-
-	root.removeChild( script );
-
-	if ( div.attachEvent && div.fireEvent ) {
-		div.attachEvent("onclick", function click() {
-			// Cloning a node shouldn't copy over any
-			// bound event handlers (IE does this)
-			jQuery.support.noCloneEvent = false;
-			div.detachEvent("onclick", click);
-		});
-		div.cloneNode(true).fireEvent("onclick");
-	}
-
-	div = document.createElement("div");
-	div.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>";
-
-	var fragment = document.createDocumentFragment();
-	fragment.appendChild( div.firstChild );
-
-	// WebKit doesn't clone checked state correctly in fragments
-	jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked;
-
-	// Figure out if the W3C box model works as expected
-	// document.body must exist before we can do this
-	jQuery(function() {
-		var div = document.createElement("div");
-		div.style.width = div.style.paddingLeft = "1px";
-
-		document.body.appendChild( div );
-		jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
-
-		if ( "zoom" in div.style ) {
-			// Check if natively block-level elements act like inline-block
-			// elements when setting their display to 'inline' and giving
-			// them layout
-			// (IE < 8 does this)
-			div.style.display = "inline";
-			div.style.zoom = 1;
-			jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2;
-
-			// Check if elements with layout shrink-wrap their children
-			// (IE 6 does this)
-			div.style.display = "";
-			div.innerHTML = "<div style='width:4px;'></div>";
-			jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2;
-		}
-
-		div.innerHTML = "<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";
-		var tds = div.getElementsByTagName("td");
-
-		// Check if table cells still have offsetWidth/Height when they are set
-		// to display:none and there are still other visible table cells in a
-		// table row; if so, offsetWidth/Height are not reliable for use when
-		// determining if an element has been hidden directly using
-		// display:none (it is still safe to use offsets if a parent element is
-		// hidden; don safety goggles and see bug #4512 for more information).
-		// (only IE 8 fails this test)
-		jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0;
-
-		tds[0].style.display = "";
-		tds[1].style.display = "none";
-
-		// Check if empty table cells still have offsetWidth/Height
-		// (IE < 8 fail this test)
-		jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0;
-		div.innerHTML = "";
-
-		document.body.removeChild( div ).style.display = "none";
-		div = tds = null;
-	});
-
-	// Technique from Juriy Zaytsev
-	// http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/
-	var eventSupported = function( eventName ) {
-		var el = document.createElement("div");
-		eventName = "on" + eventName;
-
-		var isSupported = (eventName in el);
-		if ( !isSupported ) {
-			el.setAttribute(eventName, "return;");
-			isSupported = typeof el[eventName] === "function";
-		}
-		el = null;
-
-		return isSupported;
-	};
-
-	jQuery.support.submitBubbles = eventSupported("submit");
-	jQuery.support.changeBubbles = eventSupported("change");
-
-	// release memory in IE
-	root = script = div = all = a = null;
-})();
-
-
-
-var windowData = {},
-	rbrace = /^(?:\{.*\}|\[.*\])$/;
-
-jQuery.extend({
-	cache: {},
-
-	// Please use with caution
-	uuid: 0,
-
-	// Unique for each copy of jQuery on the page	
-	expando: "jQuery" + jQuery.now(),
-
-	// The following elements throw uncatchable exceptions if you
-	// attempt to add expando properties to them.
-	noData: {
-		"embed": true,
-		// Ban all objects except for Flash (which handle expandos)
-		"object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
-		"applet": true
-	},
-
-	data: function( elem, name, data ) {
-		if ( !jQuery.acceptData( elem ) ) {
-			return;
-		}
-
-		elem = elem == window ?
-			windowData :
-			elem;
-
-		var isNode = elem.nodeType,
-			id = isNode ? elem[ jQuery.expando ] : null,
-			cache = jQuery.cache, thisCache;
-
-		if ( isNode && !id && typeof name === "string" && data === undefined ) {
-			return;
-		}
-
-		// Get the data from the object directly
-		if ( !isNode ) {
-			cache = elem;
-
-		// Compute a unique ID for the element
-		} else if ( !id ) {
-			elem[ jQuery.expando ] = id = ++jQuery.uuid;
-		}
-
-		// Avoid generating a new cache unless none exists and we
-		// want to manipulate it.
-		if ( typeof name === "object" ) {
-			if ( isNode ) {
-				cache[ id ] = jQuery.extend(cache[ id ], name);
-
-			} else {
-				jQuery.extend( cache, name );
-			}
-
-		} else if ( isNode && !cache[ id ] ) {
-			cache[ id ] = {};
-		}
-
-		thisCache = isNode ? cache[ id ] : cache;
-
-		// Prevent overriding the named cache with undefined values
-		if ( data !== undefined ) {
-			thisCache[ name ] = data;
-		}
-
-		return typeof name === "string" ? thisCache[ name ] : thisCache;
-	},
-
-	removeData: function( elem, name ) {
-		if ( !jQuery.acceptData( elem ) ) {
-			return;
-		}
-
-		elem = elem == window ?
-			windowData :
-			elem;
-
-		var isNode = elem.nodeType,
-			id = isNode ? elem[ jQuery.expando ] : elem,
-			cache = jQuery.cache,
-			thisCache = isNode ? cache[ id ] : id;
-
-		// If we want to remove a specific section of the element's data
-		if ( name ) {
-			if ( thisCache ) {
-				// Remove the section of cache data
-				delete thisCache[ name ];
-
-				// If we've removed all the data, remove the element's cache
-				if ( isNode && jQuery.isEmptyObject(thisCache) ) {
-					jQuery.removeData( elem );
-				}
-			}
-
-		// Otherwise, we want to remove all of the element's data
-		} else {
-			if ( isNode && jQuery.support.deleteExpando ) {
-				delete elem[ jQuery.expando ];
-
-			} else if ( elem.removeAttribute ) {
-				elem.removeAttribute( jQuery.expando );
-
-			// Completely remove the data cache
-			} else if ( isNode ) {
-				delete cache[ id ];
-
-			// Remove all fields from the object
-			} else {
-				for ( var n in elem ) {
-					delete elem[ n ];
-				}
-			}
-		}
-	},
-
-	// A method for determining if a DOM node can handle the data expando
-	acceptData: function( elem ) {
-		if ( elem.nodeName ) {
-			var match = jQuery.noData[ elem.nodeName.toLowerCase() ];
-
-			if ( match ) {
-				return !(match === true || elem.getAttribute("classid") !== match);
-			}
-		}
-
-		return true;
-	}
-});
-
-jQuery.fn.extend({
-	data: function( key, value ) {
-		var data = null;
-
-		if ( typeof key === "undefined" ) {
-			if ( this.length ) {
-				var attr = this[0].attributes, name;
-				data = jQuery.data( this[0] );
-
-				for ( var i = 0, l = attr.length; i < l; i++ ) {
-					name = attr[i].name;
-
-					if ( name.indexOf( "data-" ) === 0 ) {
-						name = name.substr( 5 );
-						dataAttr( this[0], name, data[ name ] );
-					}
-				}
-			}
-
-			return data;
-
-		} else if ( typeof key === "object" ) {
-			return this.each(function() {
-				jQuery.data( this, key );
-			});
-		}
-
-		var parts = key.split(".");
-		parts[1] = parts[1] ? "." + parts[1] : "";
-
-		if ( value === undefined ) {
-			data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
-
-			// Try to fetch any internally stored data first
-			if ( data === undefined && this.length ) {
-				data = jQuery.data( this[0], key );
-				data = dataAttr( this[0], key, data );
-			}
-
-			return data === undefined && parts[1] ?
-				this.data( parts[0] ) :
-				data;
-
-		} else {
-			return this.each(function() {
-				var $this = jQuery( this ),
-					args = [ parts[0], value ];
-
-				$this.triggerHandler( "setData" + parts[1] + "!", args );
-				jQuery.data( this, key, value );
-				$this.triggerHandler( "changeData" + parts[1] + "!", args );
-			});
-		}
-	},
-
-	removeData: function( key ) {
-		return this.each(function() {
-			jQuery.removeData( this, key );
-		});
-	}
-});
-
-function dataAttr( elem, key, data ) {
-	// If nothing was found internally, try to fetch any
-	// data from the HTML5 data-* attribute
-	if ( data === undefined && elem.nodeType === 1 ) {
-		data = elem.getAttribute( "data-" + key );
-
-		if ( typeof data === "string" ) {
-			try {
-				data = data === "true" ? true :
-				data === "false" ? false :
-				data === "null" ? null :
-				!jQuery.isNaN( data ) ? parseFloat( data ) :
-					rbrace.test( data ) ? jQuery.parseJSON( data ) :
-					data;
-			} catch( e ) {}
-
-			// Make sure we set the data so it isn't changed later
-			jQuery.data( elem, key, data );
-
-		} else {
-			data = undefined;
-		}
-	}
-
-	return data;
-}
-
-
-
-
-jQuery.extend({
-	queue: function( elem, type, data ) {
-		if ( !elem ) {
-			return;
-		}
-
-		type = (type || "fx") + "queue";
-		var q = jQuery.data( elem, type );
-
-		// Speed up dequeue by getting out quickly if this is just a lookup
-		if ( !data ) {
-			return q || [];
-		}
-
-		if ( !q || jQuery.isArray(data) ) {
-			q = jQuery.data( elem, type, jQuery.makeArray(data) );
-
-		} else {
-			q.push( data );
-		}
-
-		return q;
-	},
-
-	dequeue: function( elem, type ) {
-		type = type || "fx";
-
-		var queue = jQuery.queue( elem, type ),
-			fn = queue.shift();
-
-		// If the fx queue is dequeued, always remove the progress sentinel
-		if ( fn === "inprogress" ) {
-			fn = queue.shift();
-		}
-
-		if ( fn ) {
-			// Add a progress sentinel to prevent the fx queue from being
-			// automatically dequeued
-			if ( type === "fx" ) {
-				queue.unshift("inprogress");
-			}
-
-			fn.call(elem, function() {
-				jQuery.dequeue(elem, type);
-			});
-		}
-	}
-});
-
-jQuery.fn.extend({
-	queue: function( type, data ) {
-		if ( typeof type !== "string" ) {
-			data = type;
-			type = "fx";
-		}
-
-		if ( data === undefined ) {
-			return jQuery.queue( this[0], type );
-		}
-		return this.each(function( i ) {
-			var queue = jQuery.queue( this, type, data );
-
-			if ( type === "fx" && queue[0] !== "inprogress" ) {
-				jQuery.dequeue( this, type );
-			}
-		});
-	},
-	dequeue: function( type ) {
-		return this.each(function() {
-			jQuery.dequeue( this, type );
-		});
-	},
-
-	// Based off of the plugin by Clint Helfers, with permission.
-	// http://blindsignals.com/index.php/2009/07/jquery-delay/
-	delay: function( time, type ) {
-		time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;
-		type = type || "fx";
-
-		return this.queue( type, function() {
-			var elem = this;
-			setTimeout(function() {
-				jQuery.dequeue( elem, type );
-			}, time );
-		});
-	},
-
-	clearQueue: function( type ) {
-		return this.queue( type || "fx", [] );
-	}
-});
-
-
-
-
-var rclass = /[\n\t]/g,
-	rspaces = /\s+/,
-	rreturn = /\r/g,
-	rspecialurl = /^(?:href|src|style)$/,
-	rtype = /^(?:button|input)$/i,
-	rfocusable = /^(?:button|input|object|select|textarea)$/i,
-	rclickable = /^a(?:rea)?$/i,
-	rradiocheck = /^(?:radio|checkbox)$/i;
-
-jQuery.props = {
-	"for": "htmlFor",
-	"class": "className",
-	readonly: "readOnly",
-	maxlength: "maxLength",
-	cellspacing: "cellSpacing",
-	rowspan: "rowSpan",
-	colspan: "colSpan",
-	tabindex: "tabIndex",
-	usemap: "useMap",
-	frameborder: "frameBorder"
-};
-
-jQuery.fn.extend({
-	attr: function( name, value ) {
-		return jQuery.access( this, name, value, true, jQuery.attr );
-	},
-
-	removeAttr: function( name, fn ) {
-		return this.each(function(){
-			jQuery.attr( this, name, "" );
-			if ( this.nodeType === 1 ) {
-				this.removeAttribute( name );
-			}
-		});
-	},
-
-	addClass: function( value ) {
-		if ( jQuery.isFunction(value) ) {
-			return this.each(function(i) {
-				var self = jQuery(this);
-				self.addClass( value.call(this, i, self.attr("class")) );
-			});
-		}
-
-		if ( value && typeof value === "string" ) {
-			var classNames = (value || "").split( rspaces );
-
-			for ( var i = 0, l = this.length; i < l; i++ ) {
-				var elem = this[i];
-
-				if ( elem.nodeType === 1 ) {
-					if ( !elem.className ) {
-						elem.className = value;
-
-					} else {
-						var className = " " + elem.className + " ",
-							setClass = elem.className;
-
-						for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
-							if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
-								setClass += " " + classNames[c];
-							}
-						}
-						elem.className = jQuery.trim( setClass );
-					}
-				}
-			}
-		}
-
-		return this;
-	},
-
-	removeClass: function( value ) {
-		if ( jQuery.isFunction(value) ) {
-			return this.each(function(i) {
-				var self = jQuery(this);
-				self.removeClass( value.call(this, i, self.attr("class")) );
-			});
-		}
-
-		if ( (value && typeof value === "string") || value === undefined ) {
-			var classNames = (value || "").split( rspaces );
-
-			for ( var i = 0, l = this.length; i < l; i++ ) {
-				var elem = this[i];
-
-				if ( elem.nodeType === 1 && elem.className ) {
-					if ( value ) {
-						var className = (" " + elem.className + " ").replace(rclass, " ");
-						for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
-							className = className.replace(" " + classNames[c] + " ", " ");
-						}
-						elem.className = jQuery.trim( className );
-
-					} else {
-						elem.className = "";
-					}
-				}
-			}
-		}
-
-		return this;
-	},
-
-	toggleClass: function( value, stateVal ) {
-		var type = typeof value,
-			isBool = typeof stateVal === "boolean";
-
-		if ( jQuery.isFunction( value ) ) {
-			return this.each(function(i) {
-				var self = jQuery(this);
-				self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal );
-			});
-		}
-
-		return this.each(function() {
-			if ( type === "string" ) {
-				// toggle individual class names
-				var className,
-					i = 0,
-					self = jQuery( this ),
-					state = stateVal,
-					classNames = value.split( rspaces );
-
-				while ( (className = classNames[ i++ ]) ) {
-					// check each className given, space seperated list
-					state = isBool ? state : !self.hasClass( className );
-					self[ state ? "addClass" : "removeClass" ]( className );
-				}
-
-			} else if ( type === "undefined" || type === "boolean" ) {
-				if ( this.className ) {
-					// store className if set
-					jQuery.data( this, "__className__", this.className );
-				}
-
-				// toggle whole className
-				this.className = this.className || value === false ? "" : jQuery.data( this, "__className__" ) || "";
-			}
-		});
-	},
-
-	hasClass: function( selector ) {
-		var className = " " + selector + " ";
-		for ( var i = 0, l = this.length; i < l; i++ ) {
-			if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
-				return true;
-			}
-		}
-
-		return false;
-	},
-
-	val: function( value ) {
-		if ( !arguments.length ) {
-			var elem = this[0];
-
-			if ( elem ) {
-				if ( jQuery.nodeName( elem, "option" ) ) {
-					// attributes.value is undefined in Blackberry 4.7 but
-					// uses .value. See #6932
-					var val = elem.attributes.value;
-					return !val || val.specified ? elem.value : elem.text;
-				}
-
-				// We need to handle select boxes special
-				if ( jQuery.nodeName( elem, "select" ) ) {
-					var index = elem.selectedIndex,
-						values = [],
-						options = elem.options,
-						one = elem.type === "select-one";
-
-					// Nothing was selected
-					if ( index < 0 ) {
-						return null;
-					}
-
-					// Loop through all the selected options
-					for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
-						var option = options[ i ];
-
-						// Don't return options that are disabled or in a disabled optgroup
-						if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && 
-								(!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
-
-							// Get the specific value for the option
-							value = jQuery(option).val();
-
-							// We don't need an array for one selects
-							if ( one ) {
-								return value;
-							}
-
-							// Multi-Selects return an array
-							values.push( value );
-						}
-					}
-
-					return values;
-				}
-
-				// Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
-				if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) {
-					return elem.getAttribute("value") === null ? "on" : elem.value;
-				}
-				
-
-				// Everything else, we just grab the value
-				return (elem.value || "").replace(rreturn, "");
-
-			}
-
-			return undefined;
-		}
-
-		var isFunction = jQuery.isFunction(value);
-
-		return this.each(function(i) {
-			var self = jQuery(this), val = value;
-
-			if ( this.nodeType !== 1 ) {
-				return;
-			}
-
-			if ( isFunction ) {
-				val = value.call(this, i, self.val());
-			}
-
-			// Treat null/undefined as ""; convert numbers to string
-			if ( val == null ) {
-				val = "";
-			} else if ( typeof val === "number" ) {
-				val += "";
-			} else if ( jQuery.isArray(val) ) {
-				val = jQuery.map(val, function (value) {
-					return value == null ? "" : value + "";
-				});
-			}
-
-			if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {
-				this.checked = jQuery.inArray( self.val(), val ) >= 0;
-
-			} else if ( jQuery.nodeName( this, "select" ) ) {
-				var values = jQuery.makeArray(val);
-
-				jQuery( "option", this ).each(function() {
-					this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
-				});
-
-				if ( !values.length ) {
-					this.selectedIndex = -1;
-				}
-
-			} else {
-				this.value = val;
-			}
-		});
-	}
-});
-
-jQuery.extend({
-	attrFn: {
-		val: true,
-		css: true,
-		html: true,
-		text: true,
-		data: true,
-		width: true,
-		height: true,
-		offset: true
-	},
-		
-	attr: function( elem, name, value, pass ) {
-		// don't set attributes on text and comment nodes
-		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
-			return undefined;
-		}
-
-		if ( pass && name in jQuery.attrFn ) {
-			return jQuery(elem)[name](value);
-		}
-
-		var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ),
-			// Whether we are setting (or getting)
-			set = value !== undefined;
-
-		// Try to normalize/fix the name
-		name = notxml && jQuery.props[ name ] || name;
-
-		// These attributes require special treatment
-		var special = rspecialurl.test( name );
-
-		// Safari mis-reports the default selected property of an option
-		// Accessing the parent's selectedIndex property fixes it
-		if ( name === "selected" && !jQuery.support.optSelected ) {
-			var parent = elem.parentNode;
-			if ( parent ) {
-				parent.selectedIndex;
-
-				// Make sure that it also works with optgroups, see #5701
-				if ( parent.parentNode ) {
-					parent.parentNode.selectedIndex;
-				}
-			}
-		}
-
-		// If applicable, access the attribute via the DOM 0 way
-		// 'in' checks fail in Blackberry 4.7 #6931
-		if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) {
-			if ( set ) {
-				// We can't allow the type property to be changed (since it causes problems in IE)
-				if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) {
-					jQuery.error( "type property can't be changed" );
-				}
-
-				if ( value === null ) {
-					if ( elem.nodeType === 1 ) {
-						elem.removeAttribute( name );
-					}
-
-				} else {
-					elem[ name ] = value;
-				}
-			}
-
-			// browsers index elements by id/name on forms, give priority to attributes.
-			if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) {
-				return elem.getAttributeNode( name ).nodeValue;
-			}
-
-			// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
-			// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
-			if ( name === "tabIndex" ) {
-				var attributeNode = elem.getAttributeNode( "tabIndex" );
-
-				return attributeNode && attributeNode.specified ?
-					attributeNode.value :
-					rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
-						0 :
-						undefined;
-			}
-
-			return elem[ name ];
-		}
-
-		if ( !jQuery.support.style && notxml && name === "style" ) {
-			if ( set ) {
-				elem.style.cssText = "" + value;
-			}
-
-			return elem.style.cssText;
-		}
-
-		if ( set ) {
-			// convert the value to a string (all browsers do this but IE) see #1070
-			elem.setAttribute( name, "" + value );
-		}
-
-		// Ensure that missing attributes return undefined
-		// Blackberry 4.7 returns "" from getAttribute #6938
-		if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) {
-			return undefined;
-		}
-
-		var attr = !jQuery.support.hrefNormalized && notxml && special ?
-				// Some attributes require a special call on IE
-				elem.getAttribute( name, 2 ) :
-				elem.getAttribute( name );
-
-		// Non-existent attributes return null, we normalize to undefined
-		return attr === null ? undefined : attr;
-	}
-});
-
-
-
-
-var rnamespaces = /\.(.*)$/,
-	rformElems = /^(?:textarea|input|select)$/i,
-	rperiod = /\./g,
-	rspace = / /g,
-	rescape = /[^\w\s.|`]/g,
-	fcleanup = function( nm ) {
-		return nm.replace(rescape, "\\$&");
-	},
-	focusCounts = { focusin: 0, focusout: 0 };
-
-/*
- * A number of helper functions used for managing events.
- * Many of the ideas behind this code originated from
- * Dean Edwards' addEvent library.
- */
-jQuery.event = {
-
-	// Bind an event to an element
-	// Original by Dean Edwards
-	add: function( elem, types, handler, data ) {
-		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
-			return;
-		}
-
-		// For whatever reason, IE has trouble passing the window object
-		// around, causing it to be cloned in the process
-		if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) {
-			elem = window;
-		}
-
-		if ( handler === false ) {
-			handler = returnFalse;
-		} else if ( !handler ) {
-			// Fixes bug #7229. Fix recommended by jdalton
-		  return;
-		}
-
-		var handleObjIn, handleObj;
-
-		if ( handler.handler ) {
-			handleObjIn = handler;
-			handler = handleObjIn.handler;
-		}
-
-		// Make sure that the function being executed has a unique ID
-		if ( !handler.guid ) {
-			handler.guid = jQuery.guid++;
-		}
-
-		// Init the element's event structure
-		var elemData = jQuery.data( elem );
-
-		// If no elemData is found then we must be trying to bind to one of the
-		// banned noData elements
-		if ( !elemData ) {
-			return;
-		}
-
-		// Use a key less likely to result in collisions for plain JS objects.
-		// Fixes bug #7150.
-		var eventKey = elem.nodeType ? "events" : "__events__",
-			events = elemData[ eventKey ],
-			eventHandle = elemData.handle;
-			
-		if ( typeof events === "function" ) {
-			// On plain objects events is a fn that holds the the data
-			// which prevents this data from being JSON serialized
-			// the function does not need to be called, it just contains the data
-			eventHandle = events.handle;
-			events = events.events;
-
-		} else if ( !events ) {
-			if ( !elem.nodeType ) {
-				// On plain objects, create a fn that acts as the holder
-				// of the values to avoid JSON serialization of event data
-				elemData[ eventKey ] = elemData = function(){};
-			}
-
-			elemData.events = events = {};
-		}
-
-		if ( !eventHandle ) {
-			elemData.handle = eventHandle = function() {
-				// Handle the second event of a trigger and when
-				// an event is called after a page has unloaded
-				return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
-					jQuery.event.handle.apply( eventHandle.elem, arguments ) :
-					undefined;
-			};
-		}
-
-		// Add elem as a property of the handle function
-		// This is to prevent a memory leak with non-native events in IE.
-		eventHandle.elem = elem;
-
-		// Handle multiple events separated by a space
-		// jQuery(...).bind("mouseover mouseout", fn);
-		types = types.split(" ");
-
-		var type, i = 0, namespaces;
-
-		while ( (type = types[ i++ ]) ) {
-			handleObj = handleObjIn ?
-				jQuery.extend({}, handleObjIn) :
-				{ handler: handler, data: data };
-
-			// Namespaced event handlers
-			if ( type.indexOf(".") > -1 ) {
-				namespaces = type.split(".");
-				type = namespaces.shift();
-				handleObj.namespace = namespaces.slice(0).sort().join(".");
-
-			} else {
-				namespaces = [];
-				handleObj.namespace = "";
-			}
-
-			handleObj.type = type;
-			if ( !handleObj.guid ) {
-				handleObj.guid = handler.guid;
-			}
-
-			// Get the current list of functions bound to this event
-			var handlers = events[ type ],
-				special = jQuery.event.special[ type ] || {};
-
-			// Init the event handler queue
-			if ( !handlers ) {
-				handlers = events[ type ] = [];
-
-				// Check for a special event handler
-				// Only use addEventListener/attachEvent if the special
-				// events handler returns false
-				if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
-					// Bind the global event handler to the element
-					if ( elem.addEventListener ) {
-						elem.addEventListener( type, eventHandle, false );
-
-					} else if ( elem.attachEvent ) {
-						elem.attachEvent( "on" + type, eventHandle );
-					}
-				}
-			}
-			
-			if ( special.add ) { 
-				special.add.call( elem, handleObj ); 
-
-				if ( !handleObj.handler.guid ) {
-					handleObj.handler.guid = handler.guid;
-				}
-			}
-
-			// Add the function to the element's handler list
-			handlers.push( handleObj );
-
-			// Keep track of which events have been used, for global triggering
-			jQuery.event.global[ type ] = true;
-		}
-
-		// Nullify elem to prevent memory leaks in IE
-		elem = null;
-	},
-
-	global: {},
-
-	// Detach an event or set of events from an element
-	remove: function( elem, types, handler, pos ) {
-		// don't do events on text and comment nodes
-		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
-			return;
-		}
-
-		if ( handler === false ) {
-			handler = returnFalse;
-		}
-
-		var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType,
-			eventKey = elem.nodeType ? "events" : "__events__",
-			elemData = jQuery.data( elem ),
-			events = elemData && elemData[ eventKey ];
-
-		if ( !elemData || !events ) {
-			return;
-		}
-		
-		if ( typeof events === "function" ) {
-			elemData = events;
-			events = events.events;
-		}
-
-		// types is actually an event object here
-		if ( types && types.type ) {
-			handler = types.handler;
-			types = types.type;
-		}
-
-		// Unbind all events for the element
-		if ( !types || typeof types === "string" && types.charAt(0) === "." ) {
-			types = types || "";
-
-			for ( type in events ) {
-				jQuery.event.remove( elem, type + types );
-			}
-
-			return;
-		}
-
-		// Handle multiple events separated by a space
-		// jQuery(...).unbind("mouseover mouseout", fn);
-		types = types.split(" ");
-
-		while ( (type = types[ i++ ]) ) {
-			origType = type;
-			handleObj = null;
-			all = type.indexOf(".") < 0;
-			namespaces = [];
-
-			if ( !all ) {
-				// Namespaced event handlers
-				namespaces = type.split(".");
-				type = namespaces.shift();
-
-				namespace = new RegExp("(^|\\.)" + 
-					jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)");
-			}
-
-			eventType = events[ type ];
-
-			if ( !eventType ) {
-				continue;
-			}
-
-			if ( !handler ) {
-				for ( j = 0; j < eventType.length; j++ ) {
-					handleObj = eventType[ j ];
-
-					if ( all || namespace.test( handleObj.namespace ) ) {
-						jQuery.event.remove( elem, origType, handleObj.handler, j );
-						eventType.splice( j--, 1 );
-					}
-				}
-
-				continue;
-			}
-
-			special = jQuery.event.special[ type ] || {};
-
-			for ( j = pos || 0; j < eventType.length; j++ ) {
-				handleObj = eventType[ j ];
-
-				if ( handler.guid === handleObj.guid ) {
-					// remove the given handler for the given type
-					if ( all || namespace.test( handleObj.namespace ) ) {
-						if ( pos == null ) {
-							eventType.splice( j--, 1 );
-						}
-
-						if ( special.remove ) {
-							special.remove.call( elem, handleObj );
-						}
-					}
-
-					if ( pos != null ) {
-						break;
-					}
-				}
-			}
-
-			// remove generic event handler if no more handlers exist
-			if ( eventType.length === 0 || pos != null && eventType.length === 1 ) {
-				if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
-					jQuery.removeEvent( elem, type, elemData.handle );
-				}
-
-				ret = null;
-				delete events[ type ];
-			}
-		}
-
-		// Remove the expando if it's no longer used
-		if ( jQuery.isEmptyObject( events ) ) {
-			var handle = elemData.handle;
-			if ( handle ) {
-				handle.elem = null;
-			}
-
-			delete elemData.events;
-			delete elemData.handle;
-
-			if ( typeof elemData === "function" ) {
-				jQuery.removeData( elem, eventKey );
-
-			} else if ( jQuery.isEmptyObject( elemData ) ) {
-				jQuery.removeData( elem );
-			}
-		}
-	},
-
-	// bubbling is internal
-	trigger: function( event, data, elem /*, bubbling */ ) {
-		// Event object or event type
-		var type = event.type || event,
-			bubbling = arguments[3];
-
-		if ( !bubbling ) {
-			event = typeof event === "object" ?
-				// jQuery.Event object
-				event[ jQuery.expando ] ? event :
-				// Object literal
-				jQuery.extend( jQuery.Event(type), event ) :
-				// Just the event type (string)
-				jQuery.Event(type);
-
-			if ( type.indexOf("!") >= 0 ) {
-				event.type = type = type.slice(0, -1);
-				event.exclusive = true;
-			}
-
-			// Handle a global trigger
-			if ( !elem ) {
-				// Don't bubble custom events when global (to avoid too much overhead)
-				event.stopPropagation();
-
-				// Only trigger if we've ever bound an event for it
-				if ( jQuery.event.global[ type ] ) {
-					jQuery.each( jQuery.cache, function() {
-						if ( this.events && this.events[type] ) {
-							jQuery.event.trigger( event, data, this.handle.elem );
-						}
-					});
-				}
-			}
-
-			// Handle triggering a single element
-
-			// don't do events on text and comment nodes
-			if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
-				return undefined;
-			}
-
-			// Clean up in case it is reused
-			event.result = undefined;
-			event.target = elem;
-
-			// Clone the incoming data, if any
-			data = jQuery.makeArray( data );
-			data.unshift( event );
-		}
-
-		event.currentTarget = elem;
-
-		// Trigger the event, it is assumed that "handle" is a function
-		var handle = elem.nodeType ?
-			jQuery.data( elem, "handle" ) :
-			(jQuery.data( elem, "__events__" ) || {}).handle;
-
-		if ( handle ) {
-			handle.apply( elem, data );
-		}
-
-		var parent = elem.parentNode || elem.ownerDocument;
-
-		// Trigger an inline bound script
-		try {
-			if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) {
-				if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) {
-					event.result = false;
-					event.preventDefault();
-				}
-			}
-
-		// prevent IE from throwing an error for some elements with some event types, see #3533
-		} catch (inlineError) {}
-
-		if ( !event.isPropagationStopped() && parent ) {
-			jQuery.event.trigger( event, data, parent, true );
-
-		} else if ( !event.isDefaultPrevented() ) {
-			var old,
-				target = event.target,
-				targetType = type.replace( rnamespaces, "" ),
-				isClick = jQuery.nodeName( target, "a" ) && targetType === "click",
-				special = jQuery.event.special[ targetType ] || {};
-
-			if ( (!special._default || special._default.call( elem, event ) === false) && 
-				!isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) {
-
-				try {
-					if ( target[ targetType ] ) {
-						// Make sure that we don't accidentally re-trigger the onFOO events
-						old = target[ "on" + targetType ];
-
-						if ( old ) {
-							target[ "on" + targetType ] = null;
-						}
-
-						jQuery.event.triggered = true;
-						target[ targetType ]();
-					}
-
-				// prevent IE from throwing an error for some elements with some event types, see #3533
-				} catch (triggerError) {}
-
-				if ( old ) {
-					target[ "on" + targetType ] = old;
-				}
-
-				jQuery.event.triggered = false;
-			}
-		}
-	},
-
-	handle: function( event ) {
-		var all, handlers, namespaces, namespace_re, events,
-			namespace_sort = [],
-			args = jQuery.makeArray( arguments );
-
-		event = args[0] = jQuery.event.fix( event || window.event );
-		event.currentTarget = this;
-
-		// Namespaced event handlers
-		all = event.type.indexOf(".") < 0 && !event.exclusive;
-
-		if ( !all ) {
-			namespaces = event.type.split(".");
-			event.type = namespaces.shift();
-			namespace_sort = namespaces.slice(0).sort();
-			namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)");
-		}
-
-		event.namespace = event.namespace || namespace_sort.join(".");
-
-		events = jQuery.data(this, this.nodeType ? "events" : "__events__");
-
-		if ( typeof events === "function" ) {
-			events = events.events;
-		}
-
-		handlers = (events || {})[ event.type ];
-
-		if ( events && handlers ) {
-			// Clone the handlers to prevent manipulation
-			handlers = handlers.slice(0);
-
-			for ( var j = 0, l = handlers.length; j < l; j++ ) {
-				var handleObj = handlers[ j ];
-
-				// Filter the functions by class
-				if ( all || namespace_re.test( handleObj.namespace ) ) {
-					// Pass in a reference to the handler function itself
-					// So that we can later remove it
-					event.handler = handleObj.handler;
-					event.data = handleObj.data;
-					event.handleObj = handleObj;
-	
-					var ret = handleObj.handler.apply( this, args );
-
-					if ( ret !== undefined ) {
-						event.result = ret;
-						if ( ret === false ) {
-							event.preventDefault();
-							event.stopPropagation();
-						}
-					}
-
-					if ( event.isImmediatePropagationStopped() ) {
-						break;
-					}
-				}
-			}
-		}
-
-		return event.result;
-	},
-
-	props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-
-	fix: function( event ) {
-		if ( event[ jQuery.expando ] ) {
-			return event;
-		}
-
-		// store a copy of the original event object
-		// and "clone" to set read-only properties
-		var originalEvent = event;
-		event = jQuery.Event( originalEvent );
-
-		for ( var i = this.props.length, prop; i; ) {
-			prop = this.props[ --i ];
-			event[ prop ] = originalEvent[ prop ];
-		}
-
-		// Fix target property, if necessary
-		if ( !event.target ) {
-			// Fixes #1925 where srcElement might not be defined either
-			event.target = event.srcElement || document;
-		}
-
-		// check if target is a textnode (safari)
-		if ( event.target.nodeType === 3 ) {
-			event.target = event.target.parentNode;
-		}
-
-		// Add relatedTarget, if necessary
-		if ( !event.relatedTarget && event.fromElement ) {
-			event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;
-		}
-
-		// Calculate pageX/Y if missing and clientX/Y available
-		if ( event.pageX == null && event.clientX != null ) {
-			var doc = document.documentElement,
-				body = document.body;
-
-			event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
-			event.pageY = event.clientY + (doc && doc.scrollTop  || body && body.scrollTop  || 0) - (doc && doc.clientTop  || body && body.clientTop  || 0);
-		}
-
-		// Add which for key events
-		if ( event.which == null && (event.charCode != null || event.keyCode != null) ) {
-			event.which = event.charCode != null ? event.charCode : event.keyCode;
-		}
-
-		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
-		if ( !event.metaKey && event.ctrlKey ) {
-			event.metaKey = event.ctrlKey;
-		}
-
-		// Add which for click: 1 === left; 2 === middle; 3 === right
-		// Note: button is not normalized, so don't use it
-		if ( !event.which && event.button !== undefined ) {
-			event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
-		}
-
-		return event;
-	},
-
-	// Deprecated, use jQuery.guid instead
-	guid: 1E8,
-
-	// Deprecated, use jQuery.proxy instead
-	proxy: jQuery.proxy,
-
-	special: {
-		ready: {
-			// Make sure the ready event is setup
-			setup: jQuery.bindReady,
-			teardown: jQuery.noop
-		},
-
-		live: {
-			add: function( handleObj ) {
-				jQuery.event.add( this,
-					liveConvert( handleObj.origType, handleObj.selector ),
-					jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); 
-			},
-
-			remove: function( handleObj ) {
-				jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj );
-			}
-		},
-
-		beforeunload: {
-			setup: function( data, namespaces, eventHandle ) {
-				// We only want to do this special case on windows
-				if ( jQuery.isWindow( this ) ) {
-					this.onbeforeunload = eventHandle;
-				}
-			},
-
-			teardown: function( namespaces, eventHandle ) {
-				if ( this.onbeforeunload === eventHandle ) {
-					this.onbeforeunload = null;
-				}
-			}
-		}
-	}
-};
-
-jQuery.removeEvent = document.removeEventListener ?
-	function( elem, type, handle ) {
-		if ( elem.removeEventListener ) {
-			elem.removeEventListener( type, handle, false );
-		}
-	} : 
-	function( elem, type, handle ) {
-		if ( elem.detachEvent ) {
-			elem.detachEvent( "on" + type, handle );
-		}
-	};
-
-jQuery.Event = function( src ) {
-	// Allow instantiation without the 'new' keyword
-	if ( !this.preventDefault ) {
-		return new jQuery.Event( src );
-	}
-
-	// Event object
-	if ( src && src.type ) {
-		this.originalEvent = src;
-		this.type = src.type;
-	// Event type
-	} else {
-		this.type = src;
-	}
-
-	// timeStamp is buggy for some events on Firefox(#3843)
-	// So we won't rely on the native value
-	this.timeStamp = jQuery.now();
-
-	// Mark it as fixed
-	this[ jQuery.expando ] = true;
-};
-
-function returnFalse() {
-	return false;
-}
-function returnTrue() {
-	return true;
-}
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
-	preventDefault: function() {
-		this.isDefaultPrevented = returnTrue;
-
-		var e = this.originalEvent;
-		if ( !e ) {
-			return;
-		}
-		
-		// if preventDefault exists run it on the original event
-		if ( e.preventDefault ) {
-			e.preventDefault();
-
-		// otherwise set the returnValue property of the original event to false (IE)
-		} else {
-			e.returnValue = false;
-		}
-	},
-	stopPropagation: function() {
-		this.isPropagationStopped = returnTrue;
-
-		var e = this.originalEvent;
-		if ( !e ) {
-			return;
-		}
-		// if stopPropagation exists run it on the original event
-		if ( e.stopPropagation ) {
-			e.stopPropagation();
-		}
-		// otherwise set the cancelBubble property of the original event to true (IE)
-		e.cancelBubble = true;
-	},
-	stopImmediatePropagation: function() {
-		this.isImmediatePropagationStopped = returnTrue;
-		this.stopPropagation();
-	},
-	isDefaultPrevented: returnFalse,
-	isPropagationStopped: returnFalse,
-	isImmediatePropagationStopped: returnFalse
-};
-
-// Checks if an event happened on an element within another element
-// Used in jQuery.event.special.mouseenter and mouseleave handlers
-var withinElement = function( event ) {
-	// Check if mouse(over|out) are still within the same parent element
-	var parent = event.relatedTarget;
-
-	// Firefox sometimes assigns relatedTarget a XUL element
-	// which we cannot access the parentNode property of
-	try {
-		// Traverse up the tree
-		while ( parent && parent !== this ) {
-			parent = parent.parentNode;
-		}
-
-		if ( parent !== this ) {
-			// set the correct event type
-			event.type = event.data;
-
-			// handle event if we actually just moused on to a non sub-element
-			jQuery.event.handle.apply( this, arguments );
-		}
-
-	// assuming we've left the element since we most likely mousedover a xul element
-	} catch(e) { }
-},
-
-// In case of event delegation, we only need to rename the event.type,
-// liveHandler will take care of the rest.
-delegate = function( event ) {
-	event.type = event.data;
-	jQuery.event.handle.apply( this, arguments );
-};
-
-// Create mouseenter and mouseleave events
-jQuery.each({
-	mouseenter: "mouseover",
-	mouseleave: "mouseout"
-}, function( orig, fix ) {
-	jQuery.event.special[ orig ] = {
-		setup: function( data ) {
-			jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig );
-		},
-		teardown: function( data ) {
-			jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement );
-		}
-	};
-});
-
-// submit delegation
-if ( !jQuery.support.submitBubbles ) {
-
-	jQuery.event.special.submit = {
-		setup: function( data, namespaces ) {
-			if ( this.nodeName.toLowerCase() !== "form" ) {
-				jQuery.event.add(this, "click.specialSubmit", function( e ) {
-					var elem = e.target,
-						type = elem.type;
-
-					if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) {
-						e.liveFired = undefined;
-						return trigger( "submit", this, arguments );
-					}
-				});
-	 
-				jQuery.event.add(this, "keypress.specialSubmit", function( e ) {
-					var elem = e.target,
-						type = elem.type;
-
-					if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) {
-						e.liveFired = undefined;
-						return trigger( "submit", this, arguments );
-					}
-				});
-
-			} else {
-				return false;
-			}
-		},
-
-		teardown: function( namespaces ) {
-			jQuery.event.remove( this, ".specialSubmit" );
-		}
-	};
-
-}
-
-// change delegation, happens here so we have bind.
-if ( !jQuery.support.changeBubbles ) {
-
-	var changeFilters,
-
-	getVal = function( elem ) {
-		var type = elem.type, val = elem.value;
-
-		if ( type === "radio" || type === "checkbox" ) {
-			val = elem.checked;
-
-		} else if ( type === "select-multiple" ) {
-			val = elem.selectedIndex > -1 ?
-				jQuery.map( elem.options, function( elem ) {
-					return elem.selected;
-				}).join("-") :
-				"";
-
-		} else if ( elem.nodeName.toLowerCase() === "select" ) {
-			val = elem.selectedIndex;
-		}
-
-		return val;
-	},
-
-	testChange = function testChange( e ) {
-		var elem = e.target, data, val;
-
-		if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) {
-			return;
-		}
-
-		data = jQuery.data( elem, "_change_data" );
-		val = getVal(elem);
-
-		// the current data will be also retrieved by beforeactivate
-		if ( e.type !== "focusout" || elem.type !== "radio" ) {
-			jQuery.data( elem, "_change_data", val );
-		}
-		
-		if ( data === undefined || val === data ) {
-			return;
-		}
-
-		if ( data != null || val ) {
-			e.type = "change";
-			e.liveFired = undefined;
-			return jQuery.event.trigger( e, arguments[1], elem );
-		}
-	};
-
-	jQuery.event.special.change = {
-		filters: {
-			focusout: testChange, 
-
-			beforedeactivate: testChange,
-
-			click: function( e ) {
-				var elem = e.target, type = elem.type;
-
-				if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) {
-					return testChange.call( this, e );
-				}
-			},
-
-			// Change has to be called before submit
-			// Keydown will be called before keypress, which is used in submit-event delegation
-			keydown: function( e ) {
-				var elem = e.target, type = elem.type;
-
-				if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") ||
-					(e.keyCode === 32 && (type === "checkbox" || type === "radio")) ||
-					type === "select-multiple" ) {
-					return testChange.call( this, e );
-				}
-			},
-
-			// Beforeactivate happens also before the previous element is blurred
-			// with this event you can't trigger a change event, but you can store
-			// information
-			beforeactivate: function( e ) {
-				var elem = e.target;
-				jQuery.data( elem, "_change_data", getVal(elem) );
-			}
-		},
-
-		setup: function( data, namespaces ) {
-			if ( this.type === "file" ) {
-				return false;
-			}
-
-			for ( var type in changeFilters ) {
-				jQuery.event.add( this, type + ".specialChange", changeFilters[type] );
-			}
-
-			return rformElems.test( this.nodeName );
-		},
-
-		teardown: function( namespaces ) {
-			jQuery.event.remove( this, ".specialChange" );
-
-			return rformElems.test( this.nodeName );
-		}
-	};
-
-	changeFilters = jQuery.event.special.change.filters;
-
-	// Handle when the input is .focus()'d
-	changeFilters.focus = changeFilters.beforeactivate;
-}
-
-function trigger( type, elem, args ) {
-	args[0].type = type;
-	return jQuery.event.handle.apply( elem, args );
-}
-
-// Create "bubbling" focus and blur events
-if ( document.addEventListener ) {
-	jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
-		jQuery.event.special[ fix ] = {
-			setup: function() {
-				if ( focusCounts[fix]++ === 0 ) {
-					document.addEventListener( orig, handler, true );
-				}
-			}, 
-			teardown: function() { 
-				if ( --focusCounts[fix] === 0 ) {
-					document.removeEventListener( orig, handler, true );
-				}
-			}
-		};
-
-		function handler( e ) { 
-			e = jQuery.event.fix( e );
-			e.type = fix;
-			return jQuery.event.trigger( e, null, e.target );
-		}
-	});
-}
-
-jQuery.each(["bind", "one"], function( i, name ) {
-	jQuery.fn[ name ] = function( type, data, fn ) {
-		// Handle object literals
-		if ( typeof type === "object" ) {
-			for ( var key in type ) {
-				this[ name ](key, data, type[key], fn);
-			}
-			return this;
-		}
-		
-		if ( jQuery.isFunction( data ) || data === false ) {
-			fn = data;
-			data = undefined;
-		}
-
-		var handler = name === "one" ? jQuery.proxy( fn, function( event ) {
-			jQuery( this ).unbind( event, handler );
-			return fn.apply( this, arguments );
-		}) : fn;
-
-		if ( type === "unload" && name !== "one" ) {
-			this.one( type, data, fn );
-
-		} else {
-			for ( var i = 0, l = this.length; i < l; i++ ) {
-				jQuery.event.add( this[i], type, handler, data );
-			}
-		}
-
-		return this;
-	};
-});
-
-jQuery.fn.extend({
-	unbind: function( type, fn ) {
-		// Handle object literals
-		if ( typeof type === "object" && !type.preventDefault ) {
-			for ( var key in type ) {
-				this.unbind(key, type[key]);
-			}
-
-		} else {
-			for ( var i = 0, l = this.length; i < l; i++ ) {
-				jQuery.event.remove( this[i], type, fn );
-			}
-		}
-
-		return this;
-	},
-	
-	delegate: function( selector, types, data, fn ) {
-		return this.live( types, data, fn, selector );
-	},
-	
-	undelegate: function( selector, types, fn ) {
-		if ( arguments.length === 0 ) {
-				return this.unbind( "live" );
-		
-		} else {
-			return this.die( types, null, fn, selector );
-		}
-	},
-	
-	trigger: function( type, data ) {
-		return this.each(function() {
-			jQuery.event.trigger( type, data, this );
-		});
-	},
-
-	triggerHandler: function( type, data ) {
-		if ( this[0] ) {
-			var event = jQuery.Event( type );
-			event.preventDefault();
-			event.stopPropagation();
-			jQuery.event.trigger( event, data, this[0] );
-			return event.result;
-		}
-	},
-
-	toggle: function( fn ) {
-		// Save reference to arguments for access in closure
-		var args = arguments,
-			i = 1;
-
-		// link all the functions, so any of them can unbind this click handler
-		while ( i < args.length ) {
-			jQuery.proxy( fn, args[ i++ ] );
-		}
-
-		return this.click( jQuery.proxy( fn, function( event ) {
-			// Figure out which function to execute
-			var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i;
-			jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 );
-
-			// Make sure that clicks stop
-			event.preventDefault();
-
-			// and execute the function
-			return args[ lastToggle ].apply( this, arguments ) || false;
-		}));
-	},
-
-	hover: function( fnOver, fnOut ) {
-		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
-	}
-});
-
-var liveMap = {
-	focus: "focusin",
-	blur: "focusout",
-	mouseenter: "mouseover",
-	mouseleave: "mouseout"
-};
-
-jQuery.each(["live", "die"], function( i, name ) {
-	jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) {
-		var type, i = 0, match, namespaces, preType,
-			selector = origSelector || this.selector,
-			context = origSelector ? this : jQuery( this.context );
-		
-		if ( typeof types === "object" && !types.preventDefault ) {
-			for ( var key in types ) {
-				context[ name ]( key, data, types[key], selector );
-			}
-			
-			return this;
-		}
-
-		if ( jQuery.isFunction( data ) ) {
-			fn = data;
-			data = undefined;
-		}
-
-		types = (types || "").split(" ");
-
-		while ( (type = types[ i++ ]) != null ) {
-			match = rnamespaces.exec( type );
-			namespaces = "";
-
-			if ( match )  {
-				namespaces = match[0];
-				type = type.replace( rnamespaces, "" );
-			}
-
-			if ( type === "hover" ) {
-				types.push( "mouseenter" + namespaces, "mouseleave" + namespaces );
-				continue;
-			}
-
-			preType = type;
-
-			if ( type === "focus" || type === "blur" ) {
-				types.push( liveMap[ type ] + namespaces );
-				type = type + namespaces;
-
-			} else {
-				type = (liveMap[ type ] || type) + namespaces;
-			}
-
-			if ( name === "live" ) {
-				// bind live handler
-				for ( var j = 0, l = context.length; j < l; j++ ) {
-					jQuery.event.add( context[j], "live." + liveConvert( type, selector ),
-						{ data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } );
-				}
-
-			} else {
-				// unbind live handler
-				context.unbind( "live." + liveConvert( type, selector ), fn );
-			}
-		}
-		
-		return this;
-	};
-});
-
-function liveHandler( event ) {
-	var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret,
-		elems = [],
-		selectors = [],
-		events = jQuery.data( this, this.nodeType ? "events" : "__events__" );
-
-	if ( typeof events === "function" ) {
-		events = events.events;
-	}
-
-	// Make sure we avoid non-left-click bubbling in Firefox (#3861)
-	if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) {
-		return;
-	}
-	
-	if ( event.namespace ) {
-		namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)");
-	}
-
-	event.liveFired = this;
-
-	var live = events.live.slice(0);
-
-	for ( j = 0; j < live.length; j++ ) {
-		handleObj = live[j];
-
-		if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) {
-			selectors.push( handleObj.selector );
-
-		} else {
-			live.splice( j--, 1 );
-		}
-	}
-
-	match = jQuery( event.target ).closest( selectors, event.currentTarget );
-
-	for ( i = 0, l = match.length; i < l; i++ ) {
-		close = match[i];
-
-		for ( j = 0; j < live.length; j++ ) {
-			handleObj = live[j];
-
-			if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) ) {
-				elem = close.elem;
-				related = null;
-
-				// Those two events require additional checking
-				if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) {
-					event.type = handleObj.preType;
-					related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0];
-				}
-
-				if ( !related || related !== elem ) {
-					elems.push({ elem: elem, handleObj: handleObj, level: close.level });
-				}
-			}
-		}
-	}
-
-	for ( i = 0, l = elems.length; i < l; i++ ) {
-		match = elems[i];
-
-		if ( maxLevel && match.level > maxLevel ) {
-			break;
-		}
-
-		event.currentTarget = match.elem;
-		event.data = match.handleObj.data;
-		event.handleObj = match.handleObj;
-
-		ret = match.handleObj.origHandler.apply( match.elem, arguments );
-
-		if ( ret === false || event.isPropagationStopped() ) {
-			maxLevel = match.level;
-
-			if ( ret === false ) {
-				stop = false;
-			}
-			if ( event.isImmediatePropagationStopped() ) {
-				break;
-			}
-		}
-	}
-
-	return stop;
-}
-
-function liveConvert( type, selector ) {
-	return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&");
-}
-
-jQuery.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").split(" "), function( i, name ) {
-
-	// Handle event binding
-	jQuery.fn[ name ] = function( data, fn ) {
-		if ( fn == null ) {
-			fn = data;
-			data = null;
-		}
-
-		return arguments.length > 0 ?
-			this.bind( name, data, fn ) :
-			this.trigger( name );
-	};
-
-	if ( jQuery.attrFn ) {
-		jQuery.attrFn[ name ] = true;
-	}
-});
-
-// Prevent memory leaks in IE
-// Window isn't included so as not to unbind existing unload events
-// More info:
-//  - http://isaacschlueter.com/2006/10/msie-memory-leaks/
-if ( window.attachEvent && !window.addEventListener ) {
-	jQuery(window).bind("unload", function() {
-		for ( var id in jQuery.cache ) {
-			if ( jQuery.cache[ id ].handle ) {
-				// Try/Catch is to handle iframes being unloaded, see #4280
-				try {
-					jQuery.event.remove( jQuery.cache[ id ].handle.elem );
-				} catch(e) {}
-			}
-		}
-	});
-}
-
-
-/*!
- * Sizzle CSS Selector Engine - v1.0
- *  Copyright 2009, The Dojo Foundation
- *  Released under the MIT, BSD, and GPL Licenses.
- *  More information: http://sizzlejs.com/
- */
-(function(){
-
-var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
-	done = 0,
-	toString = Object.prototype.toString,
-	hasDuplicate = false,
-	baseHasDuplicate = true;
-
-// Here we check if the JavaScript engine is using some sort of
-// optimization where it does not always call our comparision
-// function. If that is the case, discard the hasDuplicate value.
-//   Thus far that includes Google Chrome.
-[0, 0].sort(function() {
-	baseHasDuplicate = false;
-	return 0;
-});
-
-var Sizzle = function( selector, context, results, seed ) {
-	results = results || [];
-	context = context || document;
-
-	var origContext = context;
-
-	if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
-		return [];
-	}
-	
-	if ( !selector || typeof selector !== "string" ) {
-		return results;
-	}
-
-	var m, set, checkSet, extra, ret, cur, pop, i,
-		prune = true,
-		contextXML = Sizzle.isXML( context ),
-		parts = [],
-		soFar = selector;
-	
-	// Reset the position of the chunker regexp (start from head)
-	do {
-		chunker.exec( "" );
-		m = chunker.exec( soFar );
-
-		if ( m ) {
-			soFar = m[3];
-		
-			parts.push( m[1] );
-		
-			if ( m[2] ) {
-				extra = m[3];
-				break;
-			}
-		}
-	} while ( m );
-
-	if ( parts.length > 1 && origPOS.exec( selector ) ) {
-
-		if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
-			set = posProcess( parts[0] + parts[1], context );
-
-		} else {
-			set = Expr.relative[ parts[0] ] ?
-				[ context ] :
-				Sizzle( parts.shift(), context );
-
-			while ( parts.length ) {
-				selector = parts.shift();
-
-				if ( Expr.relative[ selector ] ) {
-					selector += parts.shift();
-				}
-				
-				set = posProcess( selector, set );
-			}
-		}
-
-	} else {
-		// Take a shortcut and set the context if the root selector is an ID
-		// (but not if it'll be faster if the inner selector is an ID)
-		if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
-				Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
-
-			ret = Sizzle.find( parts.shift(), context, contextXML );
-			context = ret.expr ?
-				Sizzle.filter( ret.expr, ret.set )[0] :
-				ret.set[0];
-		}
-
-		if ( context ) {
-			ret = seed ?
-				{ expr: parts.pop(), set: makeArray(seed) } :
-				Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
-
-			set = ret.expr ?
-				Sizzle.filter( ret.expr, ret.set ) :
-				ret.set;
-
-			if ( parts.length > 0 ) {
-				checkSet = makeArray( set );
-
-			} else {
-				prune = false;
-			}
-
-			while ( parts.length ) {
-				cur = parts.pop();
-				pop = cur;
-
-				if ( !Expr.relative[ cur ] ) {
-					cur = "";
-				} else {
-					pop = parts.pop();
-				}
-
-				if ( pop == null ) {
-					pop = context;
-				}
-
-				Expr.relative[ cur ]( checkSet, pop, contextXML );
-			}
-
-		} else {
-			checkSet = parts = [];
-		}
-	}
-
-	if ( !checkSet ) {
-		checkSet = set;
-	}
-
-	if ( !checkSet ) {
-		Sizzle.error( cur || selector );
-	}
-
-	if ( toString.call(checkSet) === "[object Array]" ) {
-		if ( !prune ) {
-			results.push.apply( results, checkSet );
-
-		} else if ( context && context.nodeType === 1 ) {
-			for ( i = 0; checkSet[i] != null; i++ ) {
-				if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {
-					results.push( set[i] );
-				}
-			}
-
-		} else {
-			for ( i = 0; checkSet[i] != null; i++ ) {
-				if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
-					results.push( set[i] );
-				}
-			}
-		}
-
-	} else {
-		makeArray( checkSet, results );
-	}
-
-	if ( extra ) {
-		Sizzle( extra, origContext, results, seed );
-		Sizzle.uniqueSort( results );
-	}
-
-	return results;
-};
-
-Sizzle.uniqueSort = function( results ) {
-	if ( sortOrder ) {
-		hasDuplicate = baseHasDuplicate;
-		results.sort( sortOrder );
-
-		if ( hasDuplicate ) {
-			for ( var i = 1; i < results.length; i++ ) {
-				if ( results[i] === results[ i - 1 ] ) {
-					results.splice( i--, 1 );
-				}
-			}
-		}
-	}
-
-	return results;
-};
-
-Sizzle.matches = function( expr, set ) {
-	return Sizzle( expr, null, null, set );
-};
-
-Sizzle.matchesSelector = function( node, expr ) {
-	return Sizzle( expr, null, null, [node] ).length > 0;
-};
-
-Sizzle.find = function( expr, context, isXML ) {
-	var set;
-
-	if ( !expr ) {
-		return [];
-	}
-
-	for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
-		var match,
-			type = Expr.order[i];
-		
-		if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
-			var left = match[1];
-			match.splice( 1, 1 );
-
-			if ( left.substr( left.length - 1 ) !== "\\" ) {
-				match[1] = (match[1] || "").replace(/\\/g, "");
-				set = Expr.find[ type ]( match, context, isXML );
-
-				if ( set != null ) {
-					expr = expr.replace( Expr.match[ type ], "" );
-					break;
-				}
-			}
-		}
-	}
-
-	if ( !set ) {
-		set = context.getElementsByTagName( "*" );
-	}
-
-	return { set: set, expr: expr };
-};
-
-Sizzle.filter = function( expr, set, inplace, not ) {
-	var match, anyFound,
-		old = expr,
-		result = [],
-		curLoop = set,
-		isXMLFilter = set && set[0] && Sizzle.isXML( set[0] );
-
-	while ( expr && set.length ) {
-		for ( var type in Expr.filter ) {
-			if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
-				var found, item,
-					filter = Expr.filter[ type ],
-					left = match[1];
-
-				anyFound = false;
-
-				match.splice(1,1);
-
-				if ( left.substr( left.length - 1 ) === "\\" ) {
-					continue;
-				}
-
-				if ( curLoop === result ) {
-					result = [];
-				}
-
-				if ( Expr.preFilter[ type ] ) {
-					match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
-
-					if ( !match ) {
-						anyFound = found = true;
-
-					} else if ( match === true ) {
-						continue;
-					}
-				}
-
-				if ( match ) {
-					for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
-						if ( item ) {
-							found = filter( item, match, i, curLoop );
-							var pass = not ^ !!found;
-
-							if ( inplace && found != null ) {
-								if ( pass ) {
-									anyFound = true;
-
-								} else {
-									curLoop[i] = false;
-								}
-
-							} else if ( pass ) {
-								result.push( item );
-								anyFound = true;
-							}
-						}
-					}
-				}
-
-				if ( found !== undefined ) {
-					if ( !inplace ) {
-						curLoop = result;
-					}
-
-					expr = expr.replace( Expr.match[ type ], "" );
-
-					if ( !anyFound ) {
-						return [];
-					}
-
-					break;
-				}
-			}
-		}
-
-		// Improper expression
-		if ( expr === old ) {
-			if ( anyFound == null ) {
-				Sizzle.error( expr );
-
-			} else {
-				break;
-			}
-		}
-
-		old = expr;
-	}
-
-	return curLoop;
-};
-
-Sizzle.error = function( msg ) {
-	throw "Syntax error, unrecognized expression: " + msg;
-};
-
-var Expr = Sizzle.selectors = {
-	order: [ "ID", "NAME", "TAG" ],
-
-	match: {
-		ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
-		CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
-		NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
-		ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
-		TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
-		CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
-		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
-		PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
-	},
-
-	leftMatch: {},
-
-	attrMap: {
-		"class": "className",
-		"for": "htmlFor"
-	},
-
-	attrHandle: {
-		href: function( elem ) {
-			return elem.getAttribute( "href" );
-		}
-	},
-
-	relative: {
-		"+": function(checkSet, part){
-			var isPartStr = typeof part === "string",
-				isTag = isPartStr && !/\W/.test( part ),
-				isPartStrNotTag = isPartStr && !isTag;
-
-			if ( isTag ) {
-				part = part.toLowerCase();
-			}
-
-			for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
-				if ( (elem = checkSet[i]) ) {
-					while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
-
-					checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
-						elem || false :
-						elem === part;
-				}
-			}
-
-			if ( isPartStrNotTag ) {
-				Sizzle.filter( part, checkSet, true );
-			}
-		},
-
-		">": function( checkSet, part ) {
-			var elem,
-				isPartS

<TRUNCATED>