# HG changeset patch # User Daniel Wolff # Date 1455047642 -3600 # Node ID 493bcb69166c2f032e678c21285a0d9d3d1bd955 added public content diff -r 000000000000 -r 493bcb69166c $/$ --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/$ Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ +./ \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/all.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/all.css Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,36 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0} +/*! jQuery UI - v1.11.0 - 2014-06-26 +* http://jqueryui.com +* Includes: core.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, draggable.css, menu.css, progressbar.css, resizable.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css +* 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:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.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-left:0;margin-right:-0.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-multi-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-group-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:0;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-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-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:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.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:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px .4em;margin:.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:.4em 2.1em .4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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;-ms-touch-action:none;touch-action:none}.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:-0.3em;margin-left:-0.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:-0.3em;margin-left:0;margin-bottom:-0.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:0;background:0;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:0;border-bottom:0;border-right:0}.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-tabs .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:0}.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 url("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-state-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_diagonals-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{background-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{background-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-arrow-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:-160px -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{background-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-position:-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{background-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{border-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} +/*! + * DML Main Vis + * http://dml.city.ac.uk/ + */ +.ui-widget{font-family:'Web Open Sans',Verdana,sans-serif;font-size:14px;line-height:20px}.ui-widget-content{background-image:none}.ui-menu .ui-menu-item{list-style-image:none}.ui-menu-item{font-weight:normal !important;padding-left:4px !important}.ui-autocomplete{background:#eee;border:1px solid #ccc;-webkit-border-bottom-left-radius:5px;-moz-border-radius-bottomleft:5px;border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;-webkit-background-clip:padding-box;-moz-border-radius-bottomright:5px;-moz-background-clip:padding;border-bottom-right-radius:5px;background-clip:padding-box;overflow:hidden}.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{background-image:none}.ui_config-grid-type_collection .ui-state-focus{color:#3182bd;background:0;border-color:#eee}.ui_config-grid-type_recording .ui-state-focus{color:#31a354;background:0;border-color:#eee} +@font-face{font-family:'Web Open Sans';src:url('../$/fonts/OpenSans/Light/OpenSans-Light.eot');src:url('../$/fonts/OpenSans/Light/OpenSans-Light.eot?#iefix') format('embedded-opentype'),url('../$/fonts/OpenSans/Light/OpenSans-Light.woff') format('woff'),url('../$/fonts/OpenSans/Light/OpenSans-Light.ttf') format('truetype'),url('../$/fonts/OpenSans/Light/OpenSans-Light.svg#OpenSansLight') format('svg');font-weight:300;font-style:normal}@font-face{font-family:'Web Open Sans';src:url('../$/fonts/OpenSans/LightItalic/OpenSans-LightItalic.eot');src:url('../$/fonts/OpenSans/LightItalic/OpenSans-LightItalic.eot?#iefix') format('embedded-opentype'),url('../$/fonts/OpenSans/LightItalic/OpenSans-LightItalic.woff') format('woff'),url('../$/fonts/OpenSans/LightItalic/OpenSans-LightItalic.ttf') format('truetype'),url('../$/fonts/OpenSans/LightItalic/OpenSans-LightItalic.svg#OpenSansLightItalic') format('svg');font-weight:300;font-style:italic}@font-face{font-family:'Web Open Sans';src:url('../$/fonts/OpenSans/Regular/OpenSans-Regular.eot');src:url('../$/fonts/OpenSans/Regular/OpenSans-Regular.eot?#iefix') format('embedded-opentype'),url('../$/fonts/OpenSans/Regular/OpenSans-Regular.woff') format('woff'),url('../$/fonts/OpenSans/Regular/OpenSans-Regular.ttf') format('truetype'),url('../$/fonts/OpenSans/Regular/OpenSans-Regular.svg#OpenSansRegular') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'Web Open Sans';src:url('../$/fonts/OpenSans/Italic/OpenSans-Italic.eot');src:url('../$/fonts/OpenSans/Italic/OpenSans-Italic.eot?#iefix') format('embedded-opentype'),url('../$/fonts/OpenSans/Italic/OpenSans-Italic.woff') format('woff'),url('../$/fonts/OpenSans/Italic/OpenSans-Italic.ttf') format('truetype'),url('../$/fonts/OpenSans/Italic/OpenSans-Italic.svg#OpenSansItalic') format('svg');font-weight:normal;font-style:italic}@font-face{font-family:'Web Open Sans';src:url('../$/fonts/OpenSans/Semibold/OpenSans-Semibold.eot');src:url('../$/fonts/OpenSans/Semibold/OpenSans-Semibold.eot?#iefix') format('embedded-opentype'),url('../$/fonts/OpenSans/Semibold/OpenSans-Semibold.woff') format('woff'),url('../$/fonts/OpenSans/Semibold/OpenSans-Semibold.ttf') format('truetype'),url('../$/fonts/OpenSans/Semibold/OpenSans-Semibold.svg#OpenSansSemibold') format('svg');font-weight:600;font-style:normal}@font-face{font-family:'Web Open Sans';src:url('../$/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.eot');src:url('../$/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.eot?#iefix') format('embedded-opentype'),url('../$/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.woff') format('woff'),url('../$/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.ttf') format('truetype'),url('../$/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.svg#OpenSansSemiboldItalic') format('svg');font-weight:600;font-style:italic}@font-face{font-family:'Web Open Sans';src:url('../$/fonts/OpenSans/Bold/OpenSans-Bold.eot');src:url('../$/fonts/OpenSans/Bold/OpenSans-Bold.eot?#iefix') format('embedded-opentype'),url('../$/fonts/OpenSans/Bold/OpenSans-Bold.woff') format('woff'),url('../$/fonts/OpenSans/Bold/OpenSans-Bold.ttf') format('truetype'),url('../$/fonts/OpenSans/Bold/OpenSans-Bold.svg#OpenSansBold') format('svg');font-weight:bold;font-style:normal}@font-face{font-family:'Web Open Sans';src:url('../$/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.eot');src:url('../$/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.eot?#iefix') format('embedded-opentype'),url('../$/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.woff') format('woff'),url('../$/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.ttf') format('truetype'),url('../$/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.svg#OpenSansBoldItalic') format('svg');font-weight:bold;font-style:italic}@font-face{font-family:'Web Open Sans';src:url('../$/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.eot');src:url('../$/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.eot?#iefix') format('embedded-opentype'),url('../$/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.woff') format('woff'),url('../$/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.ttf') format('truetype'),url('../$/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.svg#OpenSansExtrabold') format('svg');font-weight:800;font-style:normal}@font-face{font-family:'Web Open Sans';src:url('../$/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.eot');src:url('../$/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.eot?#iefix') format('embedded-opentype'),url('../$/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff') format('woff'),url('../$/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.ttf') format('truetype'),url('../$/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.svg#OpenSansExtraboldItalic') format('svg');font-weight:800;font-style:italic} +html,body{height:100%;overflow:hidden} + +.app{width:10px;height:20px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-border-bottom-right-radius:10px;-webkit-background-clip:padding-box;-moz-border-radius-bottomright:10px;-moz-background-clip:padding;border-bottom-right-radius:10px;background-clip:padding-box;background:#fff}.app__assets-version-indicator{font-family:'Web Open Sans',Verdana,sans-serif;font-size:10px;line-height:13px;position:fixed;z-index:9999;bottom:0;left:0;padding:0 5px;height:18px;line-height:18px;background-color:#58f97b;-webkit-border-top-right-radius:5px;-webkit-background-clip:padding-box;-moz-border-radius-topright:5px;-moz-background-clip:padding;border-top-right-radius:5px;background-clip:padding-box;text-shadow:0 0 3px #fff,-1px -1px 0 rgba(255,255,255,0.2),1px -1px 0 rgba(255,255,255,0.2),-1px 1px 0 rgba(255,255,255,0.2),1px 1px 0 rgba(255,255,255,0.2)} +.cgpma{cursor:default}.config-grid_type_collection .config-grid-panel_dimension_entity .cgpma{padding:12px 0 0 13px}.config-grid_type_recording .config-grid-panel_dimension_entity .cgpma{padding:10px 0 0 13px}.config-grid-panel_dimension_view .cgpma{padding:10px 15px 10px 15px}.cgpma__explanation{padding-left:5px;padding-right:5px;padding-bottom:8px}.config-grid_type_collection .cgpma__explanation{color:#8d9295}.config-grid_type_recording .cgpma__explanation{color:#8d938f}.config-grid-panel_dimension_entity .cgpma__explanation{display:inline-block}.config-grid_type_recording .config-grid-panel_dimension_entity .cgpma__explanation{padding-top:3px}.cgpma__explanation_for-previous-input{font-family:'Web Open Sans',Verdana,sans-serif;font-size:10px;line-height:13px;margin-top:-6px}.cgpma__explanation_for-previous-tickbox{font-family:'Web Open Sans',Verdana,sans-serif;font-size:10px;line-height:13px}.cgpma__explanation_sticked-to-left{padding-left:0}.cgpma__explanation_second-row{padding-top:25px}.cgpma__pseudo-link{color:#909090;cursor:pointer;border-bottom:1px dotted;display:inline}.cgpma__pseudo-link:hover{color:#000}.config-grid-panel_dimension_entity .cgpma__input-block{display:inline-block;padding:0 15px 0 0;min-width:150px;vertical-align:top}.config-grid-panel_dimension_view .cgpma__input-block{margin-bottom:10px}.cgpma__input-block_location_first-in-group{margin-top:20px}.cgpma__label{padding:0 5px 1px;color:#909090}.config-grid_type_collection .cgpma__label{color:#8d9295}.config-grid_type_recording .cgpma__label{color:#8d938f}.cgpma__label a{color:#909090;text-decoration:none;border-bottom:1px solid rgba(0,0,0,0.1)}.config-grid_type_collection .cgpma__label a{color:#8d9295}.config-grid_type_recording .cgpma__label a{color:#8d938f}.cgpma__label a:hover{color:#000 !important;border-bottom:1px solid rgba(0,0,0,0.4)}.cgpma__label_without-left-padding{padding-left:0}.cgpma__textfield{border-radius:5px;height:20px;position:relative;border-top:3px solid;border-right:5px solid;border-bottom:3px solid;border-left:5px solid}.config-grid-panel_dimension_entity .cgpma__textfield{width:150px}.cgpma__textfield-input{outline:none !important;font-family:'Web Open Sans',Verdana,sans-serif;font-size:14px;line-height:20px;background:0;position:relative;width:100%;height:100%;margin:0;border:0;padding:3px 5px;top:-3px;left:-5px;-webkit-border-radius:5px;-webkit-background-clip:padding-box;-moz-border-radius:5px;-moz-background-clip:padding;border-radius:5px;background-clip:padding-box}.cgpma .cgpma__textfield_autocomplete-is-open{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;-webkit-background-clip:padding-box;-moz-border-radius-bottomright:0;-moz-background-clip:padding;border-bottom-right-radius:0;background-clip:padding-box}.cgpma__textfield .ui-autocomplete{font-family:'Web Open Sans',Verdana,sans-serif;font-size:14px;line-height:20px}.cgpma__tickbox{margin-right:15px;padding-left:20px;display:inline-block;min-height:22px;padding-top:3px;position:relative}.cgpma__tickbox_one-per-line{display:block}.cgpma__tickbox_state_enabled{cursor:pointer}.config-grid-panel_dimension_view .cgpma__tickbox_location_first-in-group{margin-top:5px}.cgpma__tickbox_location_last-in-group{margin-right:0}.cgpma__tickbox-tick{position:absolute;border-radius:5px;height:15px;width:15px;left:0;top:5px}.cgpma__tickbox_ticked .cgpma__tickbox-tick{background-repeat:no-repeat;background-position:2px 4px;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGlJREFUeNpi/P//PwMuwMjIKA2k1gHxFwaQQmwYCECK7gExiHMMJDABiJcCMQ+SIjkkRVeBWIIBSeAwSDEWRaIw56kD8XMkxQ+h7PMwRWCFUNUgxU+gCjAUwRVCFatArdoLxELongMIMAANx1tBwGkjIgAAAABJRU5ErkJggg==')}.cgpma__tickbox_type_radio .cgpma__tickbox-tick{border-radius:10px}.cgpma__tickbox_type_radio.cgpma__tickbox_ticked .cgpma__tickbox-tick{background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSI1IiB3aWR0aD0iNSI+ICA8Y2lyY2xlIGN4PSIyLjUiIGN5PSIyLjUiIHI9IjIuNSIgZmlsbD0iYmxhY2siIC8+PC9zdmc+');background-position:center center}.config-grid_type_collection .cgpma__textfield,.config-grid_type_collection .cgpma__tickbox-tick{background-color:#d6e6f2;border-color:#d6e6f2}.config-grid_type_recording .cgpma__textfield,.config-grid_type_recording .cgpma__tickbox-tick{background-color:#d6eddd;border-color:#d6eddd}.config-grid_type_collection .cgpma__textfield_status_modified,.config-grid_type_collection .cgpma__tickbox_status_modified .cgpma__tickbox-tick{background-color:#b0b6ba;border-color:#b0b6ba}.config-grid_type_recording .cgpma__textfield_status_modified,.config-grid_type_recording .cgpma__tickbox_status_modified .cgpma__tickbox-tick{background-color:#b0b8b2;border-color:#b0b8b2}.config-grid_type_collection .cgpma__textfield_status_error{background-color:#dab6ba;border-color:#dab6ba}.config-grid_type_recording .cgpma__textfield_status_error{background-color:#dab8b2;border-color:#dab8b2} +.config-grid-cells{position:absolute;bottom:0;right:0;z-index:19;overflow:hidden;left:250px;top:70px}.config-grid_type_recording .config-grid-cells{left:250px;top:44px}.config-grid-cells__container_position_scrollable{position:absolute;top:0;left:0;right:0;bottom:0;overflow:scroll;z-index:60;background:rgba(0,0,0,0)}.config-grid-cells__container_position_fixed{position:absolute;pointer-events:none !important;top:0;left:0;overflow:hidden;z-index:30}.config-grid-cells__space{position:absolute;z-index:61;overflow:hidden;padding-left:20px;padding-right:50px;padding-bottom:50px}.config-grid_type_collection .config-grid-cells__space{padding-top:67px}.config-grid_type_recording .config-grid-cells__space{padding-top:71px}.config-grid-cells__entity-headers-container{position:absolute;top:0;left:20px;right:0;height:10px;overflow:visible;z-index:25}.config-grid_type_collection .config-grid-cells__entity-headers-container{height:67px}.config-grid_type_recording .config-grid-cells__entity-headers-container{height:71px}.config-grid-cells__entity-headers-blind{position:absolute;top:0;left:0;right:0;bottom:0;z-index:26;background:#fff}.config-grid-cells__entity-header{cursor:pointer;position:absolute;top:5px;height:42px;overflow:visible;z-index:27}.config-grid_type_collection .config-grid-cells__entity-header{height:42px}.config-grid_type_recording .config-grid-cells__entity-header{height:46px}.config-grid-cells__entity-header_kind_adder{width:109px;height:30px !important}.config-grid-cells__entity-header_kind_pair .config-grid-cells__entity-header-background{background:#fff !important}.config-grid-cells__entity-header_kind_pair.config-grid-cells__entity-header_selected .config-grid-cells__entity-header-label{color:#909090 !important}.config-grid-cells__entity-header_selected{cursor:default}.config-grid-cells__entity-header-background{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:5px;border:5px solid;background-color:#f0f0f0;border-color:#f0f0f0}.config-grid_type_collection .config-grid-cells__entity-header_selected .config-grid-cells__entity-header-background{background-color:#eaf3f8;border-color:#eaf3f8}.config-grid_type_recording .config-grid-cells__entity-header_selected .config-grid-cells__entity-header-background{background-color:#eaf6ee;border-color:#eaf6ee}.config-grid-cells__entity-header_selected .config-grid-cells__entity-header-background{border-top-left-radius:0;border-top-right-radius:0;top:-10px}.config-grid-cells__entity-header-label{position:absolute;overflow:hidden;white-space:nowrap;top:-4px;bottom:0;left:8px;right:5px;padding-top:8px;color:#909090}.config-grid-cells__entity-header:hover .config-grid-cells__entity-header-label{color:#000}.config-grid_type_collection .config-grid-cells__entity-header_selected:hover .config-grid-cells__entity-header-label,.config-grid_type_collection .config-grid-cells__entity-header_selected .config-grid-cells__entity-header-label{color:#8d9295}.config-grid_type_recording .config-grid-cells__entity-header_selected:hover .config-grid-cells__entity-header-label,.config-grid_type_recording .config-grid-cells__entity-header_selected .config-grid-cells__entity-header-label{color:#8d938f}.config-grid-cells__entity-header-label_row2{top:14px}.config-grid_type_collection .config-grid-cells__entity-header-label_row2{font-family:'Web Open Sans',Verdana,sans-serif;font-size:10px;line-height:13px}.config-grid-cells__entity-header_kind_adder .config-grid-cells__entity-header-label{position:relative;text-align:center;left:0;right:0;padding-left:0;padding-right:0}.config-grid-cells__entity-header-label-fader{position:absolute;top:5px;bottom:5px;right:5px;width:10px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMSAxIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48bGluZWFyR3JhZGllbnQgaWQ9Imxlc3NoYXQtZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9InJnYigyNDAsIDI0MCwgMjQwKSIgc3RvcC1vcGFjaXR5PSIwIi8+PHN0b3Agb2Zmc2V0PSIxNSUiIHN0b3AtY29sb3I9InJnYigyNDAsIDI0MCwgMjQwKSIgc3RvcC1vcGFjaXR5PSIwLjI1Ii8+PHN0b3Agb2Zmc2V0PSIzMCUiIHN0b3AtY29sb3I9InJnYigyNDAsIDI0MCwgMjQwKSIgc3RvcC1vcGFjaXR5PSIwLjUiLz48c3RvcCBvZmZzZXQ9IjYwJSIgc3RvcC1jb2xvcj0icmdiKDI0MCwgMjQwLCAyNDApIiBzdG9wLW9wYWNpdHk9IjAuNzUiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmMGYwZjAiIHN0b3Atb3BhY2l0eT0iMSIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNsZXNzaGF0LWdlbmVyYXRlZCkiIC8+PC9zdmc+);background-image:-webkit-linear-gradient(left,rgba(240,240,240,0) 0,rgba(240,240,240,0.25) 15%,rgba(240,240,240,0.5) 30%,rgba(240,240,240,0.75) 60%,#f0f0f0 100%);background-image:-moz-linear-gradient(left,rgba(240,240,240,0) 0,rgba(240,240,240,0.25) 15%,rgba(240,240,240,0.5) 30%,rgba(240,240,240,0.75) 60%,#f0f0f0 100%);background-image:-o-linear-gradient(left,rgba(240,240,240,0) 0,rgba(240,240,240,0.25) 15%,rgba(240,240,240,0.5) 30%,rgba(240,240,240,0.75) 60%,#f0f0f0 100%);background-image:linear-gradient(to right,rgba(240,240,240,0) 0,rgba(240,240,240,0.25) 15%,rgba(240,240,240,0.5) 30%,rgba(240,240,240,0.75) 60%,#f0f0f0 100%)}.config-grid_type_collection .config-grid-cells__entity-header_selected .config-grid-cells__entity-header-label-fader{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMSAxIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48bGluZWFyR3JhZGllbnQgaWQ9Imxlc3NoYXQtZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9InJnYigyMzQsIDI0MywgMjQ4KSIgc3RvcC1vcGFjaXR5PSIwIi8+PHN0b3Agb2Zmc2V0PSIxNSUiIHN0b3AtY29sb3I9InJnYigyMzQsIDI0MywgMjQ4KSIgc3RvcC1vcGFjaXR5PSIwLjI1Ii8+PHN0b3Agb2Zmc2V0PSIzMCUiIHN0b3AtY29sb3I9InJnYigyMzQsIDI0MywgMjQ4KSIgc3RvcC1vcGFjaXR5PSIwLjUiLz48c3RvcCBvZmZzZXQ9IjYwJSIgc3RvcC1jb2xvcj0icmdiKDIzNCwgMjQzLCAyNDgpIiBzdG9wLW9wYWNpdHk9IjAuNzUiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlYWYzZjgiIHN0b3Atb3BhY2l0eT0iMSIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNsZXNzaGF0LWdlbmVyYXRlZCkiIC8+PC9zdmc+);background-image:-webkit-linear-gradient(left,rgba(234,243,248,0) 0,rgba(234,243,248,0.25) 15%,rgba(234,243,248,0.5) 30%,rgba(234,243,248,0.75) 60%,#eaf3f8 100%);background-image:-moz-linear-gradient(left,rgba(234,243,248,0) 0,rgba(234,243,248,0.25) 15%,rgba(234,243,248,0.5) 30%,rgba(234,243,248,0.75) 60%,#eaf3f8 100%);background-image:-o-linear-gradient(left,rgba(234,243,248,0) 0,rgba(234,243,248,0.25) 15%,rgba(234,243,248,0.5) 30%,rgba(234,243,248,0.75) 60%,#eaf3f8 100%);background-image:linear-gradient(to right,rgba(234,243,248,0) 0,rgba(234,243,248,0.25) 15%,rgba(234,243,248,0.5) 30%,rgba(234,243,248,0.75) 60%,#eaf3f8 100%)}.config-grid_type_recording .config-grid-cells__entity-header_selected .config-grid-cells__entity-header-label-fader{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMSAxIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48bGluZWFyR3JhZGllbnQgaWQ9Imxlc3NoYXQtZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9InJnYigyMzQsIDI0NiwgMjM4KSIgc3RvcC1vcGFjaXR5PSIwIi8+PHN0b3Agb2Zmc2V0PSIxNSUiIHN0b3AtY29sb3I9InJnYigyMzQsIDI0NiwgMjM4KSIgc3RvcC1vcGFjaXR5PSIwLjI1Ii8+PHN0b3Agb2Zmc2V0PSIzMCUiIHN0b3AtY29sb3I9InJnYigyMzQsIDI0NiwgMjM4KSIgc3RvcC1vcGFjaXR5PSIwLjUiLz48c3RvcCBvZmZzZXQ9IjYwJSIgc3RvcC1jb2xvcj0icmdiKDIzNCwgMjQ2LCAyMzgpIiBzdG9wLW9wYWNpdHk9IjAuNzUiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlYWY2ZWUiIHN0b3Atb3BhY2l0eT0iMSIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNsZXNzaGF0LWdlbmVyYXRlZCkiIC8+PC9zdmc+);background-image:-webkit-linear-gradient(left,rgba(234,246,238,0) 0,rgba(234,246,238,0.25) 15%,rgba(234,246,238,0.5) 30%,rgba(234,246,238,0.75) 60%,#eaf6ee 100%);background-image:-moz-linear-gradient(left,rgba(234,246,238,0) 0,rgba(234,246,238,0.25) 15%,rgba(234,246,238,0.5) 30%,rgba(234,246,238,0.75) 60%,#eaf6ee 100%);background-image:-o-linear-gradient(left,rgba(234,246,238,0) 0,rgba(234,246,238,0.25) 15%,rgba(234,246,238,0.5) 30%,rgba(234,246,238,0.75) 60%,#eaf6ee 100%);background-image:linear-gradient(to right,rgba(234,246,238,0) 0,rgba(234,246,238,0.25) 15%,rgba(234,246,238,0.5) 30%,rgba(234,246,238,0.75) 60%,#eaf6ee 100%)}.config-grid-cells__entity-header_kind_pair .config-grid-cells__entity-header-label-fader,.config-grid-cells__entity-header_kind_pair.config-grid-cells__entity-header_selected .config-grid-cells__entity-header-label-fader{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMSAxIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48bGluZWFyR3JhZGllbnQgaWQ9Imxlc3NoYXQtZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9InJnYigyNTUsIDI1NSwgMjU1KSIgc3RvcC1vcGFjaXR5PSIwIi8+PHN0b3Agb2Zmc2V0PSIxNSUiIHN0b3AtY29sb3I9InJnYigyNTUsIDI1NSwgMjU1KSIgc3RvcC1vcGFjaXR5PSIwLjI1Ii8+PHN0b3Agb2Zmc2V0PSIzMCUiIHN0b3AtY29sb3I9InJnYigyNTUsIDI1NSwgMjU1KSIgc3RvcC1vcGFjaXR5PSIwLjUiLz48c3RvcCBvZmZzZXQ9IjYwJSIgc3RvcC1jb2xvcj0icmdiKDI1NSwgMjU1LCAyNTUpIiBzdG9wLW9wYWNpdHk9IjAuNzUiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMSIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNsZXNzaGF0LWdlbmVyYXRlZCkiIC8+PC9zdmc+);background-image:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,0.25) 15%,rgba(255,255,255,0.5) 30%,rgba(255,255,255,0.75) 60%,#fff 100%);background-image:-moz-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,0.25) 15%,rgba(255,255,255,0.5) 30%,rgba(255,255,255,0.75) 60%,#fff 100%);background-image:-o-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,0.25) 15%,rgba(255,255,255,0.5) 30%,rgba(255,255,255,0.75) 60%,#fff 100%);background-image:linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,0.25) 15%,rgba(255,255,255,0.5) 30%,rgba(255,255,255,0.75) 60%,#fff 100%)}.config-grid-cells__view-headers-container{position:absolute;left:0;top:0;right:0;padding-right:20px;overflow:visible;z-index:22}.config-grid_type_collection .config-grid-cells__view-headers-container{top:67px}.config-grid_type_recording .config-grid-cells__view-headers-container{top:71px}.config-grid-cells__view-headers-blind{position:absolute;top:0;left:0;bottom:0;width:20px;z-index:23;background:#fff}.config-grid-cells__view-header{cursor:pointer;position:absolute;top:0;left:20px;right:0;height:26px;overflow:visible;z-index:24}.config-grid-cells__view-header_kind_adder{right:auto;width:auto}.config-grid-cells__view-header_selected{cursor:default}.config-grid-cells__view-header-background{position:absolute;top:0;left:0;right:0;bottom:0;border-top-left-radius:5px;border-bottom-left-radius:5px;background-color:#f0f0f0}.config-grid_type_collection .config-grid-cells__view-header_selected .config-grid-cells__view-header-background{background-color:#eaf3f8}.config-grid_type_recording .config-grid-cells__view-header_selected .config-grid-cells__view-header-background{background-color:#eaf6ee}.config-grid-cells__view-header_kind_adder .config-grid-cells__view-header-background{border-top-right-radius:5px;border-bottom-right-radius:5px}.config-grid-cells__view-header_selected .config-grid-cells__view-header-background{border-top-left-radius:0;border-bottom-left-radius:0;left:-20px}.config-grid-cells__view-header-label{position:absolute;overflow:hidden;white-space:nowrap;top:0;left:0;right:0;bottom:0;padding-left:8px;padding-right:8px;padding-top:3px;color:#909090}.config-grid-cells__view-header:hover .config-grid-cells__view-header-label{color:#000}.config-grid_type_collection .config-grid-cells__view-header_selected:hover .config-grid-cells__view-header-label,.config-grid_type_collection .config-grid-cells__view-header_selected .config-grid-cells__view-header-label{color:#8d9295}.config-grid_type_recording .config-grid-cells__view-header_selected:hover .config-grid-cells__view-header-label,.config-grid_type_recording .config-grid-cells__view-header_selected .config-grid-cells__view-header-label{color:#8d938f}.config-grid-cells__view-header_kind_adder .config-grid-cells__view-header-label{position:relative}.config-grid-cells__view-header-label-part_modified{text-decoration:line-through}.config-grid-cells__corner-blind{display:block;position:absolute;top:0;left:0;width:20px;z-index:29;background:#fff}.config-grid_type_collection .config-grid-cells__corner-blind{height:67px}.config-grid_type_recording .config-grid-cells__corner-blind{height:71px}.config-grid-cells__vis-instances-container{position:absolute;left:20px;top:0;width:0;height:0;overflow:visible;z-index:21}.config-grid_type_collection .config-grid-cells__vis-instances-container{top:67px}.config-grid_type_recording .config-grid-cells__vis-instances-container{top:71px}.config-grid-cells__vis-instance{background:#fff;position:absolute;left:0;top:0;overflow:hidden} +.config-grid-panel{position:absolute;z-index:30}.config-grid-panel_dimension_entity{top:0;right:0;left:270px;height:70px}.config-grid_type_recording .config-grid-panel_dimension_entity{left:270px;height:44px}.config-grid-panel_dimension_view{bottom:0;top:137px;width:250px}.config-grid_type_recording .config-grid-panel_dimension_view{top:115px;width:250px}.config-grid-panel__background{position:absolute;top:0;left:0;right:0;bottom:0;background:#f0f0f0}.config-grid_type_collection .config-grid-panel__background{background:#eaf3f8}.config-grid_type_recording .config-grid-panel__background{background:#eaf6ee}.config-grid-panel_dimension_entity .config-grid-panel__background{border-bottom-left-radius:5px}.config-grid-panel_dimension_view .config-grid-panel__background{border-top-right-radius:5px}.config-grid-panel__main-area-wrapper{position:absolute;overflow:hidden}.config-grid-panel_dimension_entity .config-grid-panel__main-area-wrapper{position:absolute;top:0;white-space:nowrap;left:77.5px;right:0;bottom:0;overflow:hidden}.config-grid-panel_dimension_view .config-grid-panel__main-area-wrapper{position:absolute;top:35px;left:0;right:0;bottom:0;overflow:hidden}.config-grid-panel__commands{text-align:center;line-height:25px}.config-grid-panel_dimension_entity .config-grid-panel__commands{padding-top:10px;position:relative;margin-left:12px;float:left}.config-grid-panel_dimension_entity .config-grid-panel__commands{width:67.5px}.config-grid_type_recording .config-grid-panel_dimension_entity .config-grid-panel__commands{width:62.5px;text-align:left}.config-grid_type_recording .config-grid-panel_dimension_entity.config-grid-panel_master-kind_pair .config-grid-panel__commands{width:142.5px}.config-grid-panel_dimension_view .config-grid-panel__commands{padding-top:10px;height:25px}.config-grid-panel_dimension_entity .config-grid-panel__command-group{display:block;position:absolute;width:25px;height:50px}.config-grid-panel_dimension_view .config-grid-panel__command-group,.config-grid_type_recording .config-grid-panel_dimension_entity .config-grid-panel__command-group{display:inline-block;width:55px;height:25px}.config-grid-panel_dimension_entity .config-grid-panel__command-group_type_clone-delete{padding-bottom:10px}.config-grid-panel_dimension_entity .config-grid-panel__command-group_type_discard-apply{left:36.25px}.config-grid-panel_dimension_view .config-grid-panel__command-group_type_clone-delete{padding-right:10px;margin-right:10px}.config-grid_type_recording .config-grid-panel_dimension_entity .config-grid-panel__command-group_type_clone-delete{padding-right:10px;margin-right:0}.config-grid-panel__command{cursor:default;overflow:visible;position:relative;display:inline-block;width:25px;height:25px;opactity:.5;border-radius:5px}.config-grid-panel_dimension_entity .config-grid-panel__command{display:block}.config-grid_type_recording .config-grid-panel_dimension_entity .config-grid-panel__command{display:inline-block}.config-grid-panel__command i{display:block;position:absolute;width:25px;height:25px;background-repeat:no-repeat;background-position:center center;opacity:.05}.config-grid-panel__command_state_enabled{cursor:pointer}.config-grid-panel__command_state_enabled i{opacity:.35}.config-grid-panel__command_state_enabled:hover i{opacity:1}.config-grid-panel__command_flashing i,.config-grid-panel__command_state_enabled:active i{top:1px}.config-grid-panel_dimension_entity .config-grid-panel__command_action_previous i{background-image:url("../$/bem/config-grid-panel/command/arrow_left.svg")}.config-grid-panel_dimension_view .config-grid-panel__command_action_previous i{background-image:url("../$/bem/config-grid-panel/command/arrow_up.svg")}.config-grid-panel_dimension_entity .config-grid-panel__command_action_next i{background-image:url("../$/bem/config-grid-panel/command/arrow_down.svg")}.config-grid-panel_dimension_view .config-grid-panel__command_action_next i{background-image:url("../$/bem/config-grid-panel/command/arrow_right.svg")}.config-grid-panel__command_action_clone i{background-image:url("../$/bem/config-grid-panel/command/clone_filled.svg")}.config-grid-panel__command_action_delete i{background-image:url("../$/bem/config-grid-panel/command/delete_filled.svg")}.config-grid-panel__command_action_discard i{background-image:url("../$/bem/config-grid-panel/command/discard_r.svg")}.config-grid-panel__command_action_apply i{background-image:url("../$/bem/config-grid-panel/command/apply_r.svg")}.config-grid-panel_dimension_view .config-grid-panel__command_action_clone,.config-grid_type_recording .config-grid-panel_dimension_entity .config-grid-panel__command_action_clone{margin-right:5px}.config-grid-panel_dimension_view .config-grid-panel__command_action_discard,.config-grid_type_recording .config-grid-panel_dimension_entity .config-grid-panel__command_action_discard{margin-right:5px}.config-grid_type_recording .config-grid-panel_dimension_entity .config-grid-panel__command-group_type_discard-apply{left:67.5px}.config-grid_type_recording .config-grid-panel_dimension_entity .config-grid-panel__main-area-wrapper{left:37.5px}.config-grid_type_recording .config-grid-panel_dimension_entity .config-grid-panel__command-group_type_discard-apply{display:none}.config-grid_type_recording .config-grid-panel_dimension_entity.config-grid-panel_master-kind_pair .config-grid-panel__command-group_type_discard-apply{display:inline-block}.config-grid_type_recording .config-grid-panel_dimension_entity .config-grid-panel__main-area-wrapper{left:67.5px}.config-grid_type_recording .config-grid-panel_dimension_entity.config-grid-panel_master-kind_pair .config-grid-panel__main-area-wrapper{left:137.5px}.config-grid-panel__border-radius-fixer-container{position:absolute;height:5px;width:5px}.config-grid-panel_dimension_entity .config-grid-panel__border-radius-fixer-container{bottom:0;left:0}.config-grid-panel_dimension_view .config-grid-panel__border-radius-fixer-container{top:0;right:0}.config-grid-panel__border-radius-fixer{position:absolute;top:0;left:0;height:5px;width:5px}.config-grid_type_collection .config-grid-panel__border-radius-fixer{background:#eaf3f8}.config-grid_type_recording .config-grid-panel__border-radius-fixer{background:#eaf6ee}.config-grid-panel__suggestion{padding-left:8px;padding-bottom:3px}.config-grid-panel__pseudo-link{color:#909090;cursor:pointer;border-bottom:1px dotted;display:inline}.config-grid-panel__pseudo-link:hover{color:#000} +.config-grid{background:#fff;overflow:hidden}.config-grid__header{cursor:default;font-size:28px;font-weight:300;position:relative;top:5px;left:0;text-align:center;line-height:32px}.config-grid_type_collection .config-grid__header{color:#adcde5;width:250px}.config-grid_type_recording .config-grid__header{color:#addabb;width:250px}.nojs .config-grid__loader,.lteie9 .config-grid__loader{display:none !important}.js .config-grid__loader{position:absolute;display:block;left:100px;top:10px;opacity:.3;width:50px;height:50px;background:no-repeat top left url("data:image/gif;base64,R0lGODlhMgAyAMYAAAQCBISChERCRMTCxCQiJKSipGRiZOTi5BQSFJSSlFRSVNTS1DQyNLSytHRydPTy9AwKDIyKjExKTMzKzCwqLKyqrGxqbOzq7BwaHJyanFxaXNza3Dw6PLy6vHx6fPz6/AQGBISGhERGRMTGxCQmJKSmpGRmZOTm5BQWFJSWlFRWVNTW1DQ2NLS2tHR2dPT29AwODIyOjExOTMzOzCwuLKyurGxubOzu7BweHJyenFxeXNze3Dw+PLy+vHx+fPz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQIBAAAACwAAAAAMgAyAAAH/oBAgoOEhYIfKwU2IiQoID8/H5GQP4aWl5hAPzshLAgAIACiAJIfph8vppCZrIU/EzowEKCjo5OoqC8PLy+rrZkHFggQECCzICAwODQ8kaapvLoPu5W/hj8VBLLGySIhAyfVgpTPu9MPN5LWgy8OKDDwEAQ+Gx+tkB/TN/s3D+KtNzQggDEMhY8T6wb9kHbjQr9/mG5IQDAQgYgVCQ3la3jhxA2Ihl4YQICCooMbGS39eHChpUOQCt2hQIEhRspML07oPPDxUg0cGGhGsHfz0sILB04ceGHpBAMMQR0UBaj0wAGiMaFikPFgKqsfSHccuPBvAgkcOAhg9MrqxYEd/nCx/jBBAG0Etr9uiN0RTtABEgQIsLiAt9UHuBvqCUoRmIDNwq0uJF6B8oMMwCR2QDa8YsOKHT820CBBwgDWzUYPdF7xoQIFCiQyoI68YsGCGwFIvJ4wm9UD2wtOGKBBYXBvnCtmzNghggYNETCPj6s9YwUHGgxUSM+UfMYCFgxoGNiOacOE8+AZmCB/acWEERN4sGChg72lBfBHKGDBQUJ06a+MMMIMFvAnAmH2DfLBCAMMsEAEHHDAwwwJDnJDgwNs0AAPEhZQoV89hHjCBiLwwIMDp5H3wwwhDrCLAQIIIMIBFT7QwY0T2JODADyIkEOFG7Rw4wZ+iWCkBgiS/vdCDy0IyZQmAYgggY/2adjkDOKsIMGWMmi23QMNhNlCVwrFIIEMMrhAZm8f9FBDDQ1gWcgFGsiggAwpSDdDBXC28GQhA9ypgAoV/HfTDwtUoGgNNKqUggKDalABaguUUIKicl7yQggqdKpBDmtOtWABlpYwQIqGPOCBBqzqEECjRd3QQA4F1NrBn5k8EIEGOvRqQgUoZfTCCDlkkAOtPeDaVg46GOCsCS7UcAGq19wwQbEZGJvDCNRm8sMINjxrgQU2JNDBBj0p9MABI1SQwLsppJBBAaAVdUEOFpiQrw02OOCCDyEkYGwKCUQQQgQxxABvBj2EeugOGYzbb78uOnjggQ8+BBDAwREgHEMKHfRVGFgtROCCvy5UnHHGIRwcQwETpDvbBydMUEMGEQSQcQQJlNDBAtNmFAgAIfkECAQAAAAsAAAAADIAMgAAB/6AQIKDhIWCHyslLjI0ODAwGBQSNgUrH4aYmZpAPzsRPDgIjxCkECCnAAAwDAE7P5uwhT8zFhgoCKIIEDCkIKaoqQAIJz+vsZsnDgQIt7gwCJEsIgIMyyDBAAI/H8XHmD8NNLa2KBgyMQPEhD8nAwEC1z3bH9zG3kAvHgQY/CgUITsuwfqwIca2bS/o2Yt1wwSOhzgIhDhxb1Axeh9eJFyo6YEKAiBxKFhR0RDCjBthvbAQkoCHGyW/oXzx4AXHdT5I6KSQIOYmlA9q3hQUjoLOBAJ9ygwaNCmhEwIoSPWgNBbNGzcecPzhQyoJDQ+qwvrxIGvWhQtY0KDBgKTYsf5Yb1xI+sMBA7Yx3h77cOHCWUEHWDBgIOCC3lgf5F5QByQHA8EpDh97sfhC2A8aWLDgsEMy4hOVO/HgwMKCU8/fbpxY/aEBB9IFUMd6cODEgRefOPCYIVvlgd83bPDgIcFwb00/DuyorUEADwVDjwtKvmPHCQk8BJiQjqz6ARHTHHDXdGCDeQkCRIgfj6m8eRkSRNhgj2nHhhUbDIiQoCO69B/3rbCDBxLIoAJM9A2CyAorHJCCDDIosECCgzywwgILnNBBhDLUQKEgF8yA4Q07aKCAAj74JxuAIs6QkA0qKKABRQm+MMONG1xSggo8VkDhARMESeMFGhRpAYLjff4wQ5ATvDBdDEVqUAJ9O4wwwgQb2LOBDlyacMB4D1xpZVgWZaCDATqE4ORxSg7gZpaFBGeAASbEdtwKA/QwwAhrFjKBCXRa0ICKMXXSQQ96GmdSASZYYIINLaC2QQeH9gBnJi+kYMGmNlTQZ1UfLNBCC5TOcJohuNlggwM2JECjUg8M0MCoHYxwKiYvZLCqAy540AKZFb2wQA01NDDrBLdiWoELvPYaQgcXEMrJAzM0UEGxNbSwQLLITRBArx744EMABQywg1brPHDCAh2UUEIF12Z7gLSZ3FCBD+GOG0AIEcSQQQHXVlBADgQXUIC71zb5VnIlBBCADyHw228MCTQkkEIKGRScw7sjRCvZDzf0kEEEEsdAcQwYZ5xDAdqi29sPF4haQw4Xp7BxCwNscAO9hAQCACH5BAgEAAAALAAAAAAyADIAAAf+gECCg4SFgh8bJR4qLCQYKAQMMi4FKx+GmJmaQD8HMRKOKI8IpDCmMBAoLCE7P5uvhT8LFiQ4OBi4KLoIMLyoEMAgEBoTrrCbJx4UBAS2tzgkDDwyEjwUOAgQwtswBgfHmD8NHCQkzQQkGjEjF5eDPycDIRIwIAD3ABglxuBALwE0KJQjwSLGDnebEPnAYe8eCAsP+j2wQUEgBRoRLvQbdMADBHwAcvDbdEMHjYAUNGzYaGgBj3siPnwYiemFAwYMTga4wRLTDRMSHsz8QZPQjxA4aTDI0HMTUZlDM3XgwAJnBoRNDT398GImphMSWIgNkRXWD5ldaR7lwNZAxLL+Trl2fTFygQCqPFbCffVjLt13PngIZroXFtcHL/4COSFAAA8FGgvzffGgsrECjXnkkHzsQ2XEQD6YECFAxDfOfG88UP1jhwwRIlxgRR3uheobPzpIkCCiAm1YtlW/SCBi94Lfrz7cuHHhgQcZMlTwRK7px4XrD0xAN1CU+rvrF25okKHAgfdNF06cuKBCgQIP5zUxV99ehY/4mdKr16FCBXz8hqh3wAk2aKCCBd2dB88BAwaggQYmTAfgIQzucEEOOmigwwoTDvLCDgfscMMAOhigQwMdCvLABjvs8MABJhhgQAQJItcJiwd94IOJJkQG4AsbBNkKEDWYYCSKE17+sMIKG0R2gQUWmOCBhOd9wOSS7vyQApQW1ADgBQsseQA/O9hgpgOneffCAjOssMALRhVwZgJwUofIDAssMGYhN/jgwJ9eUrfDDIRagskMLjjgggcd1NhUJxNMQCiVRlXgwqU+9EDbASNM0OmemXyQgwek+tBAnXAhMsKqE2wwmyEvZOCBDz4EkIOPTT0wwwC8jrDAq5g8UEKtAQQQQQ9vbQRkD8zyaig4HzRQbAghRJDCALiZtWIPHXTQwwA9bOBoOAvEUG0EEcSQQA0TnPDASH0pOUIL9HbbwQgnjKvJAy3EkK66CaSQQQ4l1NABvQ3UUEMDDDdQ7wqoZgVPAwA5ByxwDjkUUEAJJVTg8cIOL5CtZD88MEIJGQg8cMYbd1zBwuG+a+cNKwzQQgUlaFxBAz3M4CKwmwQCACH5BAgEAAAALAAAAAAyADIAAAf+gECCg4SFgh8bNT46PDQEOBQsKh4lGy+GmJmaQD8HKQo0JASPOBimKBgICDg8ETs/m7GFPwsuNBQkoqM4BKcYKKoIMDAIBhOwspsnASwUziQUBCQ0HCIKMiIMBMDEwxAoJgfJmD8dIjQMtxQ0OikTJ8iCPycjMTLAEPkQOBXx4y8RWDBIR0NAgleyPuwIQAACCIcwLFwa98AFCw4DOSQ4MY7QCR8oHoIAoeBGsgcmOLBYaWBDR0wrBIwEAYCHyU0vPPDgwDPEg5eZbligCQCAjJ+ZfsTgsZNHDqCxIhAFYMIfIXMCBPAo8AHqpg8BiIIogemCiqw8YnhNZqIoABf+VpWKECHABtK1m25wINHgh19CKxTMlbADb7IDB358+CsvgITHGQyP8/uhMrILMmRI0HBTcizFlRcLqpBZRgHPk198eAHrg41rCjiilqVYNesDKhQo8GF1NrnVq3/0UJG7hu9kq188+JCBuIYFx2k/eKE6gAYNOjpHT/qg+wsbOjTY6L2d0I/u3U2E91E+1oMb7w3oMBCi/ab38A3Ij2BfE36h+gXQX1A3FOiBCSbANeAsN1xwwQ0xmGCBA9ot+IODFzxQggUSurTgIB+ccMEJD4xggQ0WdPDhIA+cIOILJzhggw0pdPXhDze4eEJlEdjggAMXrPgBYgdcAEsLPzr+0MKKNxywwwk3XeDClD4tOOQOiNn4QwEueOCCigNesMOYRg6ygw8eeOCDbO0hMuYBE8lTQZo+5BBndJ2ssMMGZRJyQwQ+BBBAA+2dsMIGG+xgYyELBBBoCAOQh9eFK1S6QYWD/NBCACGEEMEAx52wwAKV9onJByV46mkHd6415AyjLnDAopm8UEAEEcQQQwVB4vXCCjPAOoOiybxQQ64xJJDCCK0it8ME0AZL7DgfdJBAsimkUMAEN0hq3gvPDjBCtLMC9cMKOSibQQoZ5NDBDBew9u0NOywwwL0j5DtDt2s90MG67eZQQAElVNBABz0M0EMPHTTccMIDTDDtpBc7dJDDxQOXUHAFNdTQQAMtdNDCwgmv8IC35j4wQwMZb+zxxy2E3IPE8m73Ab0T9NBCAx2PPMECJKKMSSAAIfkECAQAAAAsAAAAADIAMgAAB/6AQIKDhIWCHzsNESYSHDQ0HAI6ARUbL4aYmZpAPyc5OjwMNKI0FBQkJAQEOBQiCTs/m7KFPysBHBwsLAykpqipOKs4GAQmM7GzmxcRAri5uyw8Igo6GjKhJDjDGCjENgfJmD89CjzmuDwWORMXyII/FyMJGgQY3CgoFDXu4S8JEgIC8pCR4cCHWYhC0MCHAAEKB5fCPQggoqIAERkuhCN0IgSBhjAQqLiR7IELCRIqOtixEdMKEQhCwhBBctOHEChFSEjwoGWmGw5gCIWgomemHylkKFVQwqesGDEhQLDAj9AAFQoUyKhQ1WmhDxGkgoBRAdMFE1gVpPCazIZYHP7gCP3IoKKuh4hsN93gAQICCBP8NlTToIFl3lkLYIAAgWDAoB8xCGtoejiZBxAAAKhAdsGADh0WalaWdQJHZgiGG3zWUWN0OB+ZAQQA8sGHgdsnXCfbgBkAjRcnLJgwEOOgblkfBJxeMMCE8xbHk4UAAEPGghIWsq+IPutEhx/gEwh3IJr70Q8/PtS2YcNHV/Ny1ad34cBGBPjI1X9wwD8BfpsvvPABfQ6s9V8mAn7wggcuuODfgZgEKGAEDYbw3n/pBfhBBh54EIBREA6ioIQ1+OCBD4aF+M4DLH4wgw8wOqbiISw+8MEFAeRYwIXm/fDADTc8kF4KOYagkYo/BP4ZZCw9hBBACDKG+AKQD0R0QwQhRJACiP99cMMFXyLzQw0RlBnlfw9cAKaQgxwQQwQxJHAkfsCpeYFx73QQw54V4MldkidccMINVT2QQgKI9oDfDSc02g4mGySQwqQT8OiVjwdkegJetPQwaQYZzBDdDQfskCmhmnzQQgYpZJDDCH6ydeMOph7w6CYvNOBqDgW0UJ5TLxywAa07nBArgh3kwGsBJSzAaTg3rrDBtDvcudEHIxTAbAklNLAAm7Kkd8IK5G4g7a0b/bBDBdxWUEENNYywwQ0v8JPeAydsMMMC/JK7A7jAjuDuuw0U3EIHA4www8ITTDBCwwv3a2xlSTiOAG8NDbRwcAc99DDAxw9PEPEMB9Sr2w8vbNCDxhp3wPHHCYe8grGW5oXpCg4P0PHDK1RrckuBAAAh+QQIBAAAACwAAAAAMgAyAAAH/oBAgoOEhYIfOx0JLhoyAjwSCjYRDTsfhpiZmkA/JxU2CiIiAo88HBwsqQwsKhkHP5uxhT8bEQoyEiK5pDymqCwMwTTDDguwspsXKRq3uLkSMioGFhY6jsDDNBQUNB4nyJg/IybMt7ceJQsXx4I/FxM5JgzbJPUcDezgHzk6GioqCgyUOJEv04cDCXhQIEGAAAkPL8ABeRCjnz8NJW5IHHQiAg2GOAgY0CjrQQgDOvoF2LHR0AYVBHDIlEFS04cEKFHmeNAS0wMPMjHgMMAz048CJkwYMNGg56YEBDBgQOGi4KAJNpIytep00IcYU4VWwHTDAzUTBbrKcoGiLYUD/rNKULMQI6LaTQ8ktEVhI98OFw5s2Ph2N9YCDAgQYJgw6GhgB00LywqAAAYCHccuAHbgo6jkTSdIVEbBEkgPFx5ctPiMLIRlCBGA3ETt4QJrWRsqQ+Dw4kSA1Bm43ib0QQIMCCgWzPDhwceA4bIigIAAIUcDHz5WQo81AMZ0GwUCBAjheTumEygggBCRQHwM4eY5EQABgkKEECFyxN/EAgQABPdFUMJ+mggAAH0BDkggJgYemEAMEaS1oCEMAAAADDnEEENwExLyAw4WElDBgxmUN+EJMFjIQw8JtAhXh4JsIIKFJqyQwo0zwNjOByc0MMEFGdyID4w/fPBDkUVW/pDBkjUtWOQHRsIyQQo55MBYh08aKcgNVeZQgV0EFvnCBy8c88MAORSQQ44LkknmkYNcUMCcGYX5wphlejhCASWU0MEl5hX5wJ1aEvJCDSVUUAKb273wwKNjYrJDBZTWsAJ8Tgn66AOAGvLDBBXUUEEDKwz3wQ03PHBDoeGMUEMNDTSwQKdq/fDABanekOcmHwwAawstjGBiS6fiiuoDmHo1QQPAdtDBBrTqc8MJF1R7AbISfTBDBy0428MIO+y6SZHTUmuuuOB00oO3A7S7wAGc5iPmAycccMAJ+FaL7kYvrNDDAP+OMMIEI8ywwAo77LDBwgsnbO+9qxZm6wLtNgo8wQQzGLzAwSs0vMMBH6+arEQ/vHDADARjrPHBG3S8wQ4niBzoCxccsMHGM6zQ8b2cRitLIAAh+QQIBAAAACwAAAAAMgAyAAAH/oBAgoOEhYIfBwM5ARY6CjIaBi4pHTsfhpiZmkA/FzU+BiqijzIyEiKoAhIGOSc/m7CFPzsZBjo6GhoqCrymEqcCAjzDAh4rr7GbNwUWtra5GjomDh4ujQoiwgIcHCw8ASfJmD8T1iYmziE1KzfIgp0zJQ7bLN0sIh3u4h8VNhYW5xzUuHAJ1ocTKWSwYMGgYYgX4oC8yGCj4r8aNyIOupCCQ0MaNGw8SPYigQMHFWOE01hogwGQNChoyLjpQwEXKB1UGMnS0IMAMSlQsAAx048aLpJ66NBzU4aYJEj40EdogQ8P1fI11fQhBYWoFBpguhHhqocaW2P5IEGAAIuV/oN+NPBBN0PRtJoeKGhLwIW+AyECCIaLV9MKCjhwkJgQt4bgAEwLxwpBILEJZA9CaI7BU/KmEyww4CCwQ9CICBFCDPCcLAKG1zGA2EwdgybrTTtwYEAh4MWFGMArUL1t6IMCFKI3rEgAnDFxWDFQSC/QI4H1A89hjcCAAIVA6ynuZsd0ggACBDJKpEhRYPj4QR8owEBAI0OGFBXeb+KBAAYG+xmIpV8mIswHQw45ZNDCgJlIAMN8BSAoIIOFcAABBCjUEKFwFBLyAwkXUtBBDgVUIB6FB2AAAgQiTFDCixd0OMgAEKxowwYlVFDCCjIKEsKKIORwQwVE9uDeeB+I/gACCAgs8EMHOdbQGYMbQAAACAxAtEANXPLYoQ8AXOmBIA/U0EADLRQ0YIphgrDBOxOY2YCXA7oQJgAKuHNDC2h2YNt4F1h55QgeLoBmCxOo+dwPP4xAAgA6UPVCDx100AKdi37wwwcuYGfICZX20MMOR27F6AeaamrUCh2IOoCnrKEqK6NcLdDDALhaItmmL7zwwQu01jQDrgOMsMCJLP3qq6+qxvLBAiNEO8EEBygqzqYP9LpsqYb8sMEEI0w7wwInNLsJoy88cMMD7PrK7TgXzDDBDPQusMAOF7jrIbYPXHDDujf0am6yO4w77gorKLfDDgeccIHDEN/gr7rZOL4byw8P7GDvAghvsMHCB4Tc8MP+/vtAsLsetINyHoPM8AkwX+Cvvtn9kC7MBzC8g8MXZDtwMoEAACH5BAgEAAAALAAAAAAyADIAAAf+gECCg4SFgh8nIyUxLhY6OgY2ARk9Bx+GmJmaQD8XLSEOJgYGjxoaKioKCjIqNiUnP5uyhT8HBTY2FiYWo6SmqKurEsMhG7GzmzcVLg64Frq7Dh4BPo06whIiEgISESfImD8LAcwOzQ4xLRs3x4I/NwsVHjLZIjwCMj3t4B81Ph4umPlocWFfJkQ5VAgQwONehBfggLwo8Q+ghxYPIg66kMEeDw4cXGSc9SIHtX8ZvmkstMPCRxYsDIzU9KFCgJs+GkBcaehBBA4sgDrYGe5TiJsDeG7KwYGB0wAGB62IECFEiAFRlQ76kIEFDactMD1IUTVCWK2yAtBYK0DloB/+HWJQLUAUbaYHOhhQoOBj34kEMWIkuGB31goGNEgwmPG2RYLHSQvPikGBBAUbx8amSJBjpmRNJ3hUpnBA0IQUqEd8RpaAAAkCCYD0y0D7xupZOyi4lvDiRo4MKVpkvU3ogwYcOCis2JCj+QLis1IQwEGgxIgCOQq4hZ5pxHQcHjpkp8t90wkKGHCoqFGgQI3h5TkxwICBRYUSJc7GzySCfvX7PeyniQIooIDBfRUEKCAmMhSIQQ0VJLggJgIggAIBHdRQg3ATEvIDDQggwMAANTSgU4cb4RCiDAuU2ABhKAIxAAIwwODAAQ20oE6MQMQAA40F3KBjCxPAB90HEtT+iMICP4zQwZOeCbhBjRBwANEGLTy5A4o+wAABBD4I8kIHPXQwQF3xnUAABCAgsCUnC/Qg55sCegACmyq088AAPQwwQJTQzQDDnTBM4OEKA4wwwgKXlHcDDwCAAIIBBn2gaKJ0QmcBAJFiUJohF4wwgaiwEPdBAJwCAEEJmfywwwSwzrCdZAGAkKoJ8H2wwQQz9HqAkeD88IMOqcoAaCEfrDDDAsvugOZKP3zwwQvEsmDbLB/ssOwCK6xwQaMaRftBtNFGcC0yHxzALbcb7PAtsJxE+4K00goLLy03bLDccjvscMIDLwjrobgvFDztwQIrhcgGDPd7wA4HnHDBBTc93PDAAxZfDPC8Ad+7yQ8vnNAuxAdELPHEFFd88QsA17tatDecUPIJNJ+sssU3zJswdNFijLLEKuvs8SCBAAAh+QQIBAAAACwAAAAAMgAyAAAH/oBAgoOEhYIfFxM1GQEuNjYOHjElAycfhpiZmkA/Nz0JPi4OjzYWFiYGBjo6Bh41Fz+bsoU/JxUBPh4uuw6jpiaoqhoaKhoxG7Gzmw8NIbge0LsePiExMY0Wq8MqKgoqCRfKmD8rCc64Pj4ZPTsPyYc3Gw0BOtwKCjI6A+/iHx0xIc5F6AFr1gdbBmTgkyAjwQtxQF40iEAxxMAHEAfdKKBChoSPPjAarGAtRoQS4TIW2uFCgoiXNkRq+tAgQQJrHR6qNPQggUsBAjzoHNcjRQqbE3ZuKiECKI8I/AhtyGA0xYSoSgl9KCCABw8BHTA9KJGB6oCssyJ45SDjBK0B/jnK1riEdpkJHhw4BOB3oUCOvzfqztqAlwWPBYN+9PBbIKngWSlYMGDhItnYEgUqDH2s6YIEBpMPCFpQAvMMzspSgGaQglOHEhVKyEStaQcLGjRUfLhRo0KFHlhpF/pgggboDTt8V1ghfFYGCtBrLKhBPWVzTRNoUCARYECNBg02Xzd0gQUJCjp6gO8QfLygHzxIkBDQokGLHu43KSBAgkaHFi04lh8mKhDA338dCDhgIQXy10MHHYywICYS4IADBQN00MM+ExLyAwsE4MDBDD1sKN6CF1CAAQYqbLBhD7NNOAIOK7pwwgA4itahIDFggAIGJbwwwgAjLNDedR8o/vAjDiv8sACRE5zo3gY+oiDAQweMMMEIOk4YAgoIoBCCIC9MYOYMdA14AgUIhLnDextMMMMMbi3oAwwIwGDAOy/MOcMCUtK2AJgwYCBhYgf8OcMOaTZ3gwAwRGpBVB8s8OcKdV5nAwQQwEBAl4TcsMICK6xQEG0fBMApBAiUkEktK2wQq3WchQADCBCAYMORPxywwa8bnFrXDRbgiqsKMRrywQ7A7mBJXQtwAAIAuPIQ2Cy1ILfDAQfccKQmB7gAAQDUAqDAtcr8cMEO23J7wgMffPveDwNgQC65IFiQrCw/PMDtAScEfMENL8TLzw8I/xDvB/aSi0IJ8s50Q8AnRVxg8cAP3PDACwUX/MHH8SZArQGgKqXwDRdUPPANGj/gMsceL7yCDiNELI7CGVusccsvwMvxBwUnPJ7CHLv88sYgI6xSIAAh+QQIBAAAACwAAAAAMgAyAAAH/oBAgoOEhYI/FwsdJSkRAQEhETk1EycfhpiZmkA/DyMlCRGRjz4+Hh4uLg4eES0XP5uxhYgdCQkxEaIhIQGlpqkONsI2GTuwspsPAxkpt7e5MQkpBTkJvA7YNhbbFjk3yJg/OyXMKc0JFSMHD8eHDxu1DhYm9AY2E+3gHyMFGf4pOUbcyJcJUQMXFgwo1FHgBTggH3pQy0FxwoOHg27UsKCjo4YYF2W96FCgZA5XGA2dCGFAg0sfITXtK1Gi5IhLKQ09yKFDhc8IDgvOqFCB5oqcm2q4VKAgBcFBB2oQrbDiKdJBH2owVaBiAKYXLWpInXBVVgoFMmTouDBrQYMG/jV64Cyr6YWLtBIS5LvxtkaDmHQ17VAgQYKMo4dmtGjRAHHgWDkkiJAQ4NjIxR2CPt50Q4OIyScE7ehAesNmZDlECBBQgNME0i00n9Z0QDUPEy8e9OjQY4bV2YR+OBDAQ8KOEz0G9DgAXFYBHjw4NNigfMC35ptmROcRYcGAATexb7ogggMHCzNGjMAnXtMPGSxYKJigfkH7TRo4MOAxgb7j+4aYwEB89E3wH4CEGMDAgDM0eCCCgmhAw4ArzLDAAr+194MINNAgwQYLWDgXhEBcwAEFFBhwgIULAAbhCDSg6MMNF67AFomCZEACijV8sMKPB2TY3Ac6kEACDRv8/rDBBj+OCOAOFBgpwyUXrLDkjRDGQMCWMQjywZIb7OCkeCewQAAOFOxwyAk7tHkdgBHggAMBJrTzQpsHiAngAmfiQAJZgyCS5wEnCEnXAzJggAEODhD0wQGQHvBmcw6goCgDzBnyQp4nnMAOcB9EYCkKONRQ0A0nXJCqi4GJioKljbqHqqoXfBrYDQ4g8CoKGsgWzgXAXnDDA2NitIAIMCCQrASTyirsDdC+YCgmJ/iAQrLJatDsJp1A+8C3D0g77Zc+EAABBDDAgIINvsrywwfQDhvuCx988MO9hDzaQwginAvCuTAQUMG0BYEbbrj11ntvCDTggAAIAIAg8bkoOpiQaVnvvqAxvRor/IEBAIQc8b//6jACwcjc+0HHCd8LssgAwMBAAMaIp3K94pqAAAkC2JDDBu3GEggAIfkECAQAAAAsAAAAADIAMgAAB/6AQIKDhIWCPzcbIy0VOSkpGTk1HQsXP4aYmZpAPw8LLSUFORkZjwkJMTERITEZAzeXm7KEiBMlt6KjpSmnqhGrIQEBFQexs5ovMw0VFaEFogUlFTU1oqghwT7awzfHmD8nHczNzZQnL8acDwcjBdk+Hi4hM+nHPwsNNfn6Cw/13zd6RPAQz4WHCh+8Afkwo0WDhw0WvFA46EELHy4cOLCR48GxDyM6tHD4iqKhCyk02nAQYeKmex1EUkpo0tCLChstWEhB89uGHh2A7qi5qYUDCyYslPgn6EKPpz12MCUq6EMLpElHYHoxYcCAHhuoziphwoQBBxcK/VDkdUZPsf6ZXkQwYEBHjnQPJozY6xGurAMmdNANe0iR3gN+j1XQoUNDjFgM9bpNPOuGBQ0adKQFcmLCjAmIKc+qoEKDihqcVsxY/VZ0phOmVbj48GHBghkbproe9COACgUadty4XWn3aAUyFHQ4YbufcVkLkMtIsWOF9dbPC91QkdzDjg0rcmfX9MOABAk6wG8YOl6TBRESFGyYH7o9Jgci4H/fcMJ+Jvz57SBgff4RYoIA8B2wwwHFFEiLCgIIoMEJCh6AnX0XSMADDzbcwOAOF7Y3w4Y8xPDCASec0JeDQBTAwYsNfJDiCZaw+IENLHDAg1QX0HhCiM/twEGOOiT0AI0XrP7oXwosNJlCVT1eAEuBF4jAAAMchNbJBVK6ZF8MDNDAgAPGfHDDDVICSdkGYdLAwgy0PHDmA/6M94AKFNBAgwf1dDKnl8b5QMGgPGxWyAd00vmBbkR9kAAJFJBAQwOZ/PCCnC+8oGZNj5IAqQ+6WZppposm9oALBJCQqgmAfoOoppoyOssKCuCAAwEEqKAkeR/AStsPsmJyQQAEYGArASZ0480PvdK26A8tbLDpQhuEQAEKGBhLgAutzsKss8wCAIIAAfRgISEyDhCBDCi0iwEKODBQQ7CVAvtDBgDkKy4C8UbIAgkYIAADAu1ii4MN/cEF7AM06JsvCBBDAAIEMDFULDACCGBgAD2ireUDAxCIG/HEFFPMLw8RSJXdCyvkYIMIFGBAMQ40yOBACStMW0ggACH5BAgEAAAALAAAAAAyADIAAAf+gECCg4SFgj8PBzMDLTUljxUtIxs3H4aXmJlAPy8bAw01NRUlFQWmOTkZKRklEzc/mrGFiAstDaChoyWnqaopCcAtJ7Cymi8rHR0ttri3LcoNFakpvzHWCS0PxZc/FyM9ycuSGxcvxIcvJxMN1RERIQkr59s/nj3gHT0b5rIfNyMp3oUY2MDStg8rBgzosXDfNkIPBrwLEMBHiRfFPiwYMULhDG0PDV0oULFiBoya6o2YwHHDvJCEXrSo6MFDAZTcDkxgOeEAzFg9fHhw4aHGy0E3ZkxQeuDoT0I/egx14WLGJY0zsu54WqwGVQc+bsw6sGDBjA0GuRpL4KBtiXn+x8wuwKlW0wkHNmw42HrowIoVC07U3dbAhgULGYgh/It2cLEbHg5buCDoxoYNKyg7LtbAhOcWmw5cdrhZ1gULngN8+HB5xbDSsn5EMGDAxIEHO3KLhS2rhQEdBnrc2HFgB13emFb81lHgAvEDaZFjumFCg44AJ4q/lp7phwUNGmxkP6GZeyYXGlToOMG+vPlLPlSo0HCBvPv3hXwo2F//wn38gziggAz01fcKgLMYIIMCJtxwgYNOvXeBCjLI4MELD1aCICELyCCBBAn4c8MNxwFYgQgSiNCBPw/c8ECE0n3gAooy7ICIiw9Eh98BIgggggmWvPDAkCWal4MASOb+cMiQD/AD4AUK8OCjT5u8IOQLOnKXAg9c+nAOJ1Z+AONmG/DAgZQLQPUBlliOWdcDBnAgZwgv/bDmmm6qFQILfEogmCGrYSlmniF9kAEDDLDAQQeY2LmanYQ+lAILiLJAZ3eQ/pBDg449EAANoDJgQ5FQ2VkABABwYJVaG6hAAQU0MKADSLF0QwAAuILgwZ8hXRACDRSQAKwNuxXzgAkg4IorBh40FssHO0TAAgnUwhoAqd2VgEKuIIAAgwghDHBCdB+cMEIMKhCAAwHsksBBA5EacoAOMHQLAgT4woCBuynyQIO6GOCw7ro07DrYDxOogG+3+cKAAAwoIIACBhMzC4wDCTbMkCVXP+wQAAsoQADDyAiUjMLJGGBAgAQxQMedRiU4IAEDOEjsrgIuVEDaQ4EAACH5BAgEAAAALAAAAAAyADIAAAf+gECCg4SFgj8PJysTPR0NNS0tAxM7Nz+GmJmaQD8vB4wdHZENjzUVFSUlFQ0zD5ebsISIGwM9tqGjpagVBQU5vz0Xr7GaHxsjIwPKjaE9ygOiNSW9vhnWPQ/EmD83MxPIyzOVL8OcHxcLLdUZKSk5G+XEPwfeE9+U5LGIEwXtKQkJOnzQBuTDjgUT6u0YSFDQiwkZEsSYWOMFMYMLZmhcYbFhoQsVJMaIUKCjpnkLUi44wNBjoRc9IsgMUaOloR8XVqxIecLlphExQkQI0CLeoAc6dQrzeXJAiABQF2AyuGHDip5MYbWA6iPGjUI4q25gmRXWhxw+0tYo92KH2w3+JstquhDAg4cAOwbhPOD2q9xYHTy48FDg1Qe+B8j+hXUjhGAXfh8krrSYWAcXDhx04HThxIETNitnuoDZRowPH06oXip6048UNjKfeKH6RLbWsDrY2D3iwYXOoXEb2mDDgoUSN36zFp7phgMLJhIkv2CJ+UkXJkx4uJHcr/VMIbJb4H7j9ndMEQyof1De/PlCIXSoL1/+PSYfOnSYeMDflX1ZNmiggQMv8JfPf4LcYICAAbzgoH8IArGABiqokMMHDr4Q3Hk1VKhBB51g+IFR1v3ggwIKaLDDDyIeaN8BKigggwMDiYgaggXIIGMJh6BGDom43aCDBDpixeKII9r+l4METIYwDItQAlnZBhKIIIIMK8jyAzcOiOAdbg/YYKUEEcTzwwAUAACACdZFIMCbKlyASQkgqAlAABtmdRYPAvAgQg+Z/GCCnSAE0FoOffIZg5QPyKAmCCCM99cDIXDAAgc8eOAeJjdw8CgIPEiV1QYGsHApB/sRc4MCkEIAAgIeYNXQBTGwwICpHLiw6SYPmODqrwT4sEGehBiUAA80MKAsByHsCssPFeAAwbQwwIACmQOAVuwJEySgAw0U0CAuAyIUxdQBJiBQLQwItIsCATQIoKMILNBAwr0U5EsDCz7IytQPE+ig7sAoFIwBBjjgQMDCBOBLgwMLSOnRDzsnRMABDu5igMLBCStMAAMypHCAxFm9sEIJLqjAAgUJx6uBDzXA5VEgACH5BAgEAAAALAAAAAAyADIAAAf+gECCg4SFgj8vFzsrMxMDPSMjMysnDz+GmJmaQD8fJxuNE46Pjx2mLS0DKy+Xm66EiAcLMwsTM5GRpKctDb01Ezetr5qeGwvHM6GNtI2lvDXQFb8Pw5g/D4srK7MLG5UfwpyJGyPPFRUlNTvhwz8XG/Da3qyv1ysN6CX6Ex/VnIrxNlzo50/QiwXoChTI0YGgqx8ndkjcceBFQUM3OiwskKGBxU3uDhyQeIHdRUEfRuTIkSFDC4eGrokUeePkpgUsU2ToYdLgiRM0e9o8NCFDiqMbrF34eaLmUFc9UiRIkIEarAcXlpZ86upDhakxOoT7oHUg11cXEsSIkeDEoGv+N7JaPetqRIwIEWq0+nGjbzC6rx6kiBAihtMXWG98BOxqQAjCAzg9uDFZKGNCNyIECJEB3IPJli4/LBBg88DJL2CKzjTAh+sZLxA/UL3a0I4Arht8eBDbcm0gD0J48JAj9gd6vzP9EO4hwvHUyTclcOHCR+rj0TWlcED9+Afa2QVt5/79e3hMEWyQL++79g8fNmwE+EGf/nlCDxzYsJCgEyK39wmygQUElrCAAwggEEKAgrRgwoOSQAAAAAKA99sPETxoQ0U0TAhCUvedYIIBBgTQjwcTAuBDgDWQqEMNAoIwIQ4AZneDBTroYMAFh6ggIwgenFeCBjn2N8gIEID+AAIMC2S3gw4aEAniIQaAkKQATtX2gAcqqKBBCuwcgIOVINiQXAoKdLkjJhVA4CYMIVg41A8VKCCDAhpEZo0FbkKgoGglyHCnDGBq8oAKMEAAAwI2zPXUAwlIIKkMcbpygwAwLAqDBCtwtYENIoggqQuOanKDBosmiEEANfpzQQqhhiqBD6Vu8oANKCCAwq40hLCDnIN8cEAGMgjAgwCixgCsNRVQoCsKGGCAgwoJjHACTGQVZQEPHHBwLA8K8DTUATbggAG0OOBAAAE08CABkQqIwAEL9NLLrQgRtGrTDxOYQEC06a5LAAkUkEADBTQwwAC93vqwQHv+/LBDDCInUEAADiRkTMHGNCTcrgY5HACxTR+sUIEPOgjAAcIcSGBCCC38elEgACH5BAgEAAAALAAAAAAyADIAAAf+gECCg4SFgj8fDxcHOxsrKwsrGwcXLz+GmJmaQIgPJzuNkpALCzOmExMLB5abrYWINweMjBs7j6OnEyO7AysPl66bP54nsqCNjYyhC7q6AwM9vS/BmIgXJ9iylDcvH8CHiScrI8895gMn39TDF+0n1zc/6pmIO+Q9HfkL88IPNzfXLjz4QI3Qix34WiicQNDVsH8AbzQsWOjBBIUNGgyYSO/FA383flHM9GFBi4w1RnB8lSikxJGtNjSoQXMGP0GJPkq8CXPQhxU0K9Q4UO2F0QfTerqaUaFpjaSDEBk1ylMpoQ8dKpQoMEKd1ERVrRJ6UKJshRNRP3TrJpbajAL+cHsAQ6TWW9tgLyrkyFHgAbgPgO+63ZthBie68gQHe5AjQ4Ya3hBJVuywQYYUOS5MiCAwLOVBM1JcXmECAAASGz67OpAiQYIBAkzDQKt604MMrisQMI3Ds+ofGWLEyAHDNIParkoITwDCNA/krSpEiBADhHUB0DcViBAiAgIAIFhk15SjewwSICD0Hm/oR4IQIRKIgAACA1H2YyMECFDABn0IA+BHyA4B+OBDCwVAoGAEAg7Sg4EBzLAAAiDAIMFK2f2Qgwc+BHDCCxzAAAMCqQl4gQcoJkBQABCIGEKDLbggYwuC7IDAiCTQNt4DAcjowQWH6IDAkD7g14ANDjj+UMA3E6AwJAYLjHeCA0i6sAMhP1iAAAooSHADdC9EYMOYJcxzAAVcouACdAVY4OaPmNSAAQoYYBADhmL90IAJfNowAT0OzIkBATF81oABfFqwpCYv6FAnDjh48GVbL+SggwGYJgBVJjcogAEOBOCgwgpiHeCDBjpcGsKmmtxgAKgEEEBBBDoWdEMBGuSKagJ+UfOCByQQQMKwPMRwAJ6vHFCCAQqooAKqObDqUA0sDEvBtTQYkMEE6Vx1wQwleKCADAqUq4IJKil1ggc0UEACDfAywIIAMmjgpg4qyCCBCBJIIAO5GqQAZJ4zOMAABTQwoDALLHDAAQ8CRCwCv/4uKhDBCr5R8wFrKnBAA8MNP8wDxPzKYEMJ3db2gUwRWKCACBDX60ICHeyArCaBAAAh+QQIBAAAACwAAAAAMgAyAAAH/oBAgoOEhYI/Hy8PNxcnBwc7BycXNx8/hpiZmkA/P4oXjSeOkJA7GxsrOxeWm62FnZ+gjY2PpaeoKwsLOy+XrpuIizfDjLOTopCoqLoLMwcvv5iIig/Vww8vvb6HiTc7uTPh4Tfb0dPUN9isrYgnuRPwEzsf0ZyJH9jY5dEfBzPwI0asoOcKUaJs6+oVerEi4IgBMwhq6vShYsV9Cgd92DFhgMcFEg1RvAct46YDA3qoXIHxEKKXLU0O+nFAZY8OJzAdcLDhpcxfGzoI7VFypgEAGAp0+unqw4QWHVosKDcCAgAAIC4w/fUgaosWN2YquArAxdZoK1o0aDDB1w4Q/lcx5DzbtEONtSVDkPVBF22NvyuAvGABovCGvlwb/O3wYwGCwiJCIs70o0eFCjUe5ABhNcLkXysul9hgAwLnAZ9dnSjBeoIICBBQzE2t6UWFAiU6UDBNIibtQ7cL1EABAwaH360a5MhRAAEMCBKQb2qxvHnx6NIzNcjAHQMMBDyyZ6qRIUUOGs4p+P79o0CKDAVkIEBAYLZ4QQ/Kp6jhAAEKFKjdN8gJCRTYQwn/oZCAgINMEEMMCaywAg4YoKCAZNL9UMGDCawiAAoY4LADgzdEEEEMBdATAgYseibgACGY2IMgOxDAIgv2IfdADCHEGBYnBuAgpIvZddBjCDVs/jMBCTgQQEJg0p0QwJQhHEDIDw4Q0KQKDyD3QgY++BBAkoUcwAIBTnqAXA0ehBlBl4Y0QMKcFCSA4VY/dODBnj4sQJkPFJBAAQ0pfNaBC4h6QGYmD1gg6KABwLnVCyU44ACiBRSVyQ0aDEoDDQZA+dMJMdjggKkJaKrJDTYMygADLHRo0g01WGCrqTmouskLAbDwKgssSJDCAXe+cgJ/JthqgQ0V6MpOCwIAywIHHPBgQwEzXFDOBzcsUEMIBoRrgAkmeNDWqAFQywIPPAgggAgy6GABojaYoIMG+GqgQ7gW5PAjU415wG677YogwcEyKKCwCvjqsG8KO6yn0A8nJuRggATvimCwBAkroMLHBiiq7W8bdZCACwaokLAGFviQwwDPZBQIACH5BAgEAAAALAAAAAAyADIAAAf+gECCg4SFgj8/Hy8PDzcXjxc3Ny8fP4aXmJlAiIqMko6PJ6IHpCc3lZqphZwvi4yND5EnF6InBzu3OycvlqqaiYofD4s3sJKNtKS4GzsbGycfvpecH4qtrZWIhMCOO80bK+APvdKbwMHV2qmJN80r7wsH5Ko3EZzA89IfF+EL/jvR6HEA0ABfuUsvdiyYwXBDwEwvFAAAAKGFuoOGPhyYsWDCjA35tpmYCABEAIypTsyYMGHEjpCCSkAgGeAhymknWrK8cOkABpImbvra0XLAhBerTIBYyuGGUFUfFowYMGDFvBEIlkJY8NTXiwE9qDo9pAEEBBAeukrbAbbHgl7+O2CcJXBCra8PbXsgBRIBgl8fdtd2GLwDyAsOZxFsCOzrQYcWHUZ8WIFCrgSbjDH9mNAC8oMCMELHyDy0RYMGOxzAQIBgAGlVF0w3WCABAQwcdV9retGiRo0RDFjTgKl70I8OvjvgQIFAQPFUHSr4xoAAhYznmnpU2I4BhXXsmbSXqEAABQYR4DG1KDGeBQYMDIg//9GgQIEGCt6T4Jme0IMSBeTQgQc44EDACP0RckIOORQwQgkF4pBCgoMskEEOGYBDgYEaYIYdfRlcOIkEBBBAQmEJPpBCBinUEE0EJZIwWoITpLAigkDsQAEJJPDAH3gPZJCAjQ8cYgGPFET+0N8AMSSQgEWDzEADBRQwsAJ4F8SgZQK5HeIBlRToUGRxLxSgZQwd5HMCDzS0eVJxLUQgZwpjFtIAAzQwwEAGHnb1wwAhBBrBldMEkCcDLORAWg8BBBAolJi84ACiLHAQQp1PvdCADz40WkGfhNxgAAuVcmACikKdkIIHnAaQwV6p3OACByzwwIMAGfxYzg0teOCCB8CWAKsqL0TAAwe38qBCDvJAdcGmDjjwqwcuYnScDALcKoIIErhQwQIXzPPBDSu0EIMN6EbrQgAzyJfKBSFIIAC3EkgggwwamOBApy44YIEJFgRsgQ3SVjDWUz+sEIAE9N6rgAoqaKCBDjozGGAxwBY4kMNLjP1wQgE2KCCDAiRHrALFFZtgQwAthFvcBzv0kIEPNhgwccYROAgNRoEAACH5BAgEAAAALAAAAAAyADIAAAf+gECCg4SFgj+IHx8vjA+OjIo/hpOUlUCIP4qLjC8PnTcPFzeiLx+SlqiEPxMON6aapZ2ON7QXthcnrqeplQcGIAAJmYqxxbOjJ7gnuR+8kz8lGADTPJjWqpmdycsH3S+7zi8WENPTKBeIqZkPJ90HOwfozkA3CuUAIB4H84M/D+/vNpwAV+kGDxAIQfBYwc/QhxM7dmzYcICgoRcqIEBAaOFGw0kfLkxcsWJgpR/jQGgM8dHSjQ0rYJqcVAGGRgghmrWk9OMCyQUrPBo6QMAmBBs7U51YsQCozn4WYEgVIDTpyQ0LZizYAW4EBqkoFlhN9SKr1gf9dCCAgcDHWF7+J2ZMmLDh1AEUCBBQOPE21YcFcye8EBQBLwKWfVMdGMGY7wsBKCLvSEx2wogJM36sIBBZwVPKPFcMYPwgGgoMCUArHsD6hAsMsEeoRnWjR48BG1TAJnFhtqUXA2zP4IADAwuLvvuN6NFhBAUcOCQktzSiQ4ceBHAQUDG90oQW1klk19Cd0ogW6GkQICCj/KQBLRp0EECCRDX3qjo0kK+DBAUGveEnyAst1NDAAAH4R8EEAgpyQQ0QzlABBSTQkEGDQKxQQQ0V7LACCzRQYMBn3f3QQwUbPvCBAjTQwMI++JVWQgUtNJMADQzQkIKAM5Tgo1hAHMACAwyIEGB3L1T+UEABJaB1iQMMsMBCauVNkMOSA+wyAw9R8rBBdzfkIGYBfPUTAAsccGCCk7O90EAGcGZZyAkSpMlDBMn1kAKcBbBJSAc8BCpADsgltUoCKezJ0DMRCCpCAaCNkMCkKchJyQseCMCDACIk4OdOL3QQw6gJNDCYJQ9YIMKqEjgwWVIXFBBBBDEkUAKJlDzggwgS8KpADlXN80APIRRLaw24VvJCAhJIIIMMChhQwgnJFtJTBxEEEEAIs9bYkIk6PKuAAipoEEANQYHzwUsdZODDuz5sG8MKhaZyQQIqjKtCuToYYIEDPtAagg8euGCwBx68G0IDn370wQYR7KvBxDo69GuCCRZYYIMDHLuAsA8VVJRYTxW4YEDFBhhwccY2bAxwDD3cUK9VHxwwgKwuOJCxCwEkUMME1DYUCAA7")}.config-grid__loading-error{display:none;color:#900;position:absolute;font-size:28px;line-height:34px;font-weight:300;left:270px;top:82px;right:30px;z-index:20}.config-grid__loading-error_type_noscript{display:block;max-width:560px}.lteie9 .config-grid__loading-error_type_noscript{display:none !important}.lteie9 .config-grid__loading-error_type_old-ie{display:block !important;max-width:570px}.config-grid__loading-error a{color:#000;text-decoration:none;border-bottom:1px solid #999}.config-grid__loading-error a:hover{color:#666}.config-grid__loading-error a:active{color:#999} +.help-content{padding:0 25px 25px;position:relative;border-bottom:0 solid #fff}.help-content p{margin-top:10px;max-width:50em;padding-right:15px}.help-content .p_indented{margin-left:25px}.help-content .a_type_pseudo{color:#000;text-decoration:none;border-bottom:1px rgba(0,0,0,0.5) dotted}.help-content h1{font-weight:300;font-size:28px;line-height:34px;padding-top:16px}.help-content h2{font-weight:300;margin-top:20px;line-height:24px;padding-top:19px;font-size:20px}.help-content h3{font-weight:600;padding-top:20px;margin-top:10px}.help-content h3+p{margin-top:0}.help-content .key{display:inline-block;border:1px solid #ccc;background:#eee;border-radius:4px;padding:.2em .5em 0;font-size:.8em;margin-bottom:-10px;min-width:.8em;text-align:center;text-indent:0;-webkit-box-shadow:inset 0 0 3px 1px rgba(119,119,119,0.1);-moz-box-shadow:inset 0 0 3px 1px rgba(119,119,119,0.1);box-shadow:inset 0 0 3px 1px rgba(119,119,119,0.1)}.help-content .key_lifted{vertical-align:top;padding-top:.1em;margin-top:-0.4em}.help-content .key_bracket{padding-top:.1em;padding-bottom:.05em}.help-content .key_arrow{vertical-align:top;line-height:1.9em;padding-top:0;padding-bottom:.05em}.help-content .action-plus{padding:0 .45em;font-size:.8em}.help-content .action-or{padding:0 .1em 0 .2em;font-size:.8em}.help-content .action-comma{padding:0 .8em 0 .3em;font-size:.8em}.help-content .action{font-style:italic}.help-content b{font-weight:bold}.help-content dt{margin-top:1.4em;text-indent:-3em;margin-left:3em}.help-content dt.sameline{margin-bottom:-1.7em}.help-content dd{margin-top:.3em;margin-left:3em}.help-content .dd-with-small-indent{margin-top:.2em}.help-content .nobr{white-space:nowrap}.help-content .sup{vertical-align:super;font-size:smaller}.help-content .image-block{margin-top:1.4em;padding:.5em 0}.help-content .image-block_centered{margin-top:1em;text-align:center;padding-right:10%}@media all and (max-width:875px){.help-content .image-block_shrinkable img{margin-left:-146px}}.help-content .t-bracket-space{padding-right:.25em}.help-content .t-bracket{margin-left:-0.25em}.help-content .image-title{display:block;font-size:.8em;padding:.8em 0 0;color:#999;text-align:center}.help-content .image-in-dd{display:block;margin-top:1em}.help-content .controls-dl-1,.help-content .controls-dl-2{max-width:50em;padding:0 30px 0 0}.help-content .controls-dl-2{margin-top:1.4em}.help-content .config-grid-panel-command-demo{opacity:.35;display:inline-block;height:14px;width:14px;background-size:14px}.help-content .config-grid-panel-command-demo_action_clone{background-image:url("../$/bem/config-grid-panel/command/clone_filled.svg")}.help-content .config-grid-panel-command-demo_action_delete{background-image:url("../$/bem/config-grid-panel/command/delete_filled.svg")}.help-content .config-grid-panel-command-demo_action_discard{background-image:url("../$/bem/config-grid-panel/command/discard_r.svg")}.help-content .config-grid-panel-command-demo_action_apply{background-image:url("../$/bem/config-grid-panel/command/apply_r.svg")}.help-content .mode{display:inline-block;border-radius:4px;padding:.15em .2em .1em;margin:0 -0.1em}.help-content .mode_collection{background:#d6e6f2}.help-content .mode_recording{background:#d6eddd}.help-content .mode_no-margin-left{margin-left:-0.2em} +.help{position:fixed;top:0;left:0;right:0;bottom:0;font-family:'Web Open Sans',Verdana,sans-serif;font-size:14px;line-height:20px;z-index:6000;background:rgba(0,0,0,0.5);display:none}.help_animating{-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;-o-transition:opacity .2s linear;transition:opacity .2s linear}.help_state_hidden{display:none}.help_state_pre-hidden{pointer-events:none;display:block;opacity:0}.help_state_pre-shown{display:block;opacity:0}.help_state_shown{display:block}.help__body{-webkit-border-radius:5px;-webkit-background-clip:padding-box;-moz-border-radius:5px;-moz-background-clip:padding;border-radius:5px;background-clip:padding-box;position:fixed;top:20px;left:20px;right:20px;bottom:20px;-webkit-box-shadow:0 5px 20px 5px rgba(0,0,0,0.5);-moz-box-shadow:0 5px 20px 5px rgba(0,0,0,0.5);box-shadow:0 5px 20px 5px rgba(0,0,0,0.5);background:#fff;overflow:hidden;z-index:6001}.help__toc-container{position:absolute;top:0;left:0;right:0;bottom:0;right:auto;width:200px;background:#eee}@media all and (max-width:500px){.help__toc-container{display:none}}.help__toc{padding:1em 0 0 0}.help__toc-element{position:relative;display:block;padding:.5em;text-decoration:none;color:#888}.help__toc-element:hover{color:#000}.help__toc-element_current{color:#000;cursor:default}.help__toc-element_hierarchy_1{padding-left:25px}.help__toc-element_hierarchy_2{padding-left:25px}.help__toc-element_hierarchy_3{padding-left:40px}.help__content-container{position:absolute;top:0;left:0;right:0;bottom:0;left:200px;overflow:scroll}@media all and (max-width:500px){.help__content-container{left:0}}.help__closer{position:fixed;cursor:pointer;height:30px;width:30px;background:no-repeat 0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABk1JREFUeNqMV2tMVEcUnr177z54LU/Do4gCLUYNYEHS2DbRpECIRoTQPzWoNf4ziBoDpaBp0z+NiZpoE0lqg9FWbJP+UOqLlNRE+WdiIiYNlqo0ItFC5S27sDv9znDu5e4uPoZ8mb1z584358w35xwcUkrxquZAow7QAGdEr/E0WiDECEb8Nt9HNf0tCGmOcezYsYzq6uqK5OTkD7BZ3ePx5E1PTw8Eg8HZx48f97a0tNxEm8DcORuCr9wAWWwHExKZG4jv7e2tmJqa+kO+odEGnj59+mtzc/MGfJcJJAOxgIu95Agzzu5qtpQmGbt27fKdPHnyVHx8fB29GxkZEbdu3RLXr18XIBH9/f1i9erVwufzifLycgVqoVDIf//+/dNFRUXf4XEamAH8NutlmMU2S2POnz9f5Pf7/yRLJicnJdws4+LiJH+0JAoKCuTFixctDzx58uT3wsLC9/HuHSAR8PD6DovYRuo9dOjQSpA+oI9hoczLy3stYSS2bt0qR0dHFfmjR496MFYIZDO52+52U0Q0mAQLe+gjCEUmJCRELez1esOwFDltdmxsTPI63zM5WZ7AZ66ZxAYJ6e7du3to8uDgoMzOzl6C1BOF11nOopvbvXv3DoytAdJZcOo2kekxOTk5GbOzs4M0+eDBg28kjIZXxkR4oKOjQ5H39fXdxPNHQD6Qwt5V1vpwnjtMFy9laWVlpdy2bVsU4apVBRJXSGZmZiyQxyyS5+fnK+K5ublASUnJZxhbB2QBcYLVljY0NNRJk1pbW9VHCBAWNm3aaKkVV8waLytbL589e6bGOzs7l7T60qVL6n17e/tpPH/MVieZIdANIZH0xZUrV6Ii2cTEhIDS1e+GhgZx9OhRsW5dsejq+k0sW7ZMjSPIKK7I+Hj79m3Vw/p8ttTDAhM+YCXcMU47S0lJUTvVNC0M27dvl9CAZTndb7Ndu3ZN+nwJ1lnbLa6pqVFz7t2714dnCkalpHDdjMdoJHWBO6h2qGkO4bBumxC//PKzGjtz5gfhcrkEAooav3HjhsDiHPmiQ/L4+Ljq3W53LIuKrNXNLOOE7F/SBIRIe2AJawMDAwKJIWysv/+BCAQCinAefSAwh40t5h54QPWYM2+SEp9mBhAs+C9NwP21iEOhxeRRUloqLl/uEklJSWZMVv2+fQ0CIVUt4zQgFxnEFpwWcVZWluqfP38+ZQtWDs08CySBv2mCGewpXzh4AySgLpCmpqZa7kVQsAS3f/9+0dzcJBzqTxNOp2YRb968WfW4y8O23K3cSenrvQsXLnxNIuju7lYbwcdSB6ivqqqyhITsJGNiY6Xhcsn6+npLcFevXpVej0vqEKKHBUZC4+gVys3N/RZj9cCHJGbBwRvjuZ9gkSmaiF1aqnQ6nYAum5qaZFvbYQSIGKkbLmkATt2Q5RUV8sSJE7K4qEgROzWH9S1lNVb0P3j+AvgUWM9JQ90tCuClcOFPNLGnp2eRGIs7dRf3htQVXIqcftOm6LrphiFxxNZ3y5cvtxJFXV3djyQHYAsnjHQlPICiwBqc4RZMHqHJFGfNRXSXRzpBpIGECIjYcLkXyPFMxPa7S1mNjoxD8F8Y+wr4HNgIvMvxWklcuRvYsHfv3i8pttJH586dC1vUJKbzJWsNYwF20hUrVlikw8PDE5mZmadIf0CNGTzo1lrZic1fC1S2tbUdh2L9ptgoxb1NEdDY2CgfPnxokRYXF3dgvIVFRdYWAKkcNtWtMa3O4cOvrq2t/QZXbNQeFildIsvIxMRE6xzLysrkkSNHVLVitjt37gzh2Nox5zCwB6gCijgzxZv52CzwvLwbCuZUKdampaU1nj17tntmZsYv36Ihw40fOHCAyp3jQCuTbmEX59jKH01Vmbbq0s0VQiJvIo2Qnp6esXPnzmJcs7WIRMkZGRkJuKMueGQaYvSjchmGRwYhSBLSJDBGhSkFLIAi4n8UtrniVPW2ndhOHsP1URIHmCRGPHvGbasYJS82ywtTUf+CyV4waDOUCwJmiatzXJYL3GrQz4sFecGXNivieFP2UjUUQTzJ5GThFNfWfjupiKzu+dkM5AZb5mEyL8NjyzJmHpznxWd5ozPc260M2nOmY6l/nbg3qxOdieww87jD5p15JjFh//9JRibq/wUYAHXjNiANGWmBAAAAAElFTkSuQmCC);top:5px;left:5px;z-index:6002}.help__closer_position_right{left:auto;right:5px} +.jasmine{position:fixed;top:20px;left:20px;right:20px;bottom:20px;-webkit-box-shadow:0 5px 20px 5px rgba(0,0,0,0.5);-moz-box-shadow:0 5px 20px 5px rgba(0,0,0,0.5);box-shadow:0 5px 20px 5px rgba(0,0,0,0.5);overflow:scroll;z-index:9000;background:#fff;padding:10px}.jasmine_html-reporter{margin:-10px !important} +.main-menu-bar{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.4);-moz-box-shadow:0 2px 2px 0 rgba(0,0,0,0.4);box-shadow:0 2px 2px 0 rgba(0,0,0,0.4);background:#000}.main-menu-bar__logo{cursor:default;position:relative;background:#000;width:auto;float:left;overflow:hidden;height:28px;text-align:left;color:#FFF;padding-right:5px;font-size:28px;font-weight:300;line-height:26px}.main-menu-bar__items_block_help{position:relative;float:left}.main-menu-bar__items_block_undoredo{position:absolute;left:30%;padding-left:30px}.main-menu-bar__items_block_misc{position:absolute;right:0}.main-menu-bar__item{float:left;display:block;height:28px}.main-menu-bar__item a{display:block;color:#444;cursor:default;text-decoration:none;line-height:28px;height:28px;padding:0 10px}.main-menu-bar__item a:active,.main-menu-bar__item_flashing{background:#333}.main-menu-bar__item a:focus{outline:0}.main-menu-bar__item_state_enabled a{color:#ccc;cursor:pointer}.main-menu-bar__item_state_enabled a:hover{color:#fff}.main-menu-bar__item_state_enabled a:active,.main-menu-bar__item_state_enabled.main-menu-bar__item_flashing a{color:#fff;background:#333}.main-menu-bar__item_location_last a{padding-right:15px}.main-menu-bar__item_action_change-mode{width:135px}.main-menu-bar__item_action_change-mode a{cursor:pointer;width:135px;color:#333;display:none;text-align:center;padding-left:0;padding-right:0}.main-menu-bar__item_action_change-mode a:hover{color:#000}.main-menu-bar__item_mode_2recordings .main-menu-bar__item-a_mode_2recordings{display:block;background:#31a354}.main-menu-bar__item_mode_2recordings .main-menu-bar__item-a_mode_2recordings:active{background:#83c898}.main-menu-bar__item_mode_2collections .main-menu-bar__item-a_mode_2collections{display:block;background:#3182bd}.main-menu-bar__item_mode_2collections .main-menu-bar__item-a_mode_2collections:active{background:#83b4d7}.main-menu-bar__item_action_change-mode.main-menu-bar__item_flashing{opacity:.8}.main-menu-bar__item_action_change-mode.main-menu-bar__item_flashing a{color:rgba(255,255,255,0.4)} +.main-menu{position:fixed;top:0;left:0;right:0;bottom:0;bottom:auto;font-family:'Web Open Sans',Verdana,sans-serif;font-size:14px;line-height:20px;z-index:1000}.main-menu__bar{position:absolute;top:0;left:0;right:0;height:28px;z-index:1001} +.main-region{font-family:'Web Open Sans',Verdana,sans-serif;font-size:14px;line-height:20px;position:absolute;top:28px;bottom:0;right:0;left:0;z-index:10}.main-region__config-grid{position:absolute;top:0;left:0;right:0;bottom:0;z-index:12}.main-region__flipper-container{background-color:#ccc;-webkit-box-shadow:inset 0 5px 5px 0 rgba(0,0,0,0.2);-moz-box-shadow:inset 0 5px 5px 0 rgba(0,0,0,0.2);box-shadow:inset 0 5px 5px 0 rgba(0,0,0,0.2);position:absolute;top:0;left:0;right:0;bottom:0;-webkit-perspective:900px;-moz-perspective:900px;perspective:900px;z-index:100}.main-region__flipper{position:absolute;top:0;left:0;right:0;bottom:0;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;-o-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition:-webkit-transform .75s;-moz-transition:-moz-transform .75s;-o-transition:-o-transform .75s;transition:-webkit-transform .75s,-moz-transform .75s,-o-transform .75s,transform .75s;-webkit-transform-origin:right center;-moz-transform-origin:right center;-ms-transform-origin:right center;-o-transform-origin:right center;transform-origin:right center;z-index:101;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;backface-visibility:hidden}.main-region__flipper_to_recording{-webkit-transform:translateX(-100%) rotateY(-180deg);-moz-transform:translateX(-100%) rotateY(-180deg);-ms-transform:translateX(-100%) rotateY(-180deg);-o-transform:translateX(-100%) rotateY(-180deg);transform:translateX(-100%) rotateY(-180deg)}.main-region__flipper .main-region__config-grid{-webkit-transition:-webkit-transform .75s;-moz-transition:-moz-transform .75s;-o-transition:-o-transform .75s;transition:-webkit-transform .75s,-moz-transform .75s,-o-transform .75s,transform .75s;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;-o-transform-style:preserve-3d;transform-style:preserve-3d}.main-region__flipper_animating .main-region__config-grid{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;backface-visibility:hidden}.main-region__flipper .main-region__config-grid.config-grid_type_collection{z-index:103}.main-region__flipper .main-region__config-grid.config-grid_type_recording{z-index:102;-webkit-transform:rotateY(180deg);-moz-transform:rotateY(180deg);-ms-transform:rotateY(180deg);-o-transform:rotateY(180deg);transform:rotateY(180deg)}.ie .main-region__flipper .main-region__config-grid.config-grid_type_recording{-webkit-transform:rotateY(0);-moz-transform:rotateY(0);-ms-transform:rotateY(0);-o-transform:rotateY(0);transform:rotateY(0)}.ie .main-region__flipper_to_recording{-webkit-transform:translateX(0) rotateY(0);-moz-transform:translateX(0) rotateY(0);-ms-transform:translateX(0) rotateY(0);-o-transform:translateX(0) rotateY(0);transform:translateX(0) rotateY(0)}.ie .main-region__flipper_animating .main-region__config-grid{-webkit-transform-origin:center center;-moz-transform-origin:center center;-ms-transform-origin:center center;-o-transform-origin:center center;transform-origin:center center}.ie .main-region__flipper_to_collection .main-region__config-grid.config-grid_type_collection,.ie .main-region__flipper_to_recording .main-region__config-grid.config-grid_type_recording{-webkit-transform:perspective(900px) rotateY(0);-moz-transform:perspective(900px) rotateY(0);-ms-transform:perspective(900px) rotateY(0);-o-transform:perspective(900px) rotateY(0);transform:perspective(900px) rotateY(0)}.ie .main-region__flipper_to_collection .main-region__config-grid.config-grid_type_recording{-webkit-transform:perspective(900px) rotateY(180deg);-moz-transform:perspective(900px) rotateY(180deg);-ms-transform:perspective(900px) rotateY(180deg);-o-transform:perspective(900px) rotateY(180deg);transform:perspective(900px) rotateY(180deg)}.ie .main-region__flipper_to_recording .main-region__config-grid.config-grid_type_collection{-webkit-transform:perspective(900px) rotateY(-180deg);-moz-transform:perspective(900px) rotateY(-180deg);-ms-transform:perspective(900px) rotateY(-180deg);-o-transform:perspective(900px) rotateY(-180deg);transform:perspective(900px) rotateY(-180deg)} +.mode-changer{font-family:'Web Open Sans',Verdana,sans-serif;font-size:14px;line-height:20px;position:fixed;top:28px;bottom:0;width:30px;background:#ddd;border:1px solid #aaa}.mode-changer_type_2recordings{left:auto;right:0}.mode-changer__label{position:absolute;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)} +.notification{position:relative;padding-top:10px;cursor:default;z-index:7001}.notification__body{font-family:'Web Open Sans',Verdana,sans-serif;font-size:10px;line-height:13px;position:absolute;bottom:0;right:0;background:#eee;border:1px solid #ccc;border-top-left-radius:5px;border-bottom-left-radius:5px;width:250px;z-index:7002}.notification__closer{position:absolute;right:0;top:0;bottom:0;width:20px;background:#f5f5f5;color:#ccc;cursor:default;z-index:7003}.notification__closer::before{content:"x";display:block;margin-top:6px;text-align:center}.notification__closer:hover{color:#999;background:#fff}.notification_ttl_5 .notification__closer::before{content:"5"}.notification_ttl_4 .notification__closer::before{content:"4"}.notification_ttl_3 .notification__closer::before{content:"3"}.notification_ttl_2 .notification__closer::before{content:"2"}.notification_ttl_1 .notification__closer::before{content:"1"}.notification_ttl_0 .notification__closer::before{content:"0"}.notification_ttl-frozen:hover .notification__closer::before{content:"x" !important}.notification_type_warning .notification__body{background:#ffeed0}.notification_type_warning .notification__closer{background:#fff8f5}.notification_type_warning .notification__closer:hover{color:#CA9}.notification_type_error .notification__body{background:#ffd5d5}.notification_type_error .notification__closer{background:#fff5f5}.notification_type_error .notification__closer:hover{color:#C88}.notification__content{padding:6px 10px;margin-right:20px}.notification_no-padding .notification__content{padding:0}.notification__content b{font-weight:bold} +.notifications{position:absolute;width:0;bottom:0;top:0;right:0;z-index:7000}.notifications__stack{position:fixed;right:0;overflow:visible;bottom:80px} +.player{position:relative;height:90px}.player__body{position:absolute;top:0;left:0;right:0;bottom:0}.player__command{display:block;position:absolute;width:25px;height:25px}.player__command:focus{outline:0}.player__command i{display:block;position:absolute;width:25px;height:25px;background-repeat:no-repeat;background-position:center center;opacity:.05}.player__command_state_enabled{display:block;cursor:pointer}.player__command_state_enabled i{opacity:.35}.player__command_state_enabled:hover i{opacity:1}.player__command_flashing i,.player__command_state_enabled:active i{top:1px}.jp-state-playing .player__command_action_play{display:none}.player__command_action_pause{display:none}.jp-state-playing .player__command_action_pause{display:block}.player__command_action_play,.player__command_action_pause{top:32px;left:6px}.player__command_action_download{top:31px;left:35px}.player__command_action_play i{background-image:url("../$/bem/player/command/play.svg")}.player__command_action_pause i{background-image:url("../$/bem/player/command/pause.svg")}.player__command_action_download i{background-image:url("../$/bem/player/command/download_cloud.svg")}.player__command_action_volume-up i{background-size:50%;background-image:url("../$/bem/player/command/volume-up.svg")}.player__command_action_volume-down i{background-size:45%;background-image:url("../$/bem/player/command/volume-down.svg")}.player__command_action_volume-mute i{background-size:35%;background-image:url("../$/bem/player/command/volume-mute.svg")}.player__command_action_volume-down,.player__command_action_volume-mute,.player__command_action_volume-up{top:32px}.player__command_action_volume-down,.player__command_action_volume-mute{left:90px}.player__command_action_volume-up{right:5px}.player__label{position:absolute;font-family:'Web Open Sans',Verdana,sans-serif;font-size:10px;line-height:13px;left:10px;right:10px;white-space:nowrap;overflow:hidden}.player__label_row_1{top:4px}.player__label_row_2{top:15px}.player__label-fader{position:absolute;top:0;right:10px;height:30px;width:10px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMSAxIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48bGluZWFyR3JhZGllbnQgaWQ9Imxlc3NoYXQtZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9InJnYigyMzgsIDIzOCwgMjM4KSIgc3RvcC1vcGFjaXR5PSIwIi8+PHN0b3Agb2Zmc2V0PSIxNSUiIHN0b3AtY29sb3I9InJnYigyMzgsIDIzOCwgMjM4KSIgc3RvcC1vcGFjaXR5PSIwLjI1Ii8+PHN0b3Agb2Zmc2V0PSIzMCUiIHN0b3AtY29sb3I9InJnYigyMzgsIDIzOCwgMjM4KSIgc3RvcC1vcGFjaXR5PSIwLjUiLz48c3RvcCBvZmZzZXQ9IjYwJSIgc3RvcC1jb2xvcj0icmdiKDIzOCwgMjM4LCAyMzgpIiBzdG9wLW9wYWNpdHk9IjAuNzUiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlZWVlZWUiIHN0b3Atb3BhY2l0eT0iMSIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNsZXNzaGF0LWdlbmVyYXRlZCkiIC8+PC9zdmc+);background-image:-webkit-linear-gradient(left,rgba(238,238,238,0) 0,rgba(238,238,238,0.25) 15%,rgba(238,238,238,0.5) 30%,rgba(238,238,238,0.75) 60%,#eee 100%);background-image:-moz-linear-gradient(left,rgba(238,238,238,0) 0,rgba(238,238,238,0.25) 15%,rgba(238,238,238,0.5) 30%,rgba(238,238,238,0.75) 60%,#eee 100%);background-image:-o-linear-gradient(left,rgba(238,238,238,0) 0,rgba(238,238,238,0.25) 15%,rgba(238,238,238,0.5) 30%,rgba(238,238,238,0.75) 60%,#eee 100%);background-image:linear-gradient(to right,rgba(238,238,238,0) 0,rgba(238,238,238,0.25) 15%,rgba(238,238,238,0.5) 30%,rgba(238,238,238,0.75) 60%,#eee 100%)}.player__time{position:absolute;font-family:'Web Open Sans',Verdana,sans-serif;font-size:10px;line-height:13px;color:#909090;top:70px}.player__time_type_before{left:10px}.player__time_type_after{right:10px}.player__slider-container_type_time{position:absolute;left:10px;right:10px;top:60px;height:15px}.player__slider-container_type_volume{position:absolute;left:115px;right:35px;top:36px;height:18px}.player__slider{position:absolute;top:0;left:0;right:0;bottom:0;border-top:5px solid;border-bottom:5px solid;color:#eee;background:rgba(0,0,0,0.05)}.player__slider-head{position:absolute;top:0;left:0;right:0;bottom:0;right:auto;background:rgba(0,0,0,0.35)}.player__slider:hover{background:rgba(0,0,0,0.15)}.player__slider:hover .player__slider-head{background:#000}.player__cover{position:absolute;top:0;left:0;right:0;bottom:0}.player__message{position:absolute;top:0;left:0;right:0;bottom:0;padding-top:15px;text-align:center} +.screenshot{overflow:scroll}.screenshot body{position:relative;width:1340px;height:715px;background:#fff}.screenshot body::-webkit-scrollbar{width:0 !important;height:0 !important;display:none}.screenshot .config-grid-cells__container{overflow:hidden}.screenshot .main-menu,.screenshot .main-menu-bar{position:absolute}.screenshot .config-grid-panel_dimension_entity .config-grid-panel__background{border-bottom-right-radius:5px}.screenshot .config-grid-panel_dimension_view .config-grid-panel__background{border-radius:5px}.screenshot_debug body{outline:1px solid red}.screenshot_no-main-menu .main-menu{display:none}.screenshot_no-main-menu .main-region{top:0}.screenshot_no-main-menu .config-grid-panel_dimension_entity .config-grid-panel__background{border-radius:5px}.screenshot_no-main-menu .config-grid-panel_dimension_view .config-grid-panel__background{border-radius:5px}.screenshot_no-panel_view .config-grid__header{display:none}.screenshot_no-panel_view .config-grid-panel_dimension_view{display:none}.screenshot_no-panel_view .config-grid_type_collection{left:-270px}.screenshot_no-buttons_new .config-grid-cells__entity-header_kind_adder{display:none}.screenshot_no-buttons_new .config-grid-cells__view-header_kind_adder{display:none}.screenshot_autosize_grid .config-grid-cells__view-header-background,.screenshot_autosize .config-grid-cells__view-header-background{border-top-right-radius:5px;border-bottom-right-radius:5px}.screenshot__fake-cursor{background-image:url("../$/bem//screenshot/fake-cursor.png");background-repeat:no-repeat;position:fixed;display:block;height:30px;width:30px;z-index:7000}.screenshot_state_flip .main-region__flipper{-webkit-transition:-webkit-transform 20s;-moz-transition:-moz-transform 20s;-o-transition:-o-transform 20s;transition:-webkit-transform 20s,-moz-transform 20s,-o-transform 20s,transform 20s}.screenshot_state_flip .main-region__flipper .config-grid{-webkit-transition:-webkit-transform 20s;-moz-transition:-moz-transform 20s;-o-transition:-o-transform 20s;transition:-webkit-transform 20s,-moz-transform 20s,-o-transform 20s,transform 20s} +.tooltip{font-family:'Web Open Sans',Verdana,sans-serif;font-size:10px;line-height:13px;position:absolute;opacity:0;pointer-events:none;background:rgba(0,0,0,0.8);border-radius:5px;color:rgba(255,255,255,0.8);padding:5px;z-index:7010;white-space:nowrap}.tooltip_animation_slow-opacity{-moz-transition:opacity .5s ease-in-out;-webkit-transition:opacity .5s ease-in-out;transition:opacity .5s ease-in-out}.tooltip_state_visible{opacity:1} +.vis-instance__content{position:absolute;top:0;left:0;right:0;bottom:0}.vis-instance__cover{position:absolute;top:0;left:0;right:0;bottom:0;cursor:default;background:rgba(255,255,255,0.5);display:none}.vis-instance__cover_visible{display:block}.vis-instance__cover_category_error{color:red}.vis-instance__cover_category_warning{color:#dfaa7e}.vis-instance__cover_category_process{color:#909090}.vis-instance__cover_category_info{color:#909090}.config-grid_type_collection .vis-instance__cover_category_notice{color:#3182bd}.config-grid_type_recording .vis-instance__cover_category_notice{color:#31a354}.vis-instance__cover-message{font-family:'Web Open Sans',Verdana,sans-serif;font-size:10px;line-height:13px;display:block;margin:10px auto 0;padding:3px 0 5px;text-align:center;position:relative;min-width:100px;max-width:60%;background:rgba(255,255,255,0.8);-webkit-box-shadow:0 0 10px rgba(255,255,255,0.8);-moz-box-shadow:0 0 10px rgba(255,255,255,0.8);box-shadow:0 0 10px rgba(255,255,255,0.8);-webkit-border-radius:10px;-webkit-background-clip:padding-box;-moz-border-radius:10px;-moz-background-clip:padding;border-radius:10px;background-clip:padding-box} +.vic-api-debug{padding-top:5px}.vic-api-debug__query-box{position:absolute;top:0;left:0;right:0;bottom:0;-webkit-border-bottom-left-radius:5px;-moz-border-radius-bottomleft:5px;border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;-webkit-background-clip:padding-box;-moz-border-radius-bottomright:5px;-moz-background-clip:padding;border-bottom-right-radius:5px;background-clip:padding-box;display:none;border:1px solid #f0f0f0;border-top:0;background:#fff}.vic-api-debug__query-box_alignment_everywhere{display:block}.vic-api-debug__query-box_alignment_left{display:block;right:50%;margin-right:3px}.vic-api-debug__query-box_alignment_right{display:block;left:50%;margin-left:3px}.vic-api-debug__query-box_alignment_top{display:block;bottom:50%;margin-bottom:3px}.vic-api-debug__query-box_alignment_bottom{-webkit-border-radius:5px;-webkit-background-clip:padding-box;-moz-border-radius:5px;-moz-background-clip:padding;border-radius:5px;background-clip:padding-box;border-top:1px solid #f0f0f0;display:block;top:50%;margin-top:3px}.vic-api-debug__query-uri-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;bottom:auto;height:14px;border-top:3px solid #fff;border-right:3px solid #fff;border-bottom:3px solid #fff;border-left:3px solid #fff;-webkit-border-radius:5px;-webkit-background-clip:padding-box;-moz-border-radius:5px;-moz-background-clip:padding;border-radius:5px;background-clip:padding-box}.vic-api-debug__query-uri{font-family:'Web Open Sans',Verdana,sans-serif;font-size:10px;line-height:13px;font-family:"Lucida Console",Monaco,monospace;font-weight:bold;position:relative;width:100%;height:100%;margin:0;border:0;padding:3px 3px;top:-3px;left:-3px;background:#fff;-webkit-border-radius:5px;-webkit-background-clip:padding-box;-moz-border-radius:5px;-moz-background-clip:padding;border-radius:5px;background-clip:padding-box}.vic-api-debug__query-response-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;top:20px;border-top:3px solid #fff;border-right:3px solid #fff;border-bottom:3px solid #fff;border-left:3px solid #fff;-webkit-border-radius:5px;-webkit-background-clip:padding-box;-moz-border-radius:5px;-moz-background-clip:padding;border-radius:5px;background-clip:padding-box}.vic-api-debug__query-response{font-family:'Web Open Sans',Verdana,sans-serif;font-size:10px;line-height:13px;font-family:"Lucida Console",Monaco,monospace;position:relative;width:100%;height:100%;margin:0;border:0;background:0;resize:none;top:-3px;left:-3px;padding:3px 3px;-webkit-border-radius:5px;-webkit-background-clip:padding-box;-moz-border-radius:5px;-moz-background-clip:padding;border-radius:5px;background-clip:padding-box}.vic-api-debug__query-box_status_has-errors .vic-api-debug__query-response{color:red} +.vic-list{font-family:'Web Open Sans',Verdana,sans-serif;font-size:10px;line-height:13px;padding-top:5px}.vic-list__item{position:relative;height:15px;line-height:15px;color:#000;cursor:pointer;-webkit-border-radius:5px;-webkit-background-clip:padding-box;-moz-border-radius:5px;-moz-background-clip:padding;border-radius:5px;background-clip:padding-box}.vic-list__item:hover{background:#f8f8f8}.vic-list__item_status_selected{cursor:default;background:#f0f0f0 !important}.vic-list__item-label{position:absolute;left:8px;right:70px;height:15px;overflow:hidden;white-space:nowrap}.vic-list__item-year{position:absolute;top:0;right:8px}.vic-list__item-command{pointer-events:none;display:block;position:absolute;height:15px;width:15px;top:0}.vic-list__item-command i{position:absolute;top:0;left:0;right:0;bottom:0}.vic-list__item_status_selected .vic-list__item-command{cursor:pointer}.vic-list__item_status_selected .vic-list__item-command:active{top:1px}.vic-list__item-command_action_audio{right:35px;opacity:.2}.vic-list__item_status_selected .vic-list__item-command_action_audio{opacity:.5;pointer-events:all}.vic-list__item_status_selected .vic-list__item-command_action_audio:hover{opacity:1}.vic-list__item-command_action_audio i{background-size:15px;background-position:center center;background-image:url("../$/bem/vis-instance-content/vic-list/item-command_action_play_note_2.svg")}.vic-list__item-command_action_analyze{right:50px}.vic-list__item-command_action_analyze{display:none}.vic-list__item-command_action_analyze i{border:1px solid #31a354;height:7px;width:7px;-webkit-border-radius:7px;-webkit-background-clip:padding-box;-moz-border-radius:7px;-moz-background-clip:padding;border-radius:7px;background-clip:padding-box}.vic-list__item-command_action_analyze.vic-list__item-command_status_toggled{display:block}.vic-list__item-command_action_analyze.vic-list__item-command_status_toggled i{background:#31a354;border:1px solid #31a354;height:1px;width:1px;top:6px;left:6px}.vic-list__item_status_selected .vic-list__item-command_action_analyze{pointer-events:all;display:block;opacity:1}.vic-list__item_status_selected .vic-list__item-command_action_analyze i{border:1px solid #31a354;height:7px;width:7px;top:3px;left:3px}.vic-list__item_status_selected .vic-list__item-command_action_analyze:hover i{background:rgba(49,163,84,0.3)}.vic-list__item_status_selected .vic-list__item-command_status_toggled.vic-list__item-command_action_analyze:hover i{background:rgba(49,163,84,0.7)}.vic-list__flying-circle{position:fixed;height:7px;width:7px;border:1px solid #31a354;background:rgba(49,163,84,0.5);z-index:99;-webkit-border-radius:7px;-webkit-background-clip:padding-box;-moz-border-radius:7px;-moz-background-clip:padding;border-radius:7px;background-clip:padding-box;pointer-events:none}.vic-list__circle-within-text{display:inline-block;height:7px;width:7px;border:1px solid #31a354;-webkit-border-radius:7px;-webkit-background-clip:padding-box;-moz-border-radius:7px;-moz-background-clip:padding;border-radius:7px;background-clip:padding-box} +.vic-properties{padding-top:5px}.vic-properties__property{font-family:'Web Open Sans',Verdana,sans-serif;font-size:10px;line-height:13px;display:block;position:relative;height:15px;line-height:15px;overflow:visible}.vic-properties__property_type_temp{opacity:.3}.vic-properties__property-caption{position:absolute;top:0;height:15px;color:#999;left:8px}.vic-properties__property-value{position:absolute;top:0;left:80px;right:8px;white-space:nowrap;color:#000}.vic-properties__property_type_before-divider .vic-properties__property-value{height:30px;white-space:normal;overflow:hidden}.vic-properties__property-divider{height:15px} +.vic-vega{text-align:center}.vic-vega svg{margin:0 auto} \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/app.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/app.js Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,109 @@ +/*! + * DML Main Vis + * http://dml.city.ac.uk/ + */ + +(function($){$.eventsugar={isAttemptToOpenInAnotherWindow:function(event){return 2===event.which||event.metaKey||event.ctrlKey||event.shiftKey}}})(jQuery); +(function($){$.widget("custom.combobox",{_create:function(){this.wrapper=$("").addClass("custom-combobox").insertAfter(this.element);this.element.hide();this._createAutocomplete();this._createShowAllButton()},_createAutocomplete:function(){var selected=this.element.children(":selected"),value=selected.val()?selected.text():"";this.input=$("").appendTo(this.wrapper).val(value).attr("title","").addClass("custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-left").autocomplete({delay:0,minLength:0,source:$.proxy(this,"_source")});this._on(this.input,{autocompleteselect:function(event,ui){ui.item.option.selected=true;this._trigger("select",event,{item:ui.item.option})},autocompletechange:"_applyChange"})},_createShowAllButton:function(){var input=this.input,wasOpen=false;$("").attr("tabIndex",-1).attr("title","Show All Items").tooltip().appendTo(this.wrapper).button({icons:{primary:"ui-icon-triangle-1-s"},text:false}).removeClass("ui-corner-all").addClass("custom-combobox-toggle ui-corner-right").mousedown(function(){wasOpen=input.autocomplete("widget").is(":visible")}).click(function(){input.focus();if(wasOpen){return}input.autocomplete("search","")})},_source:function(request,response){var matcher=new RegExp($.ui.autocomplete.escapeRegex(request.term),"i");response(this.element.children("option").map(function(){var text=$(this).text();if(this.value&&(!request.term||matcher.test(text)))return{label:text,value:text,option:this}}))},_applyChange:function(event,ui){if(ui.item){return}var value=this.input.val(),valueLowerCase=value.toLowerCase(),valid=false;this.element.children("option").each(function(){if($(this).text().toLowerCase()===valueLowerCase){this.selected=valid=true;return false}});this.element.val(value);if(valid){return}},_destroy:function(){this.wrapper.remove();this.element.show()}})})(jQuery); +var toString=Object.prototype.toString;if(_){_.mixin({isEventAnAttemptToOpenANewTab:function(event){return event.ctrlKey||event.shiftKey||event.metaKey||event.which==2}})}else{console.error("Can't register _.isClickAnAttemptToOpenANewTab without underscore.js (global variable '_')")} +var toString=Object.prototype.toString;if(_){_.mixin({isSimpleObject:function(obj){return toString.call(obj)==="[object Object]"&&obj.constructor===Object}})}else{console.error("Can't register _.isSimpleObject without underscore.js (global variable '_')")} +var toString=Object.prototype.toString;if(_){var idCounter=0;var alreadyUsedUniqueIds={};_.mixin({uniqueId:function(prefix){while(true){var id=++idCounter+"";var uniqueId=prefix?prefix+id:id;if(!alreadyUsedUniqueIds[uniqueId]){return uniqueId}}},markUniqueIdAsAlreadyUsed:function(uniqueId){alreadyUsedUniqueIds[uniqueId]=true}})}else{console.error("Can't register _.uniqueId and _.markUniqueIdAsAlreadyUsed without underscore.js (global variable '_')")} +if(vg&&false){vg.parse.expr.codegen.functions["myFunction"]=function(args){var a=args.map(vg.parse.expr.codegen);return"window.myFunction("+a[0]+")"}}else{} +(function(){if(vg){var Transform=vg.transforms.bin.prototype.__proto__.constructor;function Centroid(graph){Transform.prototype.init.call(this,graph);Transform.addParameters(this,{field:{type:"field"}});this._output={centroid_x:"centroid_x",centroid_y:"centroid_y"};return this.mutates(true)}var prototype=Centroid.prototype=Object.create(Transform.prototype);prototype.constructor=Centroid;prototype.transform=function(input){var output_x=this._output.centroid_x,output_y=this._output.centroid_y,get=this.param("path").accessor;var svg=d3.select("body").append("svg").attr("width",400).attr("height",400);var p=svg.append("path");function update(d){p.attr("d",d["layout_path"]);var bbox=p.node().getBBox();var x=Math.floor(bbox.x+bbox.width/2);var y=Math.floor(bbox.y+bbox.height/2);vg.dataflow.Tuple.set(d,output_x,x);vg.dataflow.Tuple.set(d,output_y,y)}input.add.forEach(update);input.mod.forEach(update);input.rem.forEach(update);input.fields[output_x]=0;input.fields[output_y]=0;return input};Centroid.schema={$schema:"http://json-schema.org/draft-04/schema#",title:"Bin transform",description:"Bins values into quantitative bins (e.g., for a histogram).",type:"object",properties:{type:{"enum":["bin"]},field:{oneOf:[{type:"string"},{$ref:"#/refs/signal"}],description:"The name of the field to calculate centroids from values from."},output:{type:"object",description:"Rename the output data fields",properties:{bin:{type:"string","default":"bin"}},additionalProperties:false}},additionalProperties:false,required:["field"]};vg.transforms.centroid=Centroid;console.log(vg)}else{}})(); +"use strict";var App=new Backbone.Marionette.Application; +"use strict";App.addInitializer(function(options){Logger.setLevel(Logger.WARN);App.logger=Logger.get("App");App.logger.setLevel(Logger.DEBUG);var previousLogTime=null;Logger.setHandler(function(originalArguments,context){var hdlr=console.log;var messages=Array.prototype.slice.call(originalArguments);if(context.name){messages.unshift(_.str.pad(_.str.sprintf("[%s]",context.name),25," ","right"))}var logDate=new Date;var logTime=logDate.getTime();if(previousLogTime&&logTime-previousLogTime<3e3){messages.unshift(_.str.sprintf(" %4d",logTime-previousLogTime))}else{messages.unshift(" ")}messages.unshift(_.str.sprintf("%s.%03d",logDate.toTimeString().slice(0,8),logTime%1e3));previousLogTime=logTime;if(context.level===Logger.WARN&&console.warn){hdlr=console.warn}else if(context.level===Logger.ERROR&&console.error){hdlr=console.error}else if(context.level===Logger.INFO&&console.info){hdlr=console.info}Function.prototype.apply.call(hdlr,console,messages)});if(!options.enableJasmine){window.onerror=function(message,file,line){App.logger.error("[unhandled]",message,file,line)}}}); +"use strict";App.addInitializer(function(options){App.generateAssetURL=function(relativeAssetURL){return _.str.sprintf("$/%s",relativeAssetURL)}}); +"use strict";App.addInitializer(function(options){if(window.location.href.indexOf("reset")>0){localStorage.clear();console.log("reset")}if(navigator.appVersion.indexOf("Mac")>0){App.keyboardMappings={ctrl:"meta",ctrlTitle:"cmd",ctrlShift:"shift+meta",ctrlShiftTitle:"cmd+shift"}}else{App.keyboardMappings={ctrl:"ctrl",ctrlTitle:"ctrl",ctrlShift:"ctrl+shift",ctrlShiftTitle:"ctrl+shift"}}App.DataModule.start();App.options.debugAPI=!!App.DataModule.Storage.getStrCache(null,"debug-api");App.options.defaultEntityWidth=400;App.DataModule.CliopatriaAPI.start({apiRootPaths:options.musicLibrary.apiRootPaths,apiVersion:options.musicLibrary.apiVersion,dataVersion:options.musicLibrary.dataVersion,dataCaching:options.musicLibrary.dataCaching});App.NotificationsModule.start();App.ContextModule.start();App.RepresentationModule.start();App.MainRegionModule.start();App.TooltipModule.start();App.HelpModule.start();App.contextManager=new App.ContextModule.AppContextManager;App.context=new App.ContextModule.AppContext;try{App.contextManager.restoreFromStorage(App.context,"")}catch(e){App.contextManager.restoreDefault("")}App.dynamicDefinitionProviderForCollections=new App.DataModule.DynamicDefinitionProviderForCollections;App.dynamicDefinitionProviderForRecordings=new App.DataModule.DymanicDefinitionProviderForRecordings;App.dynamicDerivedConfigDataProvider=new App.RepresentationModule.DynanicDerivedConfigDataProvider({configGridsByType:{collection:App.context.get("state").get("musicCollectionGrid"),recording:App.context.get("state").get("musicRecordingGrid")}});App.PlayerModule.start();var saveContextToStorage=function(){App.contextManager.saveToStorage(App.context)};var throttledSaveAppContextToStorage=_.throttle(saveContextToStorage,1e4,{leading:false});App.context.bind("change",throttledSaveAppContextToStorage);$(window).on("beforeunload",saveContextToStorage);App.mainRegionView=new App.MainRegionModule.MainRegionView({state:App.context.get("state"),el:".app__main-region"});App.MainMenuModule.start();App.TooltipModule.convertTitlesToTooltips($("body"))}); +"use strict";App.addInitializer(function(options){App.showHelp=function(options){App.HelpModule.show(options);App.MainMenuModule.flashItem("help")};App.hideHelp=function(options){App.HelpModule.hide(options)};App.helpIsShowing=function(){return App.HelpModule.isShowing()};App.showNotification=function(options){App.NotificationsModule.show(options)};App.hideNotification=function(id){return App.NotificationsModule.hide(id)};var stateHistory=App.context.get("stateHistory");App.undo=function(){if(stateHistory.canUndo()){stateHistory.undo();App.hideNotification("undo_redo")}else{App.showNotification({id:"undo_redo",content:Backbone.Marionette.TemplateCache.get("#notification-content_undo_na")})}App.MainMenuModule.flashItem("undo")};App.redo=function(){if(stateHistory.canRedo()){stateHistory.redo();App.hideNotification("undo_redo")}else{App.showNotification({id:"undo_redo",content:Backbone.Marionette.TemplateCache.get("#notification-content_redo_na")})}App.MainMenuModule.flashItem("redo")};stateHistory.on("change",function(){App.hideNotification("undo_redo")});App.showStateSharing=function(){App.showNotification({id:"states",modifiers:["ttl_20"],content:Backbone.Marionette.TemplateCache.get("#notification-content_states_na")});App.MainMenuModule.flashItem("share")},App.showStateBookmarks=function(){App.showNotification({id:"states",modifiers:["ttl_20"],content:Backbone.Marionette.TemplateCache.get("#notification-content_states_na")});App.MainMenuModule.flashItem("bookmarks")},App.play=function(recordingURI,time){App.PlayerModule.play(recordingURI,time)}}); +"use strict";App.addInitializer(function(options){var _this=this;var $document=$(document);var aPopupIsOpen=function(){return App.helpIsShowing()};var askToClosePopups=function(){};$document.bind("keydown","esc",function(event){if(App.helpIsShowing()){App.hideHelp()}});$document.bind("keydown","h",function(event){if(App.helpIsShowing()){App.hideHelp()}else{App.showHelp()}});$document.bind("keydown","f",function(event){if(aPopupIsOpen()){return false}var state=App.context.get("state");state.set("musicRecordingsGridIsShown",!state.get("musicRecordingsGridIsShown"))});$document.bind("keydown",App.keyboardMappings.ctrl+"+z",function(event){if(aPopupIsOpen()){askToClosePopups();return false}App.undo()});$document.bind("keydown",App.keyboardMappings.ctrlShift+"+z",function(event){if(aPopupIsOpen()){askToClosePopups();return false}App.redo()});var moveConfig=function(dimension,offset){var state=App.context.get("state");var configGrid=state.get(state.get("musicRecordingsGridIsShown")?"musicRecordingGrid":"musicCollectionGrid");var configs=null;if(dimension=="entity"){configs=configGrid.get("entityConfigs");var selectedConfig=configGrid.getSelectedEntityConfig();if(selectedConfig){var configToInsertBefore;if(offset==1){configToInsertBefore=configGrid.getNextEntityNeighbour(selectedConfig);if(configToInsertBefore){configToInsertBefore=configGrid.getNextEntityNeighbour(configToInsertBefore)}}else{configToInsertBefore=configGrid.getPrevEntityNeighbour(selectedConfig);if(!configToInsertBefore){return}}configGrid.relocateEntityConfig(selectedConfig,configToInsertBefore?configToInsertBefore:null)}}else{configs=configGrid.get("viewConfigs");var selectedConfig=configGrid.getSelectedViewConfig();if(selectedConfig){var configToInsertBefore;if(offset==1){configToInsertBefore=configGrid.getNextViewNeighbour(selectedConfig);if(configToInsertBefore){configToInsertBefore=configGrid.getNextViewNeighbour(configToInsertBefore)}}else{configToInsertBefore=configGrid.getPrevViewNeighbour(selectedConfig);if(!configToInsertBefore){return}}configGrid.relocateViewConfig(selectedConfig,configToInsertBefore?configToInsertBefore:null)}}};$document.bind("keydown","alt+left",function(event){if(aPopupIsOpen()){askToClosePopups();return false}moveConfig("entity",-1);event.preventDefault();return false});$document.bind("keydown","alt+right",function(event){if(aPopupIsOpen()){askToClosePopups();return false}moveConfig("entity",1);event.preventDefault();return false});$document.bind("keydown","alt+up",function(event){if(aPopupIsOpen()){askToClosePopups();return false}moveConfig("view",-1);event.preventDefault();return false});$document.bind("keydown","alt+down",function(event){if(aPopupIsOpen()){askToClosePopups();return false}moveConfig("view",1);event.preventDefault();return false})}); +"use strict";App.addInitializer(function(options){var _this=this;var popupsAreInstant=true;var appRouter=new(Backbone.Router.extend({routes:{help:"navigateToHelp","help/:id":"navigateToHelp","":"navigateToDefault","*notFound":"notFound"},navigateToHelp:function(id){App.HelpModule.show({materialId:id!==null?id:"",instant:popupsAreInstant})},navigateToDefault:function(id){App.HelpModule.hide()},notFound:function(context){App.logger.warn("Route not found",context)}}));App.HelpModule.on("show",function(options){var urlHash="help";if(options.materialId){urlHash+="/"+options.materialId}var needToReplace=Backbone.history.fragment.slice(0,4)=="help";appRouter.navigate(urlHash,{replace:needToReplace})});App.HelpModule.on("hide",function(options){appRouter.navigate("/")});Backbone.history.start({});popupsAreInstant:false}); +"use strict";App.addInitializer(function(options){var $document=$(document);var cid=0;var uniqueClientId=function(){return"custom"+cid++};var nextUniqueClientId=function(){return"custom"+cid};$document.bind("keydown","shift+0",function(event){App.context.get("state").unserialize(App.contextManager.defaultSerializedAppContexts[""].stateHistory.currentSerializedState)});var sharedMusicRecordingConfig={viewConfigs:[{clientId:"def4",parameters:{kind:"properties"}},{clientId:"def5",parameters:{kind:"midi-pitch-histogram"}}]};$document.bind("keydown","shift+1",function(event){App.context.get("state").unserialize({musicCollectionGrid:{selectedEntityConfigClientId:nextUniqueClientId(),entityConfigs:[{clientId:uniqueClientId(),parameters:{library:"bl",composer:"Haydn",performer:"Karajan",year:"1959",title:"Symphonies;104"}}],viewConfigs:[{clientId:uniqueClientId(),parameters:{kind:"list"}},{clientId:uniqueClientId(),parameters:{kind:"tuning-stats"}}]},musicRecordingGrid:sharedMusicRecordingConfig})});$document.bind("keydown","shift+2",function(event){App.context.get("state").unserialize({musicCollectionGrid:{selectedEntityConfigClientId:nextUniqueClientId(),entityConfigs:[{clientId:uniqueClientId(),parameters:{library:"bl;charm",composer:"Haydn",title:"Symphony"}}],viewConfigs:[{clientId:uniqueClientId(),parameters:{kind:"list"}},{clientId:uniqueClientId(),parameters:{kind:"tuning-stats"}}]},musicRecordingGrid:sharedMusicRecordingConfig})});$document.bind("keydown","shift+3",function(event){App.context.get("state").unserialize({musicCollectionGrid:{selectedEntityConfigClientId:nextUniqueClientId(),entityConfigs:[{clientId:uniqueClientId(),parameters:{library:"bl;charm",year:"1940-1979",title:"Symphony"}},{clientId:uniqueClientId(),parameters:{kind:"pair",comparisonMode:"superposition"}},{clientId:uniqueClientId(),parameters:{library:"bl;charm",year:"1980-2010",title:"Symphony"}}],viewConfigs:[{clientId:uniqueClientId(),parameters:{kind:"list"}},{clientId:uniqueClientId(),parameters:{kind:"tuning-stats"}}]},musicRecordingGrid:sharedMusicRecordingConfig})});$document.bind("keydown","shift+4",function(event){App.context.get("state").unserialize({musicCollectionGrid:{selectedEntityConfigClientId:nextUniqueClientId(),entityConfigs:[{clientId:uniqueClientId(),parameters:{library:"bl;charm",composer:"Schoenberg"}}],viewConfigs:[{clientId:uniqueClientId(),parameters:{kind:"midi-pitch-histogram"}}]},musicRecordingGrid:sharedMusicRecordingConfig})});$document.bind("keydown","shift+5",function(event){App.context.get("state").unserialize({musicCollectionGrid:{selectedEntityConfigClientId:nextUniqueClientId(),entityConfigs:[{clientId:uniqueClientId(),parameters:{library:"bl",collection:"dinka"}}],viewConfigs:[{clientId:uniqueClientId(),parameters:{kind:"list"}},{clientId:uniqueClientId(),parameters:{kind:"pitch-histogram"}},{clientId:uniqueClientId(),parameters:{kind:"midi-pitch-histogram"}}]},musicRecordingGrid:sharedMusicRecordingConfig})});$document.bind("keydown","shift+6",function(event){App.context.get("state").unserialize({musicCollectionGrid:{selectedEntityConfigClientId:nextUniqueClientId(),entityConfigs:[{clientId:uniqueClientId(),parameters:{library:"bl;charm",composer:"Chopin",title:"Mazurka;Op.68;no.2"}}],viewConfigs:[{clientId:uniqueClientId(),parameters:{kind:"list"}},{clientId:uniqueClientId(),parameters:{kind:"mean-tempo-curve"}}]},musicRecordingGrid:sharedMusicRecordingConfig})});$document.bind("keydown","shift+7",function(event){App.context.get("state").unserialize({musicCollectionGrid:{selectedEntityConfigClientId:nextUniqueClientId(),entityConfigs:[{clientId:uniqueClientId(),parameters:{library:"bl;charm",composer:"Chopin",title:"Mazurka;Op.68;no.2"}},{clientId:uniqueClientId(),parameters:{library:"bl;charm",composer:"Chopin"}}],viewConfigs:[{clientId:uniqueClientId(),parameters:{kind:"list"}},{clientId:uniqueClientId(),parameters:{kind:"mean-tempo-curve"}}]},musicRecordingGrid:sharedMusicRecordingConfig})})}); +"use strict";App.addInitializer(function(options){var _this=this;if(!_.isUndefined(options.enableJasmine)){var $document=$(document);if(!options.enableJasmine){$document.bind("keydown","j",function(event){var url=location.protocol+"//"+location.host+location.pathname;if(url.indexOf("?")>-1){url+="&jasmine"}else{url+="?jasmine"}window.location.href=url})}else{executeJasmine();$document.bind("keydown","shift+j",function(event){var url=location.protocol+"//"+location.host+location.pathname;_.each(["jasmine","catch"],function(variable){url=url.replace(new RegExp("\\?"+variable+"[=]?[a-zA-Z%0-9]*&","g"),"?").replace(new RegExp("\\?"+variable+"[=]?[a-zA-Z%0-9]*$","g"),"").replace(new RegExp("\\&"+variable+"[=]?[a-zA-Z%0-9]*&","g"),"&").replace(new RegExp("\\&"+variable+"[=]?[a-zA-Z%0-9]*$","g"),"")});url=url.replace(/\?+/,"?").replace(/\?$/,"");window.location.href=url})}}}); +"use strict";App.addInitializer(function(options){var $document=$(document);if(window.location.href.indexOf("track_assets_version")>0){var cssHref=$("link[rel=stylesheet]").attr("href");var assetsVersion=cssHref.slice(cssHref.indexOf("?")+1);var $cssUpdateIndicator=$.bem.generateElement("app","assets-version-indicator");$cssUpdateIndicator.text("assets version: "+assetsVersion);$cssUpdateIndicator.appendTo($(".app"));$cssUpdateIndicator.click(function(){App.showNotification({id:"assets-version-indicator",content:"This element changes colour when the css file recomplies."})})}var codeVersion="2015-03-12";var latestChange="Comparison views and also three new views for collections were added (tuning stats, tonic histogram and pitch class histogram). All three demo states now have the same sets of rows.";var previouslyOpenedCodeVersion=App.DataModule.Storage.getStrCache(null,"code-version");if(codeVersion!=previouslyOpenedCodeVersion){App.DataModule.Storage.setStrCache(null,"introductory-hint-was-read",undefined);App.DataModule.Storage.setStrCache(null,"code-version",codeVersion)}if(previouslyOpenedCodeVersion<"2015-03-12"){App.contextManager.restoreDefault(App.context,"empty")}if(window.location.href.indexOf("scroll")>0){$("body").addClass("scrollable-pres-in-vis-instances")}var latestVisit=App.DataModule.Storage.getStrCache(null,"latest-visit");if(!latestVisit){setTimeout(function(){if(!App.helpIsShowing()){App.MainMenuModule.flashItem("help",20)}},5e3)}App.DataModule.Storage.setStrCache(null,"latest-visit",(new Date).toString());var defaultURIIdentifier=options.musicLibrary.defaultApiRootPaths[0];if(options.musicLibrary.apiRootPaths[0].indexOf(defaultURIIdentifier)==-1){var currentURIIdentifier=options.musicLibrary.apiRootPaths[0].replace(/^[a-zA-Z]*:?\/\//,"").replace(/\/$/,"");setTimeout(function(){App.showNotification({content:Backbone.Marionette.TemplateCache.get("#notification-content_alternative-api")({defaultURIIdentifier:defaultURIIdentifier,currentURIIdentifier:currentURIIdentifier,stuffToRemoveFromAddess:"api2"}),modifiers:["ttl_30","type_warning"]})},1e3)}var debugAPIShortcut=App.keyboardMappings.ctrlShift+"+8";var debugAPIShortcutTitle=App.keyboardMappings.ctrlShiftTitle+"+8";var debugAPIMessageVersion=1;var showDebugAPIModeNotificationIfNeeded=function(){if(App.options.debugAPI&&App.DataModule.Storage.getStrCache(null,"debug-api-message-shown")!=debugAPIMessageVersion){App.showNotification({id:"debug-api",content:Backbone.Marionette.TemplateCache.get("#notification-content_debug-api")({debugAPIShortcut:debugAPIShortcutTitle}),onClose:function(){App.DataModule.Storage.setStrCache(null,"debug-api-message-shown",debugAPIMessageVersion?"1":0)},modifiers:["ttl_ever","type_warning"]})}};$document.bind("keydown",debugAPIShortcut,function(event){App.options.debugAPI=!App.options.debugAPI;if(!App.options.debugAPI){App.hideNotification("debug-api")}showDebugAPIModeNotificationIfNeeded();App.mainRegionView.render(true);App.DataModule.Storage.setStrCache(null,"debug-api",App.options.debugAPI?"1":"")});showDebugAPIModeNotificationIfNeeded();var minWidth=100;var step=20;var maxWidth=2e3;var changeEntityWidth=function(direction){var currentGrid=App.context.get("state").getConfigGridBeingShown();var currentEntityWidth=(currentGrid.get("entityWidth")||App.options.defaultEntityWidth)*1;var diff=direction>0?step:-step;var newEntityWidth=currentEntityWidth+diff;if(newEntityWidth>maxWidth){newEntityWidth=maxWidth}if(newEntityWidth=2&&frame<=5){App.context.get("state").set("musicRecordingsGridIsShown",true);setTimeout(function(){allDone()},frame*50)}return}allDone()}},5e3);var allDone=function(){window.status="screenshot_ready";console.log("screenshot is ready");clearInterval(intervalId)};if(screenshotTypes["state_interface"]){App.context.get("state").unserialize(JSON.parse('{"musicCollectionGrid":{"entityConfigs":[{"clientId":"cf1647","parameters":{"library":"bl","composer":"Mozart","year":"","performer":"","title":"Symphony; 41","collection":"","place":""},"plannedParameterUpdates":{}},{"clientId":"cf544","parameters":{"kind":"pair","comparisonMode":"superposition"},"plannedParameterUpdates":{}},{"clientId":"cf562","parameters":{"library":"bl","title":"Symphony; 40","year":"","composer":"Mozart","performer":"","place":"","collection":""},"plannedParameterUpdates":{"year":"1970-1979","title":"Sonata"}},{"clientId":"cf170","parameters":{"library":"charm","title":"","year":"","composer":"Mozart","performer":"","recordingURI":"http://dml.org/charm/2378"},"plannedParameterUpdates":{}},{"clientId":"cf224","parameters":{},"plannedParameterUpdates":{}}],"viewConfigs":[{"clientId":"custom17","parameters":{"kind":"list","limit":"10","offset":"6","sortBy":"label"},"plannedParameterUpdates":{}},{"clientId":"cf1783","parameters":{"kind":"tonic-histogram","widthToHeightRatio":"2"},"plannedParameterUpdates":{}},{"clientId":"cf780","parameters":{"kind":"key-relative-chord-seq","sequenceCount":"50","sequenceRepresentation":"parallel-coordinates","chordGrouppingIsByType":"1","guidesAreVisible":"1","recordingsInMajorModeAreIncluded":"1","recordingsInMinorModeAreIncluded":"1","chordTypesArePopularOnly":"","chordSequencesWithCyclesAreIncluded":"1","nIsIncluded":"","sequenceStepCount":"5"},"plannedParameterUpdates":{}}],"selectedEntityConfigClientId":"cf562","selectedViewConfigClientId":"cf780","entityWidth":260},"musicRecordingGrid":{"entityConfigs":[{"clientId":"cf204","parameters":{"recordingURI":"http://sounds.bl.uk/resource/026M-1LP0181227XX-0200V0"},"plannedParameterUpdates":{}},{"clientId":"cf209","parameters":{"recordingURI":"http://sounds.bl.uk/resource/026M-1LP0163217XX-0100V0"},"plannedParameterUpdates":{}},{"clientId":"cf214","parameters":{"recordingURI":"http://sounds.bl.uk/resource/026M-1CL0046563XX-0100V0"},"plannedParameterUpdates":{}},{"clientId":"cf219","parameters":{"recordingURI":"http://sounds.bl.uk/resource/026M-1LP0163226XX-0100V0"},"plannedParameterUpdates":{}}],"viewConfigs":[{"clientId":"def4","parameters":{"kind":"properties"},"plannedParameterUpdates":{}},{"clientId":"def5","parameters":{"kind":"midi-pitch-histogram"},"plannedParameterUpdates":{}}]}}'));App.play("http://dml.org/charm/2378");var $fakeMouse=$.bem.generateElement("screenshot","fake-cursor");$fakeMouse.css({left:335,top:430});$("body").append($fakeMouse);$fakeMouse.on("mouseover",function(event){console.log("here",arguments,$fakeMouse);event.pageX=335;event.pageY=430;App.TooltipModule.update(event,"C# → 15",$fakeMouse)});$fakeMouse.trigger("mouseover")}var teaserEntityWidth=200;if(screenshotTypes["state_teaser"]){App.context.get("state").unserialize(JSON.parse('{"musicCollectionGrid":{"entityConfigs":[{"clientId":"cf1647","parameters":{"library":"bl","composer":"","year":"","performer":"","title":"","collection":"uganda","place":""},"plannedParameterUpdates":{}},{"clientId":"cf544","parameters":{"kind":"pair","comparisonMode":"superposition"},"plannedParameterUpdates":{}},{"clientId":"cf1681","parameters":{"library":"bl","composer":"","year":"","performer":"","title":"","collection":"dinka","place":""},"plannedParameterUpdates":{}},{"clientId":"cf660","parameters":{"kind":"pair","comparisonMode":"superposition"},"plannedParameterUpdates":{}},{"clientId":"cf602","parameters":{"kind":"pair","comparisonMode":"direct"},"plannedParameterUpdates":{}},{"clientId":"cf718","parameters":{"library":"bl","composer":"schoenberg","year":"","performer":"","title":"","place":"","collection":""},"plannedParameterUpdates":{}},{"clientId":"cf480","parameters":{"library":"bl","composer":"","year":"","performer":"","title":"symphony","place":"","collection":""},"plannedParameterUpdates":{}},{"clientId":"cf418","parameters":{"library":"bl","title":"piano","year":"","composer":"","performer":"","place":"","collection":""},"plannedParameterUpdates":{}}],"viewConfigs":[{"clientId":"custom17","parameters":{"kind":"pitch-histogram"},"plannedParameterUpdates":{}},{"clientId":"custom18","parameters":{"kind":"midi-pitch-histogram"},"plannedParameterUpdates":{}},{"clientId":"cf1783","parameters":{"kind":"tuning-stats","widthToHeightRatio":"2"},"plannedParameterUpdates":{}},{"clientId":"cf780","parameters":{"kind":"pitch-class-histogram","widthToHeightRatio":"2"},"plannedParameterUpdates":{}},{"clientId":"cf481","parameters":{"kind":"tempo-histogram","tempoMin":"30","tempoMax":"300","tempoNumBins":"50","tempoPeriod":"1","widthToHeightRatio":"2"},"plannedParameterUpdates":{}}],"selectedEntityConfigClientId":"cf1647","entityWidth":200},"musicRecordingGrid":{"entityConfigs":[],"viewConfigs":[{"clientId":"def4","parameters":{"kind":"properties"},"plannedParameterUpdates":{}},{"clientId":"def5","parameters":{"kind":"midi-pitch-histogram"},"plannedParameterUpdates":{}}]}}'))}if(screenshotTypes["state_teaser-wo-piano"]){App.context.get("state").unserialize(JSON.parse('{"musicCollectionGrid":{"entityConfigs":[{"clientId":"cf1647","parameters":{"library":"bl","composer":"","year":"","performer":"","title":"","collection":"uganda","place":""},"plannedParameterUpdates":{}},{"clientId":"cf544","parameters":{"kind":"pair","comparisonMode":"superposition"},"plannedParameterUpdates":{}},{"clientId":"cf1681","parameters":{"library":"bl","composer":"","year":"","performer":"","title":"","collection":"dinka","place":""},"plannedParameterUpdates":{}},{"clientId":"cf660","parameters":{"kind":"pair","comparisonMode":"superposition"},"plannedParameterUpdates":{}},{"clientId":"cf602","parameters":{"kind":"pair","comparisonMode":"direct"},"plannedParameterUpdates":{}},{"clientId":"cf718","parameters":{"library":"bl","composer":"schoenberg","year":"","performer":"","title":"","place":"","collection":""},"plannedParameterUpdates":{}},{"clientId":"cf480","parameters":{"library":"bl","composer":"","year":"","performer":"","title":"symphony","place":"","collection":""},"plannedParameterUpdates":{}}],"viewConfigs":[{"clientId":"custom16","parameters":{"kind":"list"},"plannedParameterUpdates":{}},{"clientId":"custom17","parameters":{"kind":"pitch-histogram"},"plannedParameterUpdates":{}},{"clientId":"custom18","parameters":{"kind":"midi-pitch-histogram"},"plannedParameterUpdates":{}},{"clientId":"cf1783","parameters":{"kind":"tuning-stats","widthToHeightRatio":"2"},"plannedParameterUpdates":{}},{"clientId":"cf1872","parameters":{"kind":"mean-tempo-curve","widthToHeightRatio":"2"},"plannedParameterUpdates":{}},{"clientId":"cf780","parameters":{"kind":"pitch-class-histogram","widthToHeightRatio":"2"},"plannedParameterUpdates":{}},{"clientId":"cf481","parameters":{"kind":"tempo-histogram","tempoMin":"30","tempoMax":"300","tempoNumBins":"50","tempoPeriod":"1","widthToHeightRatio":"2"},"plannedParameterUpdates":{}},{"clientId":"cf1961","parameters":{"kind":"tonic-histogram","widthToHeightRatio":"2"},"plannedParameterUpdates":{}}],"selectedEntityConfigClientId":"cf1647","selectedViewConfigClientId":"","entityWidth":'+teaserEntityWidth+'},"musicRecordingGrid":{"entityConfigs":[],"viewConfigs":[{"clientId":"def4","parameters":{"kind":"properties"},"plannedParameterUpdates":{}},{"clientId":"def5","parameters":{"kind":"midi-pitch-histogram"},"plannedParameterUpdates":{}}]}}'))}if(screenshotTypes["state_flip"]){var musicRecordingsGridIsShown=screenshotTypes["frame_6"]?true:false;App.context.get("state").unserialize(JSON.parse('{"musicRecordingsGridIsShown":'+musicRecordingsGridIsShown+',"musicCollectionGrid":{"entityConfigs":[{"clientId":"cf1647","parameters":{"library":"charm","composer":"Mozart","year":"","performer":"","title":""},"plannedParameterUpdates":{}},{"clientId":"cf562","parameters":{"library":"charm","title":"","year":"","composer":"Haydn","performer":""},"plannedParameterUpdates":{}}],"viewConfigs":[{"clientId":"custom17","parameters":{"kind":"list","limit":"10","offset":"6","sortBy":"label"},"plannedParameterUpdates":{}},{"clientId":"cf1783","parameters":{"kind":"tempo-histogram","widthToHeightRatio":"2","tempoMin":"30","tempoMax":"300","tempoNumBins":"50","tempoPeriod":"1"},"plannedParameterUpdates":{}}],"selectedEntityConfigClientId":"cf1647","selectedViewConfigClientId":"cf1783","entityWidth":260},"musicRecordingGrid":{"entityConfigs":[{"clientId":"cf209","parameters":{"recordingURI":"http://sounds.bl.uk/resource/026M-1LP0163217XX-0100V0"},"plannedParameterUpdates":{}},{"clientId":"cf471","parameters":{"kind":"pair","comparisonMode":"direct"},"plannedParameterUpdates":{}},{"clientId":"cf219","parameters":{"recordingURI":"http://sounds.bl.uk/resource/026M-1LP0163226XX-0100V0"},"plannedParameterUpdates":{}}],"viewConfigs":[{"clientId":"def5","parameters":{"kind":"midi-pitch-histogram"},"plannedParameterUpdates":{}},{"clientId":"cf397","parameters":{"kind":"tempo-nonuniform","widthToHeightRatio":"2"},"plannedParameterUpdates":{}},{"clientId":"cf494","parameters":{"kind":"tempo-normalised","widthToHeightRatio":"2"},"plannedParameterUpdates":{}}],"selectedEntityConfigClientId":"cf471","selectedViewConfigClientId":"cf494","entityWidth":220}}'))}var resizeIfNeededAfterADelay=function(){setInterval(function(){if(screenshotTypes["autosize_grid"]||screenshotTypes["autosize"]){var $configGrid=$(".config-grid:visible");var $cellsSpace=$configGrid.find(".config-grid-cells__space");var maxX=0;var maxY=0;var $visInstances=$cellsSpace.find(".config-grid-cells__vis-instance");if(!$visInstances.length){resizeIfNeededAfterADelay();return}$visInstances.each(function(){var $visInstance=$(this);var position=$visInstance.position();var currentMaxX=position.left+$visInstance.width();var currentMaxY=position.top+$visInstance.height();if(currentMaxX>maxX){maxX=currentMaxX}if(currentMaxY>maxY){maxY=currentMaxY}});$cellsSpace.css({"padding-right":0,"padding-bottom":0,width:maxX,height:maxY,overflow:"visible"});if(screenshotTypes["autosize"]){var $body=$("body");$body.width($cellsSpace.offset().left+$cellsSpace.outerWidth());$body.height($cellsSpace.offset().top+$cellsSpace.outerHeight())}}},100)};resizeIfNeededAfterADelay();$(window).resize(resizeIfNeededAfterADelay)}); +"use strict";App.module("HelpModule",function(HelpModule,App,Backbone,Marionette,$,_,Logger){HelpModule.startWithParent=false;var defaultModuleOptions={contentScrollDuration:200,resizeThrottleDuration:200,resizeDebounceDuration:200,scrollThrottleDuration:200,scrollDebounceDuration:200};var moduleOptions;var logger=null;var $help=null;var $helpBody=null;var $helpCloser=null;var $helpContentContainer=null;var $helpContent=null;var $helpContentHeaders=null;var $helpTocContainer=null;var $helpToc=null;var contentScrollSavedPosition=null;var resizing=false;var scrolling=false;var scrollingTo=null;var lastShownMaterialId=null;var pendingMaterialId=null;var $lastContentHeader=null;var assertModuleIsInitialized=function(){if(!$help){throw"HelpModule has not been initialized"}};var updateContentBottomMargin=null;var updateContentScrollSavedPosition=null;var restoreContentScrollSavedPosition=null;var updateTocCurrentItem=null;HelpModule.addInitializer(function(options){moduleOptions=_.extend(defaultModuleOptions,options);logger=Logger.get("HelpModule");updateContentBottomMargin=function(makeBigAndLockScroll){if(makeBigAndLockScroll){$helpContentContainer.css("overflow","hidden");$helpContent.css("border-bottom-width",1e4)}else{$helpContentContainer.css("overflow","scroll");$helpContent.css("border-bottom-width",Math.max(0,$helpContentContainer.outerHeight()-$helpContent.height()+$lastContentHeader.position().top-parseInt($helpContent.css("padding-bottom"),10)+parseInt($lastContentHeader.css("margin-top"),10)))}};updateContentScrollSavedPosition=function(){var scrollTop=$helpContentContainer.scrollTop();var $candidateHeader=$helpContentHeaders.first();for(var i=0;i<=$helpContentHeaders.length;i++){var $helpContentHeader=$($helpContentHeaders[i]);if(!$helpContentHeader.length||$helpContentHeader.position().top>=scrollTop){contentScrollSavedPosition=[Math.floor(scrollTop-$candidateHeader.position().top-parseInt($candidateHeader.css("margin-top")),10),$candidateHeader];updateTocCurrentItem();break}else{$candidateHeader=$helpContentHeader}}App.DataModule.Storage.setStrCache(HelpModule,"saved-scroll-position",contentScrollSavedPosition[0]+" "+contentScrollSavedPosition[1].attr("data-id"))};restoreContentScrollSavedPosition=function(animate){if(animate){scrollingTo=contentScrollSavedPosition[1].attr("data-id")}$helpContentContainer.stop(true,false).scrollTo(contentScrollSavedPosition[1].position().top+parseInt(contentScrollSavedPosition[1].css("margin-top"),10)+contentScrollSavedPosition[0],{duration:animate?moduleOptions.contentScrollDuration:0},function(){scrollingTo=null})};updateTocCurrentItem=function(){var newMaterialId=scrollingTo!==null?scrollingTo:contentScrollSavedPosition[1].attr("data-id");if(lastShownMaterialId!==newMaterialId){$helpToc.children().removeClass("help__toc-element_current");$helpToc.find(_.str.sprintf("[data-id='%s']",newMaterialId)).addClass("help__toc-element_current")}if(lastShownMaterialId!=newMaterialId){if(HelpModule.isShowing()){lastShownMaterialId=newMaterialId;HelpModule.trigger("show",{materialId:newMaterialId})}}};$help=$.bem.generateBlock("help").setMod("help","state","hidden");$helpBody=$.bem.generateElement("help","body");$helpContentContainer=$.bem.generateElement("help","content-container");$helpContent=$.bem.generateElement("help","content");$helpTocContainer=$.bem.generateElement("help","toc-container");$helpToc=$.bem.generateElement("help","toc");$helpCloser=$.bem.generateElement("help","closer");$help.click(function(event){if($help.hasMod("help","state_shown")){HelpModule.hide()}event.stopPropagation()});$helpBody.click(function(event){event.stopPropagation()});$helpContent.addClass("help-content").append($(Backbone.Marionette.TemplateCache.get("#help-content")({Ctrl:_.str.capitalize(App.keyboardMappings.ctrlTitle)})));var usedDataIds=[];$helpContentHeaders=$helpContent.find("h1, h2, h3");$helpContentHeaders.each(function(i,helpContentHeader){var $helpContentHeader=$(helpContentHeader);var title=$helpContentHeader.attr("data-toc");if(!title){title=$helpContentHeader.text()}var id=$helpContentHeader.attr("data-id");if(_.isUndefined(id)){id=_.str.slugify($helpContentHeader.text())}if(usedDataIds.indexOf(id)!=-1){throw _.str.sprintf("There are more than one header with id = '%s' in help",id)}usedDataIds.push(id);$helpContentHeader.attr("data-id",id);var $currentHelpTocElement=$.bem.generateElement("a","help","toc-element").attr("href",id?_.str.sprintf("#help/%s",id):"#help").attr("data-id",id).setMod("help","toc-element","hierarchy",$helpContentHeader.prop("tagName").slice(1)).text(title).click(function(event){if($.eventsugar.isAttemptToOpenInAnotherWindow(event)){return}event.preventDefault();HelpModule.show({materialId:id,forceScroll:true});return false});$helpToc.append($currentHelpTocElement);$lastContentHeader=$helpContentHeader});var rawSavedScrollPosition=App.DataModule.Storage.getStrCache(HelpModule,"saved-scroll-position");if(rawSavedScrollPosition){var i=rawSavedScrollPosition.indexOf(" ");var offset=parseInt(rawSavedScrollPosition.slice(0,i));var $materialHeader=$helpContentHeaders.filter(_.str.sprintf("[data-id='%s']",rawSavedScrollPosition.slice(i+1)));if($materialHeader.length){contentScrollSavedPosition=[offset,$materialHeader]}}if(!contentScrollSavedPosition){contentScrollSavedPosition=[0,$helpContentHeaders.first()]}lastShownMaterialId=contentScrollSavedPosition[1].attr("data-id");if(navigator&&navigator.appVersion&&navigator.appVersion.indexOf("Win")!=-1){$helpCloser.setMod("help","closer","position","right")}$helpCloser.click(function(event){if($help.hasMod("help","state_shown")){HelpModule.hide()}event.stopPropagation()});$helpContentContainer.append($helpContent);$helpTocContainer.append($helpToc);$helpBody.append($helpContentContainer,$helpTocContainer);$help.append($helpBody,$helpCloser);$(".app__help").append($help);$help.setMod("help","animating",true);var $window=$(window);$window.on("resize",function(){if(!HelpModule.isShowing()){return}if(!resizing){resizing=true;updateContentBottomMargin(true)}restoreContentScrollSavedPosition()});$window.on("resize",_.debounce(function(event){if(!HelpModule.isShowing()){return}updateContentBottomMargin();resizing=false;restoreContentScrollSavedPosition(true)},moduleOptions.resizeDebounceDuration));$helpContentContainer.on("scroll",_.throttle(function(event){if(!resizing){scrolling=true;updateContentScrollSavedPosition()}},moduleOptions.scrollThrottleDuration,{trailing:false}));$helpContentContainer.on("scroll",_.debounce(function(event){scrolling=false;updateContentScrollSavedPosition();if(HelpModule.isShowing()&&pendingMaterialId!==null&&pendingMaterialId!=lastShownMaterialId&&pendingMaterialId!=contentScrollSavedPosition[1].attr("data-id")){contentScrollSavedPosition=[0,$helpContentHeaders.filter(_.str.sprintf("[data-id='%s']",pendingMaterialId))];pendingMaterialId=null;restoreContentScrollSavedPosition(true)}else{pendingMaterialId=null}},moduleOptions.scrollDebounceDuration));new ScrollFix($helpContentContainer.get(0));$helpContentContainer.get(0).addEventListener("touchmove",function(event){event.stopPropagation()});var helpContentHasVimeo=false;$helpContent.find("iframe").each(function(){var $iframe=$(this);var src=$iframe.attr("src");if(!_.isString(src)){src=""}if(src.indexOf("vimeo")!==-1){helpContentHasVimeo=true;$(this).attr("data-type","vimeo")}});if(helpContentHasVimeo){var scriptElement=document.createElement("script");scriptElement.type="text/javascript";scriptElement.async=true;scriptElement.src="http://a.vimeocdn.com/js/froogaloop2.min.js";document.getElementsByTagName("body")[0].appendChild(scriptElement)}});HelpModule.show=function(options){var options=$.extend({},options);assertModuleIsInitialized();var helpIsOpening=false;if($help.hasMod("help","state_hidden")||$help.hasMod("help","state_pre-hidden")){helpIsOpening=true;$help.toggleClass("help_animating",!options.instant);$help.setMod("help","state","pre-shown");lastShownMaterialId=null;pendingMaterialId=null;updateContentBottomMargin()}var needToScroll=true;var $materialHeader=$helpContent.find(_.str.sprintf("[data-id='%s']",options.materialId));if($materialHeader.length){pendingMaterialId=options.materialId;if(!scrolling){if(options.forceScroll||!contentScrollSavedPosition[1].is($materialHeader)){contentScrollSavedPosition=[0,$materialHeader]}else{needToScroll=false}}}if(helpIsOpening||needToScroll&&(!scrolling||scrollingTo!==null)){restoreContentScrollSavedPosition(!helpIsOpening);updateTocCurrentItem()}if(!needToScroll){scrollingTo=null;pendingMaterialId=null}if($help.hasMod("help","state_pre-shown")){$help.setMod("help","state","shown")}if(!!options.instant){setTimeout(function(){$help.setMod("help","animating",true)},10)}};HelpModule.hide=function(){assertModuleIsInitialized();$helpContent.find("iframe[data-type=vimeo]").each(function(){if(window.$f){$f(this).api("pause")}});$help.setMod("help","state","pre-hidden");HelpModule.trigger("hide");setTimeout(function(){if($help.hasMod("help","state_pre-hidden")){$help.setMod("help","state","hidden")}},1e3)};HelpModule.isShowing=function(){return $help.hasMod("help","state_pre-shown")||$help.hasMod("help","state_shown")}},Logger); +"use strict";App.module("NotificationsModule",function(NotificationsModule,App,Backbone,Marionette,$,_,Logger){NotificationsModule.startWithParent=false;var defaultModuleOptions={defaultTTL:10,minTTLOnUnfreeze:6};var moduleOptions;var logger=null;var $notifications=null;var $notificationStack=null;var addNewNotification=null;var removeNotification=null;var updateNotification=null;var notificationTimeoutHandler=null;var assertModuleIsInitialized=function(){if(!$notifications){throw"NotificationsModule has not been initialized"}};NotificationsModule.addInitializer(function(options){moduleOptions=_.extend(defaultModuleOptions,options);logger=Logger.get("NotificationsModule");logger.debug("Begin init");$notifications=$(".app__notifications").addClass("notifications");$notificationStack=$.bem.generateElement("notifications","stack").appendTo($notifications);var setupNotification=function($notification,notificationOptions){var $notificationContent=$notification.children().eq(0).children().eq(0);if(!$notificationContent.hasClass("notification__content")){$notificationContent=$notificationContent.children().eq(0)}$notificationContent.children().detach();if(notificationOptions.content instanceof $){$notificationContent.append(notificationOptions.content)}else{$notificationContent.html(notificationOptions.content)}$notification.attr("data-id",notificationOptions.id);$notification.data("options",notificationOptions);$notification.data("$content",$notificationContent);var modifiersAsArray=null;if(_.isString(notificationOptions.modifiers)){modifiersAsArray=notificationOptions.modifiers.split(" ")}if(_.isArray(notificationOptions.modifiers)){modifiersAsArray=notificationOptions.modifiers}var state=$notification.getMod("notification","state");$notification.attr("class","notification notification_state_"+state);if(_.isArray(modifiersAsArray)&&modifiersAsArray.length){$notification.addClass("notification_"+modifiersAsArray.join(" notification_"))}if(!$notification.getMod("notification","ttl")){$notification.setMod("notification","ttl",moduleOptions.defaultTTL)}};var freezeTTL=function(){logger.debug("Freeze ttl",this);$(this).addClass("notification_ttl-frozen")};var unfreezeTTL=function(){logger.debug("Unfreeze ttl",this);var $this=$(this);var ttl=$this.getMod("notification","ttl");if(ttl*1==ttl&&ttl").hide().appendTo("body");var volume=App.DataModule.Storage.getStrCache(PlayerModule,"volume");if(volume!==undefined){volume=parseFloat(volume)}if(!_.isNumber(volume)||_.isNaN(volume)||volume<0&&volume>1){volume=undefined}var muted=App.DataModule.Storage.getStrCache(PlayerModule,"muted")?true:false;PlayerModule.$jPlayer.jPlayer({swfPath:"./$/jquery.jplayer.swf",supplied:"mp3",wmode:"window",cssSelectorAncestor:".player__body",useStateClassSkin:true,autoBlur:false,smoothPlayBar:false,keyEnabled:false,remainingDuration:true,toggleDuration:false,volume:volume,solution:"html,flash",muted:muted,cssSelector:{play:".player__command_action_play",pause:".player__command_action_pause",mute:".player__command_action_volume-mute",unmute:".player__command_action_volume-down",volumeMax:".player__command_action_volume-up",volumeBar:".player__slider_type_volume",volumeBarValue:".player__slider-head_type_volume",seekBar:".player__slider_type_time",playBar:".player__slider-head_type_time",currentTime:".player__time_type_before",duration:".player__time_type_after"}});PlayerModule.$jPlayer.on($.jPlayer.event.volumechange,function(event){var volume=PlayerModule.$jPlayer.jPlayer("option","volume");var muted=PlayerModule.$jPlayer.jPlayer("option","muted");App.DataModule.Storage.setStrCache(PlayerModule,"volume",volume+"");App.DataModule.Storage.setStrCache(PlayerModule,"muted",muted?"1":"")});PlayerModule.PlayerView=Backbone.View.extend({el:PlayerModule.$player,initialize:function(){var _this=this;_this.$body=_this.$el.find(".player__body");App.TooltipModule.convertTitlesToTooltips(_this.$el);_this.$el.show();_this.$commandDownload=_this.$(".player__command_action_download");_this.$commandDownload.click(function(event){PlayerModule.$jPlayer.jPlayer("pause")});_this.$label1=_this.$(".player__label_row_1");_this.$label2=_this.$(".player__label_row_2");_this.$cover=_this.$(".player__cover");_this.$messageError=_this.$(".player__message_type_error");_this.$messageLoading=_this.$(".player__message_type_loading");_this.$messageNoRecording=_this.$(".player__message_type_no-recording");_this.$messageNoAudio=_this.$(".player__message_type_no-audio");_this._startPlayingAfterRecordingIsLoaded=false;_this._config=new App.ContextModule.Config;_this._dynamicDefinitionForRecording=App.dynamicDefinitionProviderForRecordings.get(_this._config);_this.listenTo(_this._dynamicDefinitionForRecording,"change",_this.render);_this.listenTo(_this._config,"change",_this.render);this._cachedLabel="initial";_this.render()},render:function(){var _this=this;var recordingAttributes=_this._dynamicDefinitionForRecording.attributes;var label=recordingAttributes.label;var audio=recordingAttributes.audio?recordingAttributes.audio[0]:undefined;if(!_.isEqual(_this._cachedRecordingAttributes,recordingAttributes)){if(!_this._dynamicDefinitionForRecording.attributes.label||!audio){_this.$body.hide();_this.$cover.show();_this.$cover.children().hide();switch(label){case false:_this.$messageError.show();break;case null:_this.$messageLoading.show();break;default:if(label===undefined){_this.$messageNoRecording.show()}else{_this.$messageNoAudio.show()}}PlayerModule.$jPlayer.jPlayer("stop")}else{PlayerModule.$jPlayer.jPlayer("setMedia",{mp3:audio});_this.$cover.hide();_this.$body.show();_this.$label1.text(recordingAttributes.label);_this.$label2.text(recordingAttributes.composer);_this.$commandDownload.attr("href",audio);if(_this._startPlayingAfterRecordingIsLoaded){PlayerModule.$jPlayer.jPlayer("play");_this._startPlayingAfterRecordingIsLoaded=false}}}if(label){}_this._cachedRecordingAttributes=recordingAttributes},play:function(recordingURI,time){var _this=this;if(_this._config.getParameterValue("recordingURI")!=recordingURI){_this._startPlayingAfterRecordingIsLoaded=true;_this._config.updateParameter("recordingURI",recordingURI)}else{PlayerModule.$jPlayer.jPlayer("play",time?time:0)}},stop:function(recordingURI){var _this=this;PlayerModule.$jPlayer.jPlayer("pause")}});PlayerModule.playerView=new PlayerModule.PlayerView});PlayerModule.play=function(recordingURI,time){PlayerModule.playerView.play(recordingURI,time);App.NotificationsModule.show({id:"player",content:PlayerModule.playerView.$el,onClose:function(){PlayerModule.playerView.stop()},modifiers:["ttl_ever","no-padding"],keepContentInMemoryAfterRemoval:true})}},Logger); +"use strict";App.module("TooltipModule",function(TooltipModule,App,Backbone,Marionette,$,_){var renderFunctions={};var OBJECT_TYPE_CHORD_SEQUENCE=1;TooltipModule.addInitializer(function(){TooltipModule.TooltipView=Backbone.View.extend({initialize:function(options){var _this=this;_this.$tooltip=$("").addClass("tooltip").appendTo("body")},update:function(mouseEvent,title,target){var _this=this;if(!mouseEvent||mouseEvent.type=="mouseout"||mouseEvent.type=="mouseup"||!title){_this.previousTarget=null;_this.$tooltip.addClass("tooltip_animation_slow-opacity");_this.$tooltip.removeClass("tooltip_state_visible")}else{if(target!=_this.previousTarget){_this.$tooltip.removeClass("tooltip_animation_slow-opacity");_this.$tooltip.addClass("tooltip_state_visible");_this.$tooltip.html(title)}_this.$tooltip.position({of:mouseEvent,my:"left+20 topt+20",collision:"flip flip"})}}});TooltipModule.tooltipView=new TooltipModule.TooltipView;TooltipModule._updateTooltipForDOMNodeWithExTitle=function(mouseEvent){TooltipModule.tooltipView.update(mouseEvent,$(this).attr("tooltip-title"),this)};TooltipModule.update=function(mouseEvent,title,target){TooltipModule.tooltipView.update(mouseEvent,title,target)};TooltipModule.convertTitlesToTooltips=function($container){$container.find("[title]").each(function(){var $this=$(this);$this.attr("tooltip-title",$this.attr("title")).removeAttr("title");if(App.options.enableTooltipsForControlsWithTitles){$this.on("mouseover",TooltipModule._updateTooltipForDOMNodeWithExTitle).on("mouseout",TooltipModule._updateTooltipForDOMNodeWithExTitle).on("mousemove",TooltipModule._updateTooltipForDOMNodeWithExTitle).on("mouseup",TooltipModule._updateTooltipForDOMNodeWithExTitle)}})}})}); +"use strict";App.module("ContextModule",function(ContextModule,App,Backbone,Marionette,$,_,Logger){ContextModule.startWithParent=false;var defaultModuleOptions={stateHistoryMaxLength:20};var logger=null;var assertModuleIsInitialized=function(){if(!logger){throw"ContextModule has not been initialized"}};ContextModule.addInitializer(function(options){ContextModule.moduleOptions=_.extend(defaultModuleOptions,options);logger=Logger.get("ContextModule")})},Logger); +"use strict";App.module("ContextModule",function(ContextModule,App,Backbone,Marionette,$,_,Logger){var logger=null;ContextModule.addInitializer(function(options){logger=Logger.get("ContextModule.Config");logger.setLevel(Logger.WARN);ContextModule.Config=Backbone.Model.extend({cidPrefix:"cf",constructor:function(attributes,options){this._modificationPropagationEnabled=true;this._parametersWereModified=false;this._plannedParameterUpdatesWereModified=false;this._cachedHashForTrimmedParameters=null;this._cachedHashForParameters=null;this._cachedHashForPlannedParameterUpdates=null;this._cachedHashForPermanent=null;this._cachedHashForTemp=null;this._cachedHash=null;var defaultParameters=_.isSimpleObject(attributes)&&_.isSimpleObject(attributes.parameters)?attributes.parameters:undefined;var defaultPlannedParameterUpdates=_.isSimpleObject(attributes)&&_.isSimpleObject(attributes.plannedParameterUpdates)?attributes.plannedParameterUpdates:undefined;var realAttributes={};realAttributes.parameters=new Backbone.Model(defaultParameters);realAttributes.plannedParameterUpdates=new Backbone.Model(defaultPlannedParameterUpdates);this.listenTo(realAttributes.parameters,"change",this._registerModificationOfParameters);this.listenTo(realAttributes.plannedParameterUpdates,"change",this._registerModificationOfPlannedParameterUpdates);Backbone.Model.apply(this,[realAttributes,options]);if(attributes&&attributes.clientId){this.cid=attributes.clientId;_.markUniqueIdAsAlreadyUsed(attributes.clientId)}},getClientId:function(){return this.cid},getDimension:function(){return this.collection?this.collection.dimension:undefined},getConfigGridType:function(){return this.collection?this.collection.configGridType:undefined},getParameterValue:function(parameterName){return this.attributes.parameters.attributes[parameterName]},getPlannedParameterValue:function(parameterName){var plannedParameterUpdatesAttributes=this.attributes.plannedParameterUpdates.attributes;if(plannedParameterUpdatesAttributes.hasOwnProperty(parameterName)){return plannedParameterUpdatesAttributes[parameterName]}else{return this.attributes.parameters.attributes[parameterName]}},getPlannedParameterValues:function(parameterName){var result=_.clone(this.attributes.parameters.attributes);var plannedParameterUpdatesAttributes=this.attributes.plannedParameterUpdates.attributes;for(var key in plannedParameterUpdatesAttributes){if(plannedParameterUpdatesAttributes.hasOwnProperty(key)){if(plannedParameterUpdatesAttributes[key]===undefined){if(result.hasOwnProperty(key)){delete result[key]}}else{result[key]=plannedParameterUpdatesAttributes[key]}}}return result},isPlannedToUpdate:function(parameterName){return this.attributes.plannedParameterUpdates.attributes.hasOwnProperty(parameterName)},hasPlannedParameterUpdates:function(){return _.size(this.attributes.plannedParameterUpdates.attributes)>0},updateParameter:function(parameterName,parameterValue){if(!_.isString(parameterName)){throw _.str.sprintf("Config::updateParameter called a non-string parameterName: %s",parameterName)}var prevModificationPropagationEnabled=this._modificationPropagationEnabled;this._modificationPropagationEnabled=false;this.attributes.plannedParameterUpdates.unset(parameterName);if(typeof parameterValue!=="undefined"){this.attributes.parameters.set(parameterName,parameterValue)}else{this.attributes.parameters.unset(parameterName)}if(prevModificationPropagationEnabled){this._triggerModificationEventsIfNeeded();this._modificationPropagationEnabled=true}},planParameterUpdate:function(parameterName,parameterValue){if(!_.isString(parameterName)){throw _.str.sprintf("Config::planParameterUpdate called a non-string parameterName: %s",parameterName)}var prevModificationPropagationEnabled=this._modificationPropagationEnabled;this._modificationPropagationEnabled=false;var plannedParameterUpdatesAttributes=this.attributes.plannedParameterUpdates.attributes;var parametersAttributes=this.attributes.parameters.attributes;if(parameterValue===parametersAttributes[parameterName]){if(this.attributes.plannedParameterUpdates.attributes.hasOwnProperty(parameterName)&&this.attributes.plannedParameterUpdates.attributes[parameterName]===undefined){this.attributes.plannedParameterUpdates.set(parameterName,42,{silent:true})}this.attributes.plannedParameterUpdates.unset(parameterName)}else{if(parameterValue===undefined&&this.attributes.parameters.attributes.hasOwnProperty(parameterName)&&!this.attributes.plannedParameterUpdates.attributes.hasOwnProperty(parameterName)){this.attributes.plannedParameterUpdates.set(parameterName,42,{silent:true})}this.attributes.plannedParameterUpdates.set(parameterName,parameterValue)}if(prevModificationPropagationEnabled){this._triggerModificationEventsIfNeeded();this._modificationPropagationEnabled=true}},cancelPlannedParameterUpdate:function(parameterName){if(!_.isString(parameterName)){throw _.str.sprintf("Config::cancelPlannedParameterUpdate called a non-string parameterName: %s",parameterName)}var prevModificationPropagationEnabled=this._modificationPropagationEnabled;this._modificationPropagationEnabled=false;this.attributes.plannedParameterUpdates.unset(parameterName);if(prevModificationPropagationEnabled){this._triggerModificationEventsIfNeeded();this._modificationPropagationEnabled=true}},updateParameters:function(parameters){if(!_.isSimpleObject(parameters)){throw _.str.sprintf("Config::updateParameters called a wrong argument: %s",parameters)}this._modificationPropagationEnabled=false;for(var parameterName in parameters){if(parameters.hasOwnProperty(parameterName)){this.updateParameter(parameterName,parameters[parameterName])}}this._triggerModificationEventsIfNeeded();this._modificationPropagationEnabled=true},planParameterUpdates:function(parameters){if(!_.isSimpleObject(parameters)){throw _.str.sprintf("Config::planParameterUpdates called with a wrong argument: %s",parameters)}this._modificationPropagationEnabled=false;for(var parameterName in parameters){if(parameters.hasOwnProperty(parameterName)){this.planParameterUpdate(parameterName,parameters[parameterName])}}this._triggerModificationEventsIfNeeded();this._modificationPropagationEnabled=true},cancelPlannedParameterUpdates:function(parameterNames){if(_.isArray(parameterNames)){this._modificationPropagationEnabled=false;for(var i=0;ithis.attributes.maxStackSize){this._undoStack=this._undoStack.slice(0,this.attributes.maxStackSize)}if(this._redoStack.length>this.attributes.maxStackSize){this._redoStack=this._redoStack.slice(0,this.attributes.maxStackSize)}}})})},Logger); +"use strict";App.module("ContextModule",function(ContextModule,App,Backbone,Marionette,$,_,Logger){var logger=null;ContextModule.addInitializer(function(options){logger=Logger.get("ContextModule.AppContext");logger.setLevel(Logger.DEBUG);ContextModule.AppContext=Backbone.Model.extend({defaults:function(){return{state:new ContextModule.State,stateHistory:new ContextModule.StateHistory,stateBookmarks:new ContextModule.StateBookmarkCollection}},initialize:function(){this._modificationPropagationEnabled=true;this._linkBetweenStateAndStateHistoryEnabled=true;this._attributesWereModified=false;this._registerStateChange();this.attributes.state.bind("change",this._registerStateChange,this);this.attributes.stateHistory.bind("change",this._registerStateHistoryChange,this);this.attributes.stateBookmarks.bind("change",this._registerStateBookmarksChange,this)},serialize:function(){var result={stateHistory:this.attributes.stateHistory.serialize(),stateBookmarks:this.attributes.stateBookmarks.serialize()};return result},unserialize:function(serializedAttributes){this._modificationPropagationEnabled=false;var fixedSerializedAttributes=serializedAttributes;if(!_.isSimpleObject(fixedSerializedAttributes)){logger.warn("AppContext::unserialize called for not an object: ",serializedAttributes);fixedSerializedAttributes={}}this.attributes.stateBookmarks.unserialize(fixedSerializedAttributes.stateBookmarks);var serializedStateHistory=fixedSerializedAttributes["stateHistory"];if(!_.isSimpleObject(serializedStateHistory)){serializedStateHistory={}}this._linkBetweenStateAndStateHistoryEnabled=false;this.attributes.state.unserialize(serializedStateHistory.currentSerializedState);serializedStateHistory.currentSerializedState=this.attributes.state.serialize();this.attributes.stateHistory.unserialize(serializedStateHistory);this._linkBetweenStateAndStateHistoryEnabled=true;this._triggerModificationEventsIfNeeded();this._modificationPropagationEnabled=true},_registerStateChange:function(){if(this._linkBetweenStateAndStateHistoryEnabled){this.attributes.stateHistory.set("currentSerializedState",this.attributes.state.serialize())}this._registerModificationOfAttribute()},_registerStateHistoryChange:function(){if(this._linkBetweenStateAndStateHistoryEnabled){this.attributes.state.unserialize(this.attributes.stateHistory.get("currentSerializedState"))}if(this._stateHistoryModificationPropagationEnabled){this._registerModificationOfAttribute()}},_registerStateBookmarksChange:function(){this._registerModificationOfAttribute()},_registerModificationOfAttribute:function(){this._attributesWereModified=true;if(this._modificationPropagationEnabled){this._triggerModificationEventsIfNeeded()}},_triggerModificationEventsIfNeeded:function(){if(this._attributesWereModified){this.trigger("change")}this._attributesWereModified=false}})})},Logger); +"use strict";App.module("ContextModule",function(ContextModule,App,Backbone,Marionette,$,_,Logger){var logger=null;ContextModule.addInitializer(function(options){logger=Logger.get("ContextModule.AppContextManager");logger.setLevel(Logger.DEBUG);ContextModule.AppContextManager=Backbone.Marionette.Object.extend({initialize:function(){this.defaultSerializedAppContexts={"":{stateHistory:{currentSerializedState:{musicCollectionGrid:{selectedEntityConfigClientId:"def0",entityConfigs:[{clientId:"def0",parameters:{library:"CHARM",composer:"Mozart"}},{clientId:"def1",parameters:{library:"CHARM",composer:"Haydn"}}],viewConfigs:[{clientId:"def2",parameters:{kind:"list"}},{clientId:"def3",parameters:{kind:"tonic-histogram"}}]},musicRecordingGrid:{viewConfigs:[{clientId:"def4",parameters:{kind:"properties"}},{clientId:"def5",parameters:{kind:"midi-pitch-histogram"}}]}}}},empty:{}}},saveToStorage:function(appContext){logger.debug("Saving to storage");return App.DataModule.Storage.setObjCache(ContextModule,"context",appContext.serialize())},restoreFromStorage:function(appContext,nameOfDefaultIfFailure){logger.debug("Restoring from storage");var serializedAppContext=App.DataModule.Storage.getObjCache(ContextModule,"context");if(!serializedAppContext){this.restoreDefault(appContext,nameOfDefaultIfFailure);return false}else{appContext.unserialize(serializedAppContext);return true}},restoreDefault:function(appContext,nameOfDefault){var name=nameOfDefault;if(!name){name=""}logger.debug("Restoring default");appContext.unserialize(this.defaultSerializedAppContexts[name])}})})},Logger); +"use strict";App.module("DataModule",function(DataModule,App,Backbone,Marionette,$,_,Logger){DataModule.startWithParent=false},Logger); +"use strict";App.module("DataModule.Storage",function(Storage,App,Backbone,Marionette,$,_,Logger){var logger=null;var assertModuleIsInitialized=function(){if(!logger){throw"Storage has not been initialized"}};Storage.addInitializer(function(){logger=Logger.get("DataModule.Storage");logger.debug("Begin init");logger.debug("End init")});Storage.setStrCache=function(module,key,value){assertModuleIsInitialized();var moduleName=_.isObject(module)?module.moduleName:"";if(!moduleName){moduleName=""}if(value===undefined){localStorage&&localStorage.removeItem("dml."+moduleName+"."+key);return true}else if(_.isString(value)){try{localStorage&&localStorage.setItem("dml."+moduleName+"."+key,value);logger.info("Set string cache",moduleName,key,value);return true}catch(e){var maxOutputLength=100;logger.error("Set string cache failed:",moduleName,"→",key,"=",value.slice(0,maxOutputLength)+(value.length>maxOutputLength?"...":""));return false}}else{throw _.str.sprintf("Storage.setStrCache only accepts string for value, %s given: ",typeof value,value)}};Storage.getStrCache=function(module,key){assertModuleIsInitialized();var moduleName=_.isObject(module)?module.moduleName:"";if(!moduleName){moduleName=""}var value=localStorage?localStorage.getItem("dml."+moduleName+"."+key):null;if(value===null){value=undefined}logger.info("Get string cache",module,key,value);return value};Storage.setObjCache=function(module,key,value){if(!(_.isUndefined(value)||_.isNull(value)||_.isObject(value)&&!_.isFunction(value))){throw _.str.sprintf("Storage.setObjCache can only acccept object, got %s",value)}var str=JSON.stringify(value);return Storage.setStrCache(module,key,str)};Storage.getObjCache=function(module,key){assertModuleIsInitialized();var value=localStorage?localStorage.getItem("dml."+module.moduleName+"."+key):null;if(value===null){return undefined}if(value==="null"){return null}try{var value=JSON.parse(value);return value}catch(e){return null}}},Logger); +"use strict";App.module("DataModule.CliopatriaAPI",function(CliopatriaAPI,App,Backbone,Marionette,$,_,Logger){CliopatriaAPI.startWithParent=false;var defaultModuleOptions={callbackTimeout:3e4,callbackTimeoutCheckingInterval:1e3,callbackFunctionName:"jsonp_cb",dataVersion:null,apiRootPaths:[],apiVersion:1,dataCaching:true};var logger=null;var dataVersionSuffix=null;var realAPIRootPaths=null;var realAPIRootPathsCount=null;var queryPool=null;var generateQuery=null;var callbackTimeoutExpiryChecker=null;var callbackTimeoutExpiryCheckerId=null;var assertModuleIsInitialized=function(){if(!logger){throw"DataModule.CliopatriaAPI has not been initialized"}};CliopatriaAPI.addInitializer(function(options){CliopatriaAPI.options=_.extend(defaultModuleOptions,options);logger=Logger.get("DataModule.CliopatriaAPI");if(CliopatriaAPI.options.dataVersion){dataVersionSuffix=_.str.sprintf("&format=jsonp&dv=%s",encodeURIComponent(CliopatriaAPI.options.dataVersion))}else{dataVersionSuffix="&format=jsonp"}realAPIRootPaths=[];for(var i=0;iCliopatriaAPI.options.callbackTimeout){delete queryPool[query];$(queryPoolEntry[4]).remove();executeAllCallbacksOfTheQueryPoolEntry(queryPoolEntry,{errors:[{code:100,message:"API request failed"}]})}}};callbackTimeoutExpiryCheckerId=setInterval(callbackTimeoutExpiryChecker,CliopatriaAPI.options.callbackTimeoutCheckingInterval)});CliopatriaAPI.request=function(methodName,parameters,callback){assertModuleIsInitialized();var query=generateQuery(methodName,parameters);var realAPIRootPath;if(realAPIRootPathsCount==1){realAPIRootPath=realAPIRootPaths[0]}else{var sumOfCharCodes=0;for(var i=0;i0){attributes=_.clone(this.options.customAttributesWhenEmpty)}else{attributes=_.clone(this.options.customAttributesWhenFaulty);attributes.errors=data.errors;logger.warn("An error occured when attempting to obtain collection definition. Query / response:",query,data)}attributes.query=query;return attributes}})})},Logger); +"use strict";App.module("DataModule",function(DataModule,App,Backbone,Marionette,$,_,Logger){var logger=null;DataModule.addInitializer(function(){logger=Logger.get("App.DataModule");DataModule.DynamicDefinitionForRecording=DataModule.DynamicDefinition.extend({});DataModule.DymanicDefinitionProviderForRecordings=DataModule.DynamicDefinitionProvider.extend({options:{DynamicDefinition:DataModule.DynamicDefinitionForRecording,apiMethod:"getRecordingPerspective",customAttributesWhenNotApplicable:{label:undefined},customAttributesWhileBeingUpdated:{label:null},customAttributesWhenFaulty:{label:false}},isFaulty:function(dynamicDefinition){return dynamicDefinition.attributes.label===false},isBeingUpdated:function(dynamicDefinition){return dynamicDefinition.attributes.label===null},configParametersToRequestParameters:function(config){var rawConfigParameters=config.attributes.parameters.attributes;if(rawConfigParameters.recordingURI){return{uri:rawConfigParameters.recordingURI,pid:"properties"}}else{return null}},apiResponseToAttributes:function(data,query){var attributes={};if(data&&data.label){attributes=data}else{attributes={label:false};if(data.errors){attributes=_.clone(this.options.customAttributesWhenFaulty);attributes.errors=data.errors}logger.warn("An error occured when attempting to obtain new recording definition. Query / response:",query,data)}attributes.query=query;return attributes}})})},Logger); +"use strict";App.module("GraphicsRenderingModule",function(GraphicsRenderingModule,App,Backbone,Marionette,$,_,Logger){GraphicsRenderingModule.addInitializer(function(options){GraphicsRenderingModule.logger=Logger.get("GraphicsRenderingModule");GraphicsRenderingModule._formatNumberForTooltip=function(number){var nDigits=2;if(Math.abs(number)>1e3||Math.floor(number)==number){nDigits=0}else if(Math.abs(number)>100){nDigits=1}return _.str.numberFormat(number,nDigits)},GraphicsRenderingModule.__handleVegaMouseEvent=function(){var pointerEventType=arguments[0].type;if(pointerEventType=="mouseover"||pointerEventType=="mouseout"){var $vegaNode=$(arguments[0].target).closest("div");if(pointerEventType=="mouseover"){$vegaNode.data("vegaHoveredItem",arguments[1])}else{$vegaNode.removeData("vegaHoveredItem")}}var data=null;if(arguments[1]&&arguments[1].datum){data=arguments[1].datum}if(_.isObject(data)&&data.tooltip){App.TooltipModule.tooltipView.update(arguments[0],_.isArray(data.tooltip)?data.tooltip[2]:data.tooltip,data)}else if(_.isArray(data)){var tooltip=data[0];if(tooltip){var labelParts=[];if(data[0]=="tooltip_range"){labelParts.push(GraphicsRenderingModule._formatNumberForTooltip(data[2]));labelParts.push(" ... ");labelParts.push(GraphicsRenderingModule._formatNumberForTooltip(data[3]));labelParts.push(" → ");labelParts.push(GraphicsRenderingModule._formatNumberForTooltip(data[1]).replace("-","−"))}else if(data[0]=="tooltip_point"){if(data[2]*1===data[2]){labelParts.push(GraphicsRenderingModule._formatNumberForTooltip(data[2]))}else{labelParts.push(data[2])}labelParts.push(" → ");labelParts.push(GraphicsRenderingModule._formatNumberForTooltip(data[1]))}else if(data[0]=="tooltip_value"){labelParts.push(GraphicsRenderingModule._formatNumberForTooltip(data[1]).replace("-","−"))}if(data[4]){labelParts.unshift(data[4])}if(data[5]){labelParts.push(data[5])}App.TooltipModule.tooltipView.update(arguments[0],labelParts.join(""),data)}}else{App.TooltipModule.tooltipView.update()}},GraphicsRenderingModule.vegaIsReady=function($domNode){return $domNode.hasClass("vega")};GraphicsRenderingModule.vegaAsync=function($domNode,spec,renderer,callback){var rand=Math.random();$domNode.data("vega-async-rand",rand);var $tempNode=$("");setTimeout(function(){vg.parse.spec(spec,function(chart){var vegaObj=chart({el:$tempNode.get(0),renderer:App.options.vegaRenderer?App.options.vegaRenderer:renderer}).on("mouseover",GraphicsRenderingModule.__handleVegaMouseEvent).on("mousemove",GraphicsRenderingModule.__handleVegaMouseEvent).on("mouseout",GraphicsRenderingModule.__handleVegaMouseEvent).update();var $vegaNode=$tempNode.children(0);$vegaNode.data("vegaObj",vegaObj);var vegaIsReadyInterval=setInterval(function(){if($domNode.data("vega-async-rand")!==rand){clearInterval(vegaIsReadyInterval);return}if(GraphicsRenderingModule.vegaIsReady($vegaNode)){$vegaNode.addClass("vic-vega");$domNode.empty().append($vegaNode);clearInterval(vegaIsReadyInterval)}},50)})},10)}})},Logger); +"use strict";App.module("GraphicsRenderingModule",function(GraphicsRenderingModule,App,Backbone,Marionette,$,_,Logger){GraphicsRenderingModule.addInitializer(function(options){GraphicsRenderingModule.RendererPrototypes={};GraphicsRenderingModule.renderers={};GraphicsRenderingModule.registerRenderer=function(rendererDefinition){var RendererPrototype;var inheritId=rendererDefinition.inherit?rendererDefinition.inherit:"";var id=rendererDefinition.id;if(!id){throw _.str.sprintf("Renderer definition does not contain an id")}var rendererWithThisId=null;try{rendererWithThisId=GraphicsRenderingModule.getRendererById(id)}catch(e){}if(rendererWithThisId){throw _.str.sprintf('Renderer with id "%s" already exists',id)}var prototypeOptions={};var prototypeDefaultVegaConfig={};if(!inheritId){RendererPrototype=Marionette.Object}else{try{RendererPrototype=GraphicsRenderingModule.getRendererPrototypeById(inheritId);var parentRenderer=GraphicsRenderingModule.getRendererById(inheritId);prototypeOptions=parentRenderer.options;prototypeDefaultVegaConfig=parentRenderer.defaultVegaConfig}catch(e){throw _.str.sprintf('Renderer with id "%s" could not be inherited from renderer with id "%s" (it does not exist)',id,inheritId)}}var combinedOptions=rendererDefinition.options?_.defaults({},rendererDefinition.options,prototypeOptions):_.clone(prototypeOptions);var combinedDefaultVegaConfig=rendererDefinition.defaultVegaConfig?_.defaults({},rendererDefinition.defaultVegaConfig,prototypeDefaultVegaConfig):_.clone(prototypeDefaultVegaConfig);for(var key in rendererDefinition.options){if(rendererDefinition.options.hasOwnProperty(key)&&rendererDefinition.options[key]===undefined){delete combinedOptions[key]}}rendererDefinition.options=combinedOptions;for(var key in rendererDefinition.defaultVegaConfig){if(rendererDefinition.defaultVegaConfig.hasOwnProperty(key)&&rendererDefinition.defaultVegaConfig[key]===undefined){delete combinedDefaultVegaConfig[key]}}rendererDefinition.defaultVegaConfig=combinedDefaultVegaConfig;var Renderer=RendererPrototype.extend(rendererDefinition);GraphicsRenderingModule.RendererPrototypes[id]=Renderer;GraphicsRenderingModule.renderers[id]=new Renderer};GraphicsRenderingModule.getRendererPrototypeById=function(id){var RendererPrototype=GraphicsRenderingModule.RendererPrototypes[id];if(!RendererPrototype){throw _.str.sprintf('RendererPrototype with id "%s" not found.',id)}return RendererPrototype};GraphicsRenderingModule.getRendererById=function(id){var renderer=GraphicsRenderingModule.renderers[id];if(!renderer){throw _.str.sprintf('Renderer with id "%s" not found.',id)}return renderer};GraphicsRenderingModule.render=function(id,$element,data,options){GraphicsRenderingModule.getRendererById(id).render($element,data,options)}})},Logger); +"use strict";App.module("GraphicsRenderingModule",function(GraphicsRenderingModule,App,Backbone,Marionette,$,_,Logger){GraphicsRenderingModule.addInitializer(function(options){GraphicsRenderingModule.registerRenderer({id:"_",defaultVegaConfig:{colorForBackground:"#fff",colorForAxisLabels:"#999",colorForAxes:"#ccc",colorForBackgroundFill:"#f0f0f0",fontFace:"'Web Open Sans', Verdana, sans-serif",fontSize:10,fontSizeForLabelsInAxis:10,fontSizeForLabelsInSecondaryAxis:8,data:[],scales:[],axes:[],marks:[],xdata:[],xscales:[],xaxes:[],xmarks:[]},render:function($element,data,options){var vc=_.mapObject(this.defaultVegaConfig,_.clone);vc=_.extend(vc,options);vc.totalWidth=$element.width();vc.totalHeight=$element.height();this._formVC(vc,data);var vegaSpec={background:vc.colorForBackground,width:vc.width,height:vc.height,padding:vc.padding,data:vc.data,scales:vc.scales,axes:vc.axes,marks:vc.marks};var $cover=$.bem.generateElement("vis-instance","cover",["category_process","visible"]);var $coverMessage=$.bem.generateElement("vis-instance","cover-message").text("Drawing...");$cover.append($coverMessage);$element.append($cover);GraphicsRenderingModule.vegaAsync($element,vegaSpec,"svg")},_formVC:function(vc,data,options){}})})},Logger); +"use strict";App.module("GraphicsRenderingModule",function(GraphicsRenderingModule,App,Backbone,Marionette,$,_,Logger){GraphicsRenderingModule.addInitializer(function(options){GraphicsRenderingModule.registerRenderer({id:"chord-seq._",inherit:"_",defaultVegaConfig:{modesOfPiece:[undefined,"major","minor"],relativeRootNotes:_.range(1,13),relativeRootNotesInMajor:["I","#I","II","#II","III","IV","#IV","V","#V","VI","#VI","VII"],relativeRootNotesInMinor:["I","#I","II","III","#III","IV","#IV","V","VI","#VI","VII","#VII"],chordTypes:["","6","7","m","m6","m7","maj7","m7b5","dim","dim7","aug"],chordTypesWithM:["M","6","7","m","m6","m7","maj7","m7b5","dim","dim7","aug"],sequenceOfUsedRootNotes:_.range(12),sequenceOfUsedChordTypes:_.range(11),chordGrouppingIsByType:false,nIsIncluded:true,guidesAreVisible:true},parseEncodedChord:function(encodedChord){if(encodedChord=="0"){return 0}if(_.isString(encodedChord)&&encodedChord.length==7){return[encodedChord[0]*1,encodedChord[1]*10+encodedChord[2]*1-1,encodedChord[3]*10+encodedChord[4]*1-1,encodedChord[5]*10+encodedChord[6]*1-1]}throw"could not parse chord "+encodedChord},parsedEncodedChordToBin:function(vc,parsedEncodedChord){if(!_.isArray(parsedEncodedChord)){return vc.nIsIncluded?vc.numberOfChords-1:null}var indexOfRootNote=_.indexOf(vc.sequenceOfUsedRootNotes,parsedEncodedChord[1]);var indexOfChordType=_.indexOf(vc.sequenceOfUsedChordTypes,parsedEncodedChord[2]);if(indexOfRootNote==-1||indexOfChordType==-1){return null}if(vc.chordGrouppingIsByType){return vc.numberOfRootNotes*indexOfChordType+indexOfRootNote}else{return vc.numberOfChordTypes*indexOfRootNote+indexOfChordType}},chordBinToCoordinate:function(vc,chordBin){if(chordBin===null){throw"cannot convert null bin to a coordinate"}var nGaps=Math.floor(chordBin/(vc.chordGrouppingIsByType?vc.numberOfRootNotes:vc.numberOfChordTypes));return chordBin*vc.chordSize+nGaps*vc.chordGroupGapSize},titleOfParsedEncodedChord:function(vc,parsedEncodedChord){if(parsedEncodedChord===0){return"N"}else{return vc.titlesForRootNotes[parsedEncodedChord[1]]+" "+vc.titlesForChordTypes[parsedEncodedChord[2]]}}})})},Logger); +"use strict";App.module("GraphicsRenderingModule",function(GraphicsRenderingModule,App,Backbone,Marionette,$,_,Logger){GraphicsRenderingModule.addInitializer(function(options){GraphicsRenderingModule.registerRenderer({id:"chord-seq.od-grid",inherit:"chord-seq._",defaultVegaConfig:{},_formVC:function(vc,data,options){throw"not implemented"}})})},Logger); +"use strict";App.module("GraphicsRenderingModule",function(GraphicsRenderingModule,App,Backbone,Marionette,$,_,Logger){GraphicsRenderingModule.addInitializer(function(options){GraphicsRenderingModule.registerRenderer({id:"chord-seq.parallel-coordinates",inherit:"chord-seq._",defaultVegaConfig:{sizeOfStepMark:5,stepCount:3,primaryAxisFontSize:11,chordGapSizeToChordSizeRatio:1,paddingWhenAxisLabelsAreHidden:{top:5,left:15,bottom:10,right:15},paddingWhenAxisLabelsAreShownParitally:{top:20,left:15,bottom:10,right:15},paddingWhenAxisLabelsAreShown:{top:NaN,left:15,bottom:10,right:15}},_formVC:function(vc,data){var renderer=this;vc.numberOfRootNotes=vc.sequenceOfUsedRootNotes.length;vc.numberOfChordTypes=vc.sequenceOfUsedChordTypes.length;vc.titlesForChordTypes=vc.chordTypesWithM;vc.titlesForRootNotes=vc.relativeRootNotes;if(vc.recordingsInMajorModeAreIncluded&&!vc.recordingsInMinorModeAreIncluded){vc.titlesForRootNotes=vc.relativeRootNotesInMajor}if(vc.recordingsInMinorModeAreIncluded&&!vc.recordingsInMajorModeAreIncluded){vc.titlesForRootNotes=vc.relativeRootNotesInMinor}vc.numberOfChords=vc.numberOfRootNotes*vc.numberOfChordTypes;vc.numberOfGaps=vc.chordGrouppingIsByType?vc.numberOfChordTypes-1:vc.numberOfRootNotes-1;vc.padding=vc.paddingWhenAxisLabelsAreHidden;vc.width=vc.totalWidth-vc.padding.left-vc.padding.right;vc.labelsForGroupsAreShown=vc.width/(vc.numberOfGaps+1)>30;vc.labelsForChordsAreShown=vc.width/(vc.numberOfChords+vc.numberOfGaps)>10;if(vc.labelsForGroupsAreShown){vc.padding=vc.paddingWhenAxisLabelsAreShownParitally}if(vc.labelsForChordsAreShown){vc.padding=vc.paddingWhenAxisLabelsAreShown;var titles=[];if(vc.chordGrouppingIsByType){titles=_.map(vc.sequenceOfUsedRootNotes,function(index){return vc.titlesForRootNotes[index]})}else{titles=_.map(vc.sequenceOfUsedChordTypes,function(index){return vc.titlesForChordTypes[index]})}var maxTitleLength=0;_.each(titles,function(title){if(title.length>maxTitleLength){maxTitleLength=title.length}});vc.padding.top=maxTitleLength*4+25}if(vc.nIsIncluded){vc.numberOfChords+=1;vc.numberOfGaps+=1}vc.chordSize=1;do{vc.chordSize++;vc.chordGroupGapSize=Math.round(vc.chordSize*vc.chordGapSizeToChordSizeRatio);vc.width=(vc.numberOfChords-1)*vc.chordSize+vc.numberOfGaps*vc.chordGroupGapSize}while(vc.width+vc.padding.left+vc.padding.rightvc.stepCount){return}var parsedEncodedChord=renderer.parseEncodedChord(encodedChord);parsedEncodedChordSequence.push(parsedEncodedChord);if(index==vc.stepCount){chordTitles.push("...")}else{chordTitles.push(renderer.titleOfParsedEncodedChord(vc,parsedEncodedChord))}});var tooltip=chordTitles.join(" → ")+"support: "+support[i];_.each(parsedEncodedChordSequence,function(parsedEncodedChord,indexInSequence){if(failed){return}if(parsedEncodedChord!==0&&!(vc.recordingsInMajorModeAreIncluded&&parsedEncodedChord[0]==1||vc.recordingsInMinorModeAreIncluded&&parsedEncodedChord[0]==2)){failed=true;return}var bin=renderer.parsedEncodedChordToBin(vc,parsedEncodedChord);if(bin===null){failed=true;return}recordsToAdd.push({sequenceId:sequenceId,encodedChordSequence:encodedChordSequence,chordSequenceHasCycles:chordSequenceHasCycles,indexInSequence:indexInSequence,support:support[i],chordCoordinate:renderer.chordBinToCoordinate(vc,bin),color:vc.primaryColor,tooltip:tooltip})});if(!failed){linksInVegaData.push.apply(linksInVegaData,recordsToAdd)}++sequenceId});linksInVegaData.reverse();vc.data.push({name:"links",values:linksInVegaData});var chordsInVegaData=[];_.each(vc.sequenceOfUsedRootNotes,function(indexOfRootNote){_.each(vc.sequenceOfUsedChordTypes,function(indexOfChordType){var bin=renderer.parsedEncodedChordToBin(vc,[0,indexOfRootNote,indexOfChordType]);chordsInVegaData.push({rootNoteIndex:indexOfRootNote,rootNoteTitle:vc.titlesForRootNotes[indexOfRootNote],chordTypeIndex:indexOfChordType,chordTypeTitle:vc.titlesForChordTypes[indexOfChordType],chordCoordinate:renderer.chordBinToCoordinate(vc,bin)})})});vc.data.push({name:"chords",values:chordsInVegaData});if(vc.labelsForGroupsAreShown){var groupsForVega=[];if(vc.chordGrouppingIsByType){groupsForVega=chordsInVegaData.filter(function(chord){return chord.rootNoteIndex==vc.sequenceOfUsedRootNotes[0]})}else{groupsForVega=chordsInVegaData.filter(function(chord){return chord.chordTypeIndex==vc.sequenceOfUsedChordTypes[0]})}vc.data.push({name:"groups",values:groupsForVega})}var stepsInVegaData=_.range(0,vc.stepCount);vc.data.push({name:"steps",values:stepsInVegaData});vc.scales.push({name:"indexInSequence",domainMin:0,domainMax:vc.stepCount-1,point:true,round:true,range:[0,vc.height]});vc.scales.push({name:"strokeOpacity",type:"linear",domain:[0,data.self.coverage["ok_count"]*2],point:true,range:[0,1]});if(true||vc.guidesAreVisible){vc.marks.push({type:"rect",from:{data:"chords"},properties:{enter:{x:{field:"chordCoordinate"},y:{value:0},width:{value:1},height:{field:{group:"height"}},fill:{value:vc.colorForAxes}}}})}if(vc.nIsIncluded&&vc.guidesAreVisible){vc.marks.push({type:"rect",properties:{enter:{x:{field:{group:"width"}},y:{value:0},width:{value:"1"},height:{field:{group:"height"}},fill:{value:vc.colorForAxes}}}})}if(vc.guidesAreVisible){for(var right=0;right<2;right++){vc.marks.push({type:"rect",from:{data:"steps"},properties:{enter:{x:right?{field:{group:"width"}}:{value:-vc.sizeOfStepMark},width:{value:vc.sizeOfStepMark},y:{scale:"indexInSequence",field:"data"},height:{value:1},fill:{value:vc.colorForAxes}}}})}}vc.marks.push({type:"group",from:{data:"links",transform:[{type:"facet",groupby:["sequenceId"]}]},marks:[{type:"line",properties:{enter:{x:{field:"chordCoordinate"},y:{scale:"indexInSequence",field:"indexInSequence"},strokeOpacity:{scale:"strokeOpacity",field:"support"},stroke:{field:"color"},strokeWidth:{value:2}},update:{strokeOpacity:{scale:"strokeOpacity",field:"support"},stroke:{field:"color"}},hover:{strokeOpacity:{value:1},stroke:{value:"#000"}}}}]});vc.yOffsetForGroupLabels=-vc.padding.top+15;vc.yOffsetForChordLabels=-3;vc.xOffsetForGroupLabels=.5*vc.chordSize*((vc.chordGrouppingIsByType?vc.numberOfRootNotes:vc.numberOfChordTypes)-1);if(vc.labelsForGroupsAreShown){vc.marks.push({type:"text",from:{data:"groups"},properties:{enter:{x:{field:"chordCoordinate",offset:vc.xOffsetForGroupLabels},y:{value:vc.yOffsetForGroupLabels},text:{field:vc.chordGrouppingIsByType?"chordTypeTitle":"rootNoteTitle"},baseline:{value:"bottom"},align:{value:"center"},fill:{value:vc.colorForAxisLabels},font:{value:vc.fontFace},fontSize:{value:vc.fontSizeForLabelsInAxis}}}})}if(vc.nIsIncluded&&vc.labelsForGroupsAreShown){vc.marks.push({type:"text",properties:{enter:{y:{value:vc.labelsForChordsAreShown?vc.yOffsetForChordLabels:vc.yOffsetForGroupLabels},x:{field:{group:"width"}},text:{value:"N"},align:{value:"center"},baseline:{value:"bottom"},fill:{value:vc.colorForAxisLabels},font:{value:vc.fontFace},fontSize:{value:vc.fontSizeForLabelsInAxis}}}})}if(vc.labelsForChordsAreShown){vc.marks.push({type:"text",from:{data:"chords"},properties:{enter:{x:{field:"data.chordCoordinate",offset:0},y:{value:vc.yOffsetForChordLabels},text:{field:vc.chordGrouppingIsByType?"data.rootNoteTitle":"data.chordTypeTitle"},angle:{value:"-90"},baseline:{value:"middle"},fill:{value:vc.colorForAxisLabels},font:{value:vc.fontFace},fontSize:{value:vc.fontSizeForLabelsInSecondaryAxis}}}})}vc.marks.push({type:"image",from:{data:"dummy"},properties:{enter:{x:{value:0},width:{field:{group:"width"}},y:{field:{group:"height"}},height:{value:vc.padding.bottom+2},url:{value:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQIAAAAMCAYAAACJMrOUAAABFUlEQVRoge2PwW0CQQxFXQEUAoVAYaGT0Ek64Lq5QgMgLVJ4uezBspYsoxnCsPMPT1/y2B4/A5aOhctFqD3ynkvq/tL3yF/+TfobsAZWA2uXj7AK85G4L/bn/pc6X3qf/OU/C38DtglsXG5CrUZK3yt/+c/S34BdBh8ux/A9Y/1T77n7no385T8LfwM+/2Dvch9qJfpT53P3pyJ/+Tfhb8CXEKJtDDgIIdrGgA74vkPnsgu1V5B7T+q8/OXfhL8Bp3/k6PIYai0gf/lX6W/AGbgMnF2OcQn9kTgf+1Pfp/6f2pd7n/zl34S/AT1wHehd9qE29h6Z6s/dF6n9XvnL/y38Dfhx3FzeQq0Ez95f+33yl3+V/r9d8S8/zvVSHwAAAABJRU5ErkJggg=="},fill:{value:"#F00"}}}})}})})},Logger); +"use strict";App.module("GraphicsRenderingModule",function(GraphicsRenderingModule,App,Backbone,Marionette,$,_,Logger){GraphicsRenderingModule.addInitializer(function(options){GraphicsRenderingModule.registerRenderer({id:"geography",inherit:"_",defaultVegaConfig:{comparisonMode:null,transformPropertiesByRegion:{planet:{defaultScale:500,translateProportionX:1/2,translateProportionY:1/2,circleSizeMult:20},africa:{defaultScale:100,translateProportionX:.2,translateProportionY:.5,circleSizeMult:50},europe:{defaultScale:70,translateProportionX:.2,translateProportionY:1.9,circleSizeMult:50}},symbolSize:20,internalSpaceOffset:6,colorForData:"#3182bd",padding:{top:10,left:10,bottom:10,right:10}},_formVC:function(vc,data){vc.width=vc.totalWidth-vc.padding.left-vc.padding.right;vc.height=vc.totalHeight-vc.padding.top-vc.padding.bottom;var countryStatsByCountryNumericCode={};var hist=data.self.stats?data.self.stats.hist:null;if(!hist){hist={counts:[],places:[]}}var countTotal=data.self.coverage.errors_count+data.self.coverage.failed_count;var countFailures=countTotal;for(var i=hist.counts.length-1;i>=0;--i){var countryNumericCode=vc.placeCountryNumericCodes[hist.places[i]];countTotal+=hist.counts[i];if(!countryNumericCode){countFailures+=hist.counts[i];continue}var country=vc.countriesByCountryNumericCode[countryNumericCode];var countryStats=countryStatsByCountryNumericCode[countryNumericCode];if(!countryStats){countryStats={numericCode:country[1],name:country[2],count:0};countryStatsByCountryNumericCode[countryNumericCode]=countryStats}countryStats.count+=hist.counts[i]}var countryStats=_.values(countryStatsByCountryNumericCode);for(var i=countryStats.length-1;i>=0;--i){var count=countryStats[i].count;var percentage=100*count/countTotal;countryStats[i].percentage=percentage}vc.data.push({name:"countries",values:vc.countries});vc.data.push({name:"countryOutlines",values:vc.countryOutlines,format:{type:"topojson",feature:"countries"}});vc.data.push({name:"countryStats",values:countryStats});var transformProperties=vc.transformPropertiesByRegion[vc.region];vc.data.push({name:"countrySummary",source:"countryOutlines",transform:[{type:"geopath",value:"data",projection:"eckert3",scale:100/transformProperties.defaultScale*vc.width,translate:[vc.width*transformProperties.translateProportionX,vc.height*transformProperties.translateProportionY]},{type:"lookup",on:"countryStats",onKey:"numericCode",keys:["id"],as:["cs"],"default":{count:0,percentage:0}},{type:"lookup",on:"countries",onKey:"1",keys:["id"],as:["tooltip"],"default":null}]});vc.scales.push({name:"color",type:"linear",domain:[0,.01,50],clamp:true,range:["#ccc","#c6dbef","#055893"]});vc.marks.push({type:"rect",properties:{enter:{x:{value:-vc.padding.left},y:{value:-vc.padding.top},fill:{value:"#fff"},y2:{field:{group:"height"},offset:vc.padding.left+vc.padding.right},x2:{field:{group:"width"},offset:vc.padding.top+vc.padding.bottom}}}});if(!vc.showCountriesAsCircles){vc.marks.push({type:"path",from:{data:"countrySummary"},properties:{enter:{stroke:{value:"#fff"},path:{field:"layout_path"}},update:{fill:{scale:"color",field:"cs.percentage"}},hover:{fill:{value:"#000"}}}})}else{vc.marks.push({type:"path",from:{data:"countrySummary"},properties:{enter:{stroke:{value:"#fff"},path:{field:"layout_path"}},update:{fill:{value:"#f0f0f0"}}}});vc.marks.push({type:"symbol",from:{data:"countrySummary",transform:[{type:"centroid",field:"layout_path"}]},properties:{enter:{size:{field:"cs.percentage",mult:transformProperties.circleSizeMult},opacity:{value:.5},x:{field:"centroid_x"},y:{field:"centroid_y"}},update:{fill:{value:vc.colorForData}},hover:{fill:{value:"#000"}}}})}}})})},Logger); +"use strict";App.module("GraphicsRenderingModule",function(GraphicsRenderingModule,App,Backbone,Marionette,$,_,Logger){GraphicsRenderingModule.addInitializer(function(options){GraphicsRenderingModule.registerRenderer({id:"histogram",inherit:"_",defaultVegaConfig:{comparisonMode:null,dataDefinition:null,colorForFlats:"#666",colorForBars:0,ylabelDX:3,xlabelDY:-3,paddingWhenAxisLabelsAreShown:{top:5,left:40,bottom:20,right:10},paddingWhenAxisLabelsAreHidden:{top:5,left:10,bottom:1,right:10}},_formVC:function(vc,data){vc.enoughSpaceForAxisLabels=vc.totalWidth>200;vc.padding=vc.enoughSpaceForAxisLabels?vc.paddingWhenAxisLabelsAreShown:vc.paddingWhenAxisLabelsAreHidden;vc.width=vc.totalWidth-vc.padding.left-vc.padding.right;vc.height=vc.totalHeight-vc.padding.top-vc.padding.bottom;var xs;var valuesForBars0=[];var valuesForBars1=[];var valuesForBars2=[];var valuesForFlats0=[];var valuesForFlats1=[];var valuesForFlats2=[];var valueForHoris0=null;var valuesForOverlays0=[];var xsAreEdges=false;var xsAreCategories=false;if(vc.comparisonMode){xs=_.isFunction(vc.dataDefinition.forXs)?vc.dataDefinition.forXs(data.left):data.left[vc.dataDefinition.forXs]}else{xs=_.isFunction(vc.dataDefinition.forXs)?vc.dataDefinition.forXs(data.self):data.self[vc.dataDefinition.forXs]}if(vc.comparisonMode){valuesForBars1=_.isFunction(vc.dataDefinition.forBars)?vc.dataDefinition.forBars(data.left):data.left[vc.dataDefinition.forBars];valuesForBars2=_.isFunction(vc.dataDefinition.forBars)?vc.dataDefinition.forBars(data.right):data.right[vc.dataDefinition.forBars];if(vc.dataDefinition.forFlats){valuesForFlats1=_.isFunction(vc.dataDefinition.forFlats)?vc.dataDefinition.forFlats(data.left):data.left[vc.dataDefinition.forFlats];valuesForFlats2=_.isFunction(vc.dataDefinition.forFlats)?vc.dataDefinition.forFlats(data.right):data.right[vc.dataDefinition.forFlats]}}else{valuesForBars0=_.isFunction(vc.dataDefinition.forBars)?vc.dataDefinition.forBars(data.self):data.self[vc.dataDefinition.forBars];if(vc.dataDefinition.forFlats){valuesForFlats0=_.isFunction(vc.dataDefinition.forFlats)?vc.dataDefinition.forFlats(data.self):data.self[vc.dataDefinition.forFlats]}}if(vc.comparisonMode=="direct"){for(var i=0;i0){max=max*mult}return{name:name,range:"height",round:true,nice:false,domain:[Math.min(0,min),Math.max(0,max)]}};if(valuesForBars0.length){vc.scales.push(generateVegaYScale("scale0",valuesForBars0))}if(valuesForBars1.length){vc.scales.push(generateVegaYScale("scale1",valuesForBars1))}if(valuesForBars2.length){vc.scales.push(generateVegaYScale("scale2",valuesForBars2))}var barWidth=vc.width/xs.length+.5;var offsetForXRight=.5;var generateVegaMark=function(dataName,scale,type,color,opacity){var markProperties={opacity:{value:opacity},y:{scale:scale,field:"1"}};if(type=="bar"){markProperties["y2"]={scale:scale,value:0}}else{markProperties["height"]={value:2}}if(xsAreCategories){markProperties["x"]={scale:"scalex",field:"2"};markProperties["width"]={value:1};markProperties["width"]={scale:"scalex",band:true}}else if(xsAreEdges){markProperties["x"]={scale:"scalex",field:"2"};markProperties["x2"]={scale:"scalex",field:"3",offset:offsetForXRight}}else{markProperties["x"]={scale:"scalex",field:"2",offset:offsetForXRight/2};markProperties["width"]={value:barWidth}}return{type:"rect",from:{data:dataName},properties:{enter:markProperties,update:{fill:{value:color}},hover:{fill:{value:"black"}}}}};vc.marks.push({type:"rect",properties:{enter:{x:{value:-vc.padding.left},y:{value:-vc.padding.top},fill:{value:"#fff"},y2:{field:{group:"height"},offset:vc.padding.left+vc.padding.right},x2:{field:{group:"width"},offset:vc.padding.top+vc.padding.bottom}}}});if(valuesForBars0.length){vc.marks.push(generateVegaMark("bars0","scale0","bar",vc.colorForBars,1))}if(valuesForBars1.length){vc.marks.push(generateVegaMark("bars1","scale1","bar",vc.colorForBars,.5))}if(valuesForBars2.length){vc.marks.push(generateVegaMark("bars2","scale2","bar",vc.colorForBars,.5))}if(valuesForFlats0.length){vc.marks.push(generateVegaMark("flats0","scale0","flat",vc.colorForFlats,1))}if(valuesForFlats1.length){vc.marks.push(generateVegaMark("flats1","scale1","flat",vc.colorForFlats,.5))}if(valuesForFlats2.length){vc.marks.push(generateVegaMark("flats2","scale2","flat",vc.colorForFlats,.5))}vc.marks.push({type:"rect",properties:{enter:{fill:{value:vc.colorForAxes},x:{value:0},x2:{field:{group:"width"}},height:{value:1},y:{scale:valuesForBars0.length?"scale0":"scale1",value:0}}}});var generateVegaVerticalMark=function(x,color,dataName,strokeDash){return{type:"rect",from:{data:dataName},properties:{enter:{stroke:{value:vc.colorForAxisLabels},strokeWidth:{value:1},y:{value:-99},y2:{field:{group:"height"}},x:{scale:"scalex_round",value:x},width:{value:1},strokeDash:{value:strokeDash}}}}};if(xStdDev!==undefined&&xMean!==undefined){vc.data.push({name:"stdDev",values:[["tooltip_value",xStdDev,0,0,"standard deviation: "]]});vc.marks.push(generateVegaVerticalMark(xMean-xStdDev,"#ccc","stdDev",[1,1]));vc.marks.push(generateVegaVerticalMark(xMean+xStdDev,"#ccc","stdDev",[1,1]))}if(xMean!==undefined){vc.data.push({name:"mean",values:[["tooltip_value",xMean,0,0,"mean: ",xStdDev===0?" (standard deviation is zero)":undefined]]});vc.marks.push(generateVegaVerticalMark(xMean,"#666","mean",0))}var axisOpacity=vc.enoughSpaceForAxisLabels?{value:1}:{value:0};vc.axes.push({type:"x",scale:"scalex",properties:{axis:{stroke:{value:"#fff"},strokeWidth:{value:0}},grid:{stroke:{value:"#fff"},strokeOpacity:{value:.4},strokeWidth:{value:1}},ticks:{stroke:{value:"#fff"},strokeWidth:{value:0},opacity:axisOpacity},labels:{fill:{value:vc.colorForAxisLabels},dy:{value:vc.xlabelDY},font:{value:vc.fontFace},fontSize:{value:vc.fontSizeForLabelsInAxis},opacity:axisOpacity}}});if(valuesForBars0.length){vc.axes.push({type:"y",scale:"scale0",grid:vc.enoughSpaceForAxisLabels,zero:false,properties:{axis:{stroke:{value:"#fff"},strokeWidth:{value:0}},grid:{stroke:{value:"#fff"},strokeOpacity:{value:.4},opacity:{value:1}},ticks:{stroke:{value:"#fff"},strokeWidth:{value:0},opacity:axisOpacity},labels:{fill:{value:vc.colorForAxisLabels},fontSize:{value:vc.fontSizeForLabelsInAxis},dx:{value:vc.ylabelDX},font:{value:vc.fontFace},opacity:axisOpacity}}})}}})})},Logger); +"use strict";App.module("GraphicsRenderingModule",function(GraphicsRenderingModule,App,Backbone,Marionette,$,_,Logger){GraphicsRenderingModule.addInitializer(function(options){GraphicsRenderingModule.registerRenderer({id:"similarity-matrix",inherit:"_",defaultVegaConfig:{comparisonMode:null,colorForData:"#3182bd",padding:{top:5,left:0,bottom:0,right:0}},_formVC:function(vc,data){vc.enoughSpaceForAxisLabels=vc.totalWidth>200;vc.width=vc.totalWidth-vc.padding.left-vc.padding.right;vc.height=vc.totalHeight-vc.padding.top-vc.padding.bottom;var stats={list:[],distance:[]};if(data.self.stats){data.self.stats=stats}var recordingCount=stats.list.length;var distance=stats.distance;var list=stats.list;var cellsInVegaData=[];var maxDistance=0;for(var column=0;column↕ "+list[column].label+""+GraphicsRenderingModule._formatNumberForTooltip(cellInVegaData.distance)}else{cellInVegaData.tooltip=list[row].label}cellsInVegaData.push(cellInVegaData);if(cellInVegaData.distance>maxDistance){maxDistance=cellInVegaData.distance}}}vc.data.push({name:"cells",values:cellsInVegaData});vc.scales.push({name:"column",domainMin:0,domainMax:recordingCount,point:true,round:true,range:[0,vc.width]});vc.scales.push({name:"row",domainMin:0,domainMax:recordingCount,point:true,round:true,range:[0,vc.height]});vc.scales.push({name:"fillOpacity",type:"linear",domain:[0,maxDistance],point:true,range:[0,1]});vc.marks.push({type:"rect",properties:{enter:{x:{value:-vc.padding.left},y:{value:-vc.padding.top},fill:{value:"#fff"},y2:{field:{group:"height"},offset:vc.padding.left+vc.padding.right},x2:{field:{group:"width"},offset:vc.padding.top+vc.padding.bottom}}}});vc.marks.push({type:"rect",from:{data:"cells"},properties:{enter:{x:{field:"column",scale:"column"},x2:{field:"nextColumn",scale:"column",offset:-1},y:{field:"row",scale:"row"},y2:{field:"nextRow",scale:"row",offset:-1},fill:{value:vc.colorForData},fillOpacity:{field:"distance",scale:"fillOpacity"}}}})}})})},Logger); +"use strict";App.module("GraphicsRenderingModule",function(GraphicsRenderingModule,App,Backbone,Marionette,$,_,Logger){GraphicsRenderingModule.addInitializer(function(options){GraphicsRenderingModule.registerRenderer({id:"similarity-plane",inherit:"_",defaultVegaConfig:{comparisonMode:null,symbolSize:20,internalSpaceOffset:6,colorForData:"#3182bd",padding:{top:10,left:10,bottom:10,right:10}},_formVC:function(vc,data){vc.enoughSpaceForAxisLabels=vc.totalWidth>200;vc.width=vc.totalWidth-vc.padding.left-vc.padding.right;vc.height=vc.totalHeight-vc.padding.top-vc.padding.bottom;var stats={mds:[],list:[]};if(data.self.stats){data.self.stats=stats}var recordingCount=stats.list.length;var mds=stats.mds;var list=stats.list;var pointsInVegaData=[];for(var i=0;i1?times*2-1:1;var interval=setInterval(function(){if(currentCheckNumber==$item.data("randomNumberForFlashCheck")){if(timerCounter%2){$item.removeClass("main-menu-bar__item_flashing")}else{$item.addClass("main-menu-bar__item_flashing")}}else{if(_.isFunction(callback)){callback.call($item,true)}clearInterval(interval)}if(!--timerCounter){if(_.isFunction(callback)){callback.call($item,false)}clearInterval(interval)}},_this.options.flashingSpeed)},_flashModeChangerThreeTimes:function(){var _this=this;_this.flashItem("change-mode",3)},_updateUndoRedo:function(){var _this=this;var stateHistory=App.context.get("stateHistory");_this._$itemUndo.setMod("main-menu-bar","item","state",stateHistory.canUndo()?"enabled":false);_this._$itemRedo.setMod("main-menu-bar","item","state",stateHistory.canRedo()?"enabled":false)},_updateModeChanger:function(){var _this=this;var state=App.context.get("state");var musicRecordingsGridIsShown=!!state.get("musicRecordingsGridIsShown");if(_this._cachedMusicRecordingsGridIsShown!==musicRecordingsGridIsShown){_this._$itemChangeMode.setMod("main-menu-bar","item","mode",musicRecordingsGridIsShown?"2collections":"2recordings");if(musicRecordingsGridIsShown){_this.stopListening(state.get("musicRecordingGrid"));_this.listenTo(state.get("musicCollectionGrid"),"change",_this._flashModeChangerThreeTimes)}else{_this.stopListening(state.get("musicCollectionGrid"));_this.listenTo(state.get("musicRecordingGrid"),"change",_this._flashModeChangerThreeTimes)}_this._cachedMusicRecordingsGridIsShown=musicRecordingsGridIsShown}}})},Logger); +"use strict";App.module("MainMenuModule",function(MainMenuModule,App,Backbone,Marionette,$,_,Logger){MainMenuModule.startWithParent=false;var defaultModuleOptions={};var moduleOptions;var assertModuleIsInitialized=function(){if(!$bar){throw"MainMenuModule has not been initialized"}};MainMenuModule.addInitializer(function(options){moduleOptions=_.extend(defaultModuleOptions,options);MainMenuModule.logger=Logger.get("MainMenuModule");MainMenuModule.logger.setLevel(Logger.DEBUG);this.barView=new App.MainMenuModule.MainMenuBarView});MainMenuModule.flashItem=function(item,times,callback){this.barView.flashItem(item,times,callback)}},Logger); +"use strict";App.module("MainRegionModule",function(MainRegionModule,App,Backbone,Marionette,$,_,Logger){MainRegionModule.startWithParent=false;var defaultModuleOptions={};var assertModuleIsInitialized=function(){if(!logger){throw"MainRegionModule has not been initialized"}};MainRegionModule.addInitializer(function(options){MainRegionModule.moduleOptions=_.extend(defaultModuleOptions,options);MainRegionModule.logger=Logger.get("MainRegionModule");MainRegionModule.logger.setLevel(Logger.DEBUG)})},Logger); +"use strict";App.module("MainRegionModule",function(MainRegionModule,App,Backbone,Marionette,$,_,Logger){MainRegionModule.MainRegionView=Backbone.View.extend({initialize:function(options){var _this=this;_this.options=_.defaults(options||{},this.options);var $collectionsGridEl=_this.$(".config-grid");var $recordingsGridEl=$collectionsGridEl.clone();$recordingsGridEl.appendTo(_this.el);_this.options.state.on("change",function(){_this.render()});_this._musicCollectionConfigGridView=new MainRegionModule.ConfigGridView({el:$collectionsGridEl,state:_this.options.state,configGrid:_this.options.state.get("musicCollectionGrid"),parentState:_this.options.state,parentContainerElement:_this.el});_this._musicRecordingConfigGridView=new MainRegionModule.ConfigGridView({el:$recordingsGridEl,state:_this.options.state,configGrid:_this.options.state.get("musicRecordingGrid"),parentState:_this.options.state,parentContainerElement:_this.el});_this._$flipper=$.bem.generateElement("main-region","flipper");_this._$flipper.append(_this._musicRecordingConfigGridView.$ghost,_this._musicCollectionConfigGridView.$ghost);_this._$flipperContainer=$.bem.generateElement("main-region","flipper-container");_this._$flipperContainer.append(_this._$flipper);_this._$flipper.on("transitionend MSTransitionEnd webkitTransitionEnd oTransitionEnd",function(){_this._stopFlipping()});_this.render(true,true)},render:function(deep,instant){var _this=this;var musicRecordingsGridNeedsToBeShown=!!_this.options.state.get("musicRecordingsGridIsShown");var gridViewToShow=musicRecordingsGridNeedsToBeShown?_this._musicRecordingConfigGridView:_this._musicCollectionConfigGridView;var gridViewToHide=!musicRecordingsGridNeedsToBeShown?_this._musicRecordingConfigGridView:_this._musicCollectionConfigGridView;if(!gridViewToShow.el.getAttribute("data-active")){if(!instant){if(!_this.isSwitchingBetweenGrids()){_this._$flipper.removeClass("main-region__flipper_animating");_this._$flipper.setMod("main-region","flipper","to",!musicRecordingsGridNeedsToBeShown?"recording":"collection");_this._$flipper.addClass("main-region__flipper_animating");_this._$flipperContainer.appendTo(_this.el)}setTimeout(function(){_this._$flipper.setMod("main-region","flipper","to",musicRecordingsGridNeedsToBeShown?"recording":"collection")},10)}gridViewToHide.$el.attr("data-active",null).detach();gridViewToShow.$el.attr("data-active","1").appendTo(_this.$el);gridViewToShow.render(true,true)}else if(deep){gridViewToShow.render(deep,instant)}},isSwitchingBetweenGrids:function(){var _this=this;return _this._$flipperContainer.parent().length},_stopFlipping:function(){var _this=this;_this._$flipperContainer.detach()}})},Logger); +"use strict";App.module("MainRegionModule",function(MainRegionModule,App,Backbone,Marionette,$,_,Logger){MainRegionModule.ConfigGridView=Backbone.View.extend({options:{state:null,configGrid:null,parentState:null,parentContainerElement:null},_cachedConfigGridType:null,initialize:function(options){var _this=this;_this.options=_.defaults(options||{},this.options);_this._cachedConfigGridType=_this.options.configGrid.getType();_this.$el.setMod("config-grid","type",_this._cachedConfigGridType);_this.$(".config-grid__utils").empty();_this._$header=_this.$(".config-grid__header");_this._$header.html($("#config-grid__header_type_"+_this._cachedConfigGridType).text());_this._$header.click(function(){_this.options.configGrid.set({selectedEntityConfigClientId:null,selectedViewConfigClientId:null})});_this.$ghost=_this.$el.clone();_this.cellsView=new MainRegionModule.ConfigGridCellsView({state:_this.options.state,configGrid:_this.options.configGrid,el:_this.$(".config-grid-cells"),parentConfigGridView:_this});_this.entityPanelView=new MainRegionModule.ConfigGridPanelView({el:_this.$(".config-grid-panel_dimension_entity"),state:_this.options.state,configGrid:_this.options.configGrid,dimension:"entity",parentConfigGridView:_this});_this.viewPanelView=new MainRegionModule.ConfigGridPanelView({el:_this.$(".config-grid-panel_dimension_view"),state:_this.options.state,configGrid:_this.options.configGrid,dimension:"view",parentConfigGridView:_this});_this.cellsView.on("change-positions-of-selected-headers",_.throttle(function(entityHeaderLeft,entityHeaderWidth,viewHeaderTop,viewHeaderHeight){_this.entityPanelView.updateRadiusFixer(entityHeaderLeft,entityHeaderWidth);_this.viewPanelView.updateRadiusFixer(viewHeaderTop,viewHeaderHeight)},100))},render:function(deep,instant){var _this=this;if(deep){_this.cellsView.render(deep,instant);_this.entityPanelView.render(deep,instant);_this.viewPanelView.render(deep,instant)}},isVisible:function(){return!!this.el.getAttribute("data-active")},scrollAccordingToSelection:function(deep,instant){this.cellsView.scrollAccordingToSelection(deep,instant)},ignoreAxisOnNextScroll:function(x,y){this.cellsView._ignoreXOnNextScroll=!!x;this.cellsView._ignoreYOnNextScroll=!!y}})},Logger); +"use strict";App.module("MainRegionModule",function(MainRegionModule,App,Backbone,Marionette,$,_,Logger){MainRegionModule.ConfigGridChildView=Backbone.View.extend({renderIfParentConfigGridIsVisible:function(){if(this.options.parentConfigGridView.isVisible()){this.render()}}})},Logger); +"use strict";App.module("MainRegionModule",function(MainRegionModule,App,Backbone,Marionette,$,_,Logger){MainRegionModule.ConfigGridCellsView=MainRegionModule.ConfigGridChildView.extend({options:{state:null,configGrid:null,parentConfigGridView:null,scrollAnimationMinSpeed:100,scrollAnimationBaseSpeed:400,scrollAnimationBaseDistance:500,desiredPaddingAroundVisInstanceOnScroll:{left:35,top:20,right:35,bottom:33},enableFixedHeaders:true},_logger:null,_$entityHeadersContainer:null,_$entityHeadersBlind:null,_$viewHeadersContainer:null,_$viewHeadersBlind:null,_$visInstancesContainer:null,_$cornerBlind:null,_$fixedContainer:null,_$entityAdder:null,_$viewAdder:null,_distanceBetweenEntities:10,_distanceBetweenViews:10,_viewHeaderHeight:0,_entityAdderWidth:0,_viewAdderHeight:0,_cachedMinSpaceWidth:0,_cachedMinSpaceHeight:0,_spacePadding:null,_scrollLeftBeforeLatestSelectionUpdate:0,_scrollTopBeforeLatestSelectionUpdate:0,_ignoreXOnNextScroll:false,_ignoreYOnNextScroll:false,_latestChangeWasAReset:false,_cachedScrollPosGridHash:null,_cachedScrollPosSelection:null,_cachedScrollPosX:null,_cachedScrollPosY:null,_cachedSelectedEntityConfigClientId:null,_cachedSelectedViewConfigClientId:null,_cachedEntityHeaderViewsByClientId:{},_cachedViewHeaderViewsByClientId:{},_cachedVisInstanceViewsByClientIdPair:{},_cachedEntityConfigClientIds:null,_cachedViewConfigClientIds:null,_cachedEntityWidth:null,_cachedViewContentHeights:null,initialize:function(options){var _this=this;_this._logger=Logger.get("ConfigGridCellsView");_this.options=_.defaults(options||{},this.options);if(_this.options.enableFixedHeaders===null){_this.options.enableFixedHeaders=navigator.userAgent.indexOf("afari")>=0&&navigator.userAgent.indexOf("Chrom")==-1||navigator.userAgent.indexOf("MSIE")>=0||navigator.userAgent.indexOf("MATM")>=0||navigator.userAgent.indexOf("Trident")>=0}var configGridType=_this.options.configGrid.getType();_this.$el.empty();_this._$entityHeadersContainer=$.bem.generateElement("config-grid-cells","entity-headers-container");_this._$entityHeadersBlind=$.bem.generateElement("config-grid-cells","entity-headers-blind");_this._$entityHeadersContainer.append(_this._$entityHeadersBlind);_this._$viewHeadersContainer=$.bem.generateElement("config-grid-cells","view-headers-container");_this._$viewHeadersBlind=$.bem.generateElement("config-grid-cells","view-headers-blind");_this._$viewAdder=$.bem.generateElement("config-grid-cells","view-header",["kind_adder"]);_this._$viewHeadersContainer.append(_this._$viewHeadersBlind,_this._$viewAdder);_this._$visInstancesContainer=$.bem.generateElement("config-grid-cells","vis-instances-container");_this._$cornerBlind=$.bem.generateElement("config-grid-cells","corner-blind");_this._$space=$.bem.generateElement("config-grid-cells","space");_this._$containerOfScrollable=$.bem.generateElement("config-grid-cells","container",["position_scrollable"]);_this._$containerOfFixed=$.bem.generateElement("config-grid-cells","container",["position_fixed"]);if(configGridType=="collection"){_this._$entityAdder=$.bem.generateElement("config-grid-cells","entity-header",["kind_adder"]);var $entityAdderBackground=$.bem.generateElement("config-grid-cells","entity-header-background");var $entityAdderLabel=$.bem.generateElement("config-grid-cells","entity-header-label");$entityAdderLabel.html(Backbone.Marionette.TemplateCache.get("#config-grid_collection__entity-adder-label"));_this._$entityAdder.append($entityAdderBackground,$entityAdderLabel);_this._$entityHeadersContainer.append(_this._$entityAdder);_this._$entityAdder.click(function(){_this.options.configGrid.addEntityAndSelectIt(new App.ContextModule.Config)})}else{_this._$entityAdder=$()}_this._$viewAdder=$.bem.generateElement("config-grid-cells","view-header",["kind_adder"]);var $viewAdderBackground=$.bem.generateElement("config-grid-cells","view-header-background");var $viewAdderLabel=$.bem.generateElement("config-grid-cells","view-header-label");$viewAdderLabel.html(Backbone.Marionette.TemplateCache.get("#config-grid__view-adder-label"));_this._$viewAdder.append($viewAdderBackground,$viewAdderLabel);_this._$viewHeadersContainer.append(_this._$viewAdder);_this._$viewAdder.click(function(){_this.options.configGrid.addViewAndSelectIt(new App.ContextModule.Config)});_this._$entityHeadersContainer.append();_this._$viewHeadersContainer.append();_this._$space.append(_this._$visInstancesContainer,_this._$entityHeadersContainer,_this._$viewHeadersContainer,_this._$cornerBlind);_this._$containerOfScrollable.append(_this._$space);_this.$el.append(_this._$containerOfScrollable,_this._$containerOfFixed);_this._viewHeaderHeight=_this._$viewAdder.height();_this._entityAdderWidth=_this._$entityAdder.width();_this._viewAdderHeight=_this._viewHeaderHeight;if(!_this._entityAdderWidth){_this._entityAdderWidth=-_this._distanceBetweenEntities}_this._spacePadding={};var interval;var setSpaceInterval=function(){if(_this._$space.css("padding-top")){_this._spacePadding.top=parseInt(_this._$space.css("padding-top"),10);_this._spacePadding.right=parseInt(_this._$space.css("padding-right"),10);_this._spacePadding.bottom=parseInt(_this._$space.css("padding-bottom"),10);_this._spacePadding.left=parseInt(_this._$space.css("padding-left"),10);_this._spacePadding.h=_this._spacePadding.left+_this._spacePadding.right;_this._spacePadding.v=_this._spacePadding.top+_this._spacePadding.bottom;_this._updateDemensionsForContainerOfFixed();clearInterval(interval)}};if(_this._$space.css("padding-top")){setSpaceInterval()}else{interval=setInterval(setSpaceInterval,50)}_this.listenTo(_this.options.configGrid,"change",_this.renderIfParentConfigGridIsVisible);var isSafari=navigator.userAgent.indexOf("afari")>=0;var isChrome=navigator.userAgent.indexOf("rome")>=0;var isScrolling=false;if(_this.options.enableFixedHeaders){_this._$containerOfScrollable.mousewheel(_.debounce(function(event){_this._toggleFixedHeadersIfNeeded(true);var visInstanceViews=_.values(_this._cachedVisInstanceViewsByClientIdPair);for(var i=visInstanceViews.length-1;i>=0;--i){visInstanceViews[i].cancelPointerHighlights()}App.TooltipModule.update();if(isSafari||isChrome){_this._$containerOfScrollable.scrollLeft(_this._$containerOfScrollable.scrollLeft()+event.deltaX);_this._$containerOfScrollable.scrollTop(_this._$containerOfScrollable.scrollTop()-event.deltaY);event.preventDefault()}},50,true));_this._$containerOfScrollable.mousewheel(_.debounce(function(event){if(!isScrolling){_this._toggleFixedHeadersIfNeeded(false)}},200))}_this._$containerOfScrollable.scroll(function(event){if(!isScrolling){isScrolling=true}_this._toggleFixedHeadersIfNeeded(true)});_this._$containerOfScrollable.scroll(_.debounce(function(event){_this._toggleFixedHeadersIfNeeded(false);_this._reviseSpaceSize();isScrolling=false;_this._updateCachedScroll()},200));$(window).resize(_.throttle(function(){_this._reviseSpaceSize();_this._updateDemensionsForContainerOfFixed()},100));_this._toggleFixedHeadersIfNeeded(false);_this._updateDemensionsForContainerOfFixed();_this._cachedScrollPosGridHash=App.DataModule.Storage.getStrCache(MainRegionModule,_.str.sprintf("scroll-pos-grid-hash_%s",configGridType));_this._cachedScrollPosSelection=App.DataModule.Storage.getStrCache(MainRegionModule,_.str.sprintf("scroll-pos-selection_%s",configGridType));_this._cachedScrollPosX=1*App.DataModule.Storage.getStrCache(MainRegionModule,_.str.sprintf("scroll-pos-x_%s",configGridType));_this._cachedScrollPosY=1*App.DataModule.Storage.getStrCache(MainRegionModule,_.str.sprintf("scroll-pos-y_%s",configGridType));$(window).unload(function(){App.DataModule.Storage.setStrCache(MainRegionModule,_.str.sprintf("scroll-pos-grid-hash_%s",configGridType),_this._cachedScrollPosGridHash);App.DataModule.Storage.setStrCache(MainRegionModule,_.str.sprintf("scroll-pos-selection_%s",configGridType),_this._cachedScrollPosSelection);App.DataModule.Storage.setStrCache(MainRegionModule,_.str.sprintf("scroll-pos-x_%s",configGridType),""+_this._cachedScrollPosX);App.DataModule.Storage.setStrCache(MainRegionModule,_.str.sprintf("scroll-pos-y_%s",configGridType),""+_this._cachedScrollPosY)})},render:function(deep,instant){var _this=this;_this._updateLayout(deep,instant);_this._updateSelection(deep,instant);if(deep){_this._reviseSpaceSize();_this._updateDemensionsForContainerOfFixed()}_this._adjustToScrollPos(deep,instant);_this.scrollAccordingToSelection(deep,instant);if(deep){var entityHeaderViews=_.values(_this._cachedEntityHeaderViewsByClientId);for(var i=entityHeaderViews.length-1;i>=0;--i){entityHeaderViews[i].render(deep,instant)}var viewHeaderViews=_.values(_this._cachedViewHeaderViewsByClientId);for(var i=viewHeaderViews.length-1;i>=0;--i){viewHeaderViews[i].render(deep,instant)}var visInstanceViews=_.values(_this._cachedVisInstanceViewsByClientIdPair);for(var i=visInstanceViews.length-1;i>=0;--i){visInstanceViews[i].render(deep,instant)}}},getEntityWidth:function(){var _this=this;return(_this.options.configGrid.get("entityWidth")||App.options.defaultEntityWidth)*1},_updateLayout:function(deep,instant){var _this=this;var entityListHasChanged=false;var viewListHasChanged=false;var newEntityConfigs=_this.options.configGrid.get("entityConfigs");var newViewConfigs=_this.options.configGrid.get("viewConfigs");var newEntityConfigClientIds=_.pluck(newEntityConfigs.models,"cid");var newViewConfigClientIds=_.pluck(newViewConfigs.models,"cid");_this._scrollLeftBeforeLatestLayoutUpdate=_this.$el.scrollLeft();_this._scrollTopBeforeLatestLayoutUpdate=_this.$el.scrollTop();if(_this._cachedEntityConfigClientIds===null){entityListHasChanged=true;viewListHasChanged=true;_this._cachedEntityConfigClientIds=[];_this._cachedViewConfigClientIds=[]}var createdEntityConfigClientIds=_.difference(newEntityConfigClientIds,_this._cachedEntityConfigClientIds);var createdViewConfigClientIds=_.difference(newViewConfigClientIds,_this._cachedViewConfigClientIds);var removedEntityConfigClientIds=_.difference(_this._cachedEntityConfigClientIds,newEntityConfigClientIds);var removedViewConfigClientIds=_.difference(_this._cachedViewConfigClientIds,newViewConfigClientIds);_this._latestChangeWasAReset=false;if(createdEntityConfigClientIds.length+removedEntityConfigClientIds.length==1){_this._ignoreYOnNextScroll=true}if(createdViewConfigClientIds.length+removedViewConfigClientIds.length==1){_this._ignoreXOnNextScroll=true}if(!_.isEqual(newEntityConfigClientIds,_this._cachedEntityConfigClientIds)){entityListHasChanged=true}if(!_.isEqual(newViewConfigClientIds,_this._cachedViewConfigClientIds)){viewListHasChanged=true}if(entityListHasChanged&&createdEntityConfigClientIds.length+removedEntityConfigClientIds.length>1||viewListHasChanged&&createdViewConfigClientIds.length+removedViewConfigClientIds.length>1){_this._latestChangeWasAReset=true;_this._ignoreXOnNextScroll=false;_this._ignoreYOnNextScroll=false}var newEntityHeaderViewsByClientId=_this._cachedEntityHeaderViewsByClientId;var newViewHeaderViewsByClientId=_this._cachedViewHeaderViewsByClientId;var newVisInstanceViewsByClientIdPair=_this._cachedVisInstanceViewsByClientIdPair;var viewHeaderViewsToRender=[];var entityHeaderViewsToRender=[];var visInstanceViewsToRender=[];if(entityListHasChanged){newEntityHeaderViewsByClientId={};for(var i=0;i=0;--i){_this._cachedEntityHeaderViewsByClientId[removedEntityConfigClientIds[i]].remove();App.dynamicDerivedConfigDataProvider.retire(removedEntityConfigClientIds[i])}}else{newEntityHeaderViewsByClientId=_this._cachedEntityHeaderViewsByClientId}if(viewListHasChanged){newViewHeaderViewsByClientId={};for(var i=0;i=0;--i){_this._cachedViewHeaderViewsByClientId[removedViewConfigClientIds[i]].remove();App.dynamicDerivedConfigDataProvider.retire(removedViewConfigClientIds[i])}}else{newViewHeaderViewsByClientId=_this._cachedViewHeaderViewsByClientId}if(viewListHasChanged||entityListHasChanged){newVisInstanceViewsByClientIdPair={};for(var i=0;i=0;--i){for(var j=removedViewConfigClientIds.length-1;j>=0;--j){var visInstanceToRemove=_this._cachedVisInstanceViewsByClientIdPair[this._cachedEntityConfigClientIds[i]+removedViewConfigClientIds[j]];visInstanceToRemove.remove()}}for(var i=removedEntityConfigClientIds.length-1;i>=0;--i){for(var j=this._cachedViewConfigClientIds.length-1;j>=0;--j){var visInstanceToRemove=_this._cachedVisInstanceViewsByClientIdPair[removedEntityConfigClientIds[i]+this._cachedViewConfigClientIds[j]];if(visInstanceToRemove){visInstanceToRemove.remove()}}}}var viewHeightsHaveChanged=false;var entityWidthHasChanged=false;var entityWidth=_this.getEntityWidth();var viewContentHeights=[];for(var row=0;row=0;--row){var currentViewDimensions=newViewDimensions[row];var viewHeaderView=newViewHeaderViewsByClientId[currentViewDimensions[0]];viewHeaderView.$el.css("top",currentViewDimensions[1]).attr("data-top",currentViewDimensions[1]).attr("data-total-height",currentViewDimensions[2]+_this._viewHeaderHeight);viewHeaderView.setSize(currentViewDimensions[2])}for(var col=newEntityDimensions.length-1;col>=0;--col){var currentEntityDimensions=newEntityDimensions[col];var entityHeaderView=newEntityHeaderViewsByClientId[currentEntityDimensions[0]];entityHeaderView.$el.css("left",currentEntityDimensions[1]).attr("data-left",currentEntityDimensions[1]).attr("data-width",currentEntityDimensions[2]);entityHeaderView.setSize(currentEntityDimensions[2]);for(var row=newViewDimensions.length-1;row>=0;--row){var currentViewDimensions=newViewDimensions[row];var visInstanceView=newVisInstanceViewsByClientIdPair[currentEntityDimensions[0]+currentViewDimensions[0]];visInstanceView.$el.css({left:currentEntityDimensions[1],top:currentViewDimensions[1]+viewHeaderHeight});visInstanceView.setSize(currentEntityDimensions[2],currentViewDimensions[2])}}var needToResizeSpace=false;if(x!=_this._$entityAdder.css("left")){_this._$entityAdder.css("left",x);needToResizeSpace=true}if(y!=_this._$viewAdder.css("top")){_this._$viewAdder.css("top",y);needToResizeSpace=true}if(needToResizeSpace){_this._cachedMinSpaceWidth=x+_this._entityAdderWidth;_this._cachedMinSpaceHeight=y+_this._viewAdderHeight;_this._reviseSpaceSize(!_this._latestChangeWasAReset)}}if(entityListHasChanged){_this._cachedEntityHeaderViewsByClientId=newEntityHeaderViewsByClientId;_this._cachedEntityConfigClientIds=newEntityConfigClientIds}if(viewListHasChanged){_this._cachedViewHeaderViewsByClientId=newViewHeaderViewsByClientId;_this._cachedViewConfigClientIds=newViewConfigClientIds}if(viewListHasChanged||entityListHasChanged){_this._cachedVisInstanceViewsByClientIdPair=newVisInstanceViewsByClientIdPair}if(!deep&&entityHeaderViewsToRender){for(var i=entityHeaderViewsToRender.length-1;i>=0;--i){entityHeaderViewsToRender[i].render()}}if(!deep&&viewHeaderViewsToRender){for(var i=viewHeaderViewsToRender.length-1;i>=0;--i){viewHeaderViewsToRender[i].render()}}if(!deep&&visInstanceViewsToRender){for(var i=visInstanceViewsToRender.length-1;i>=0;--i){visInstanceViewsToRender[i].render()}}if(viewListHasChanged||entityListHasChanged){var destroyedVisInstanceViews=_.difference(_.values(this._cachedVisInstanceViewsByClientIdPair),_.values(newVisInstanceViewsByClientIdPair));for(var i=destroyedVisInstanceViews.length-1;i>=0;--i){destroyedVisInstanceViews[i].remove()}}},_updateSelection:function(deep,instant){var _this=this;var selectedEntityConfig=_this.options.configGrid.getSelectedEntityConfig();var selectedViewConfig=_this.options.configGrid.getSelectedViewConfig();var selectedEntityConfigClientId=selectedEntityConfig?selectedEntityConfig.getClientId():null;var selectedViewConfigClientId=selectedViewConfig?selectedViewConfig.getClientId():null;if(_this._cachedSelectedEntityConfigClientId!==selectedEntityConfigClientId){_this._cachedSelectedEntityConfigClientId=selectedEntityConfigClientId}if(_this._cachedSelectedViewConfigClientId!==selectedViewConfigClientId){_this._cachedSelectedViewConfigClientId=selectedViewConfigClientId}},scrollAccordingToSelection:function(deep,instant){var _this=this;return;var entityConfigClientId=_this._cachedSelectedEntityConfigClientId;var viewConfigClientId=_this._cachedSelectedViewConfigClientId;var dimensions={left:0,top:0,width:0,height:0};if(entityConfigClientId){dimensions.left=parseInt(_this._cachedEntityHeaderViewsByClientId[entityConfigClientId].el.getAttribute("data-left"),10);dimensions.width=parseInt(_this._cachedEntityHeaderViewsByClientId[entityConfigClientId].el.getAttribute("data-width"),10)}if(viewConfigClientId){dimensions.top=parseInt(_this._cachedViewHeaderViewsByClientId[viewConfigClientId].el.getAttribute("data-top"),10);dimensions.height=parseInt(_this._cachedViewHeaderViewsByClientId[viewConfigClientId].el.getAttribute("data-total-height"),10)}var desiredPaddingAroundVisInstanceOnScroll=_this.options.desiredPaddingAroundVisInstanceOnScroll;var spacePadding=_this._spacePadding;var targetScrollRange={leftMax:dimensions.left-desiredPaddingAroundVisInstanceOnScroll.left,topMax:dimensions.top-desiredPaddingAroundVisInstanceOnScroll.top-_this._viewHeaderHeight,leftMin:dimensions.left+desiredPaddingAroundVisInstanceOnScroll.right+dimensions.width-_this._$containerOfScrollable[0].clientWidth+spacePadding.left,topMin:dimensions.top+desiredPaddingAroundVisInstanceOnScroll.bottom+dimensions.height-_this._$containerOfScrollable[0].clientHeight+spacePadding.top};var currentScroll={left:_this._scrollLeftBeforeLatestLayoutUpdate==null?_this._$containerOfScrollable.scrollLeft():_this._scrollLeftBeforeLatestLayoutUpdate,top:_this._scrollTopBeforeLatestLayoutUpdate==null?_this._$containerOfScrollable.scrollTop():_this._scrollTopBeforeLatestLayoutUpdate};var targetScrollLeft=currentScroll.left;var targetScrollTop=currentScroll.top;if(_this._latestChangeWasAReset){_this._cachedScrollPosSelection=null;targetScrollLeft=0;targetScrollTop=0}var currentGridHash=_this.getEntityWidth()+"~"+_this._cachedEntityConfigClientIds.join("|")+"~"+_this._cachedViewConfigClientIds.join("|");if(_this._cachedScrollPosGridHash===currentGridHash&&_this._cachedScrollPosSelection===""+entityConfigClientId+viewConfigClientId){targetScrollLeft=_this._cachedScrollPosX;targetScrollTop=_this._cachedScrollPosY;_this._cachedScrollPosSelection=""}else{if(!_this._ignoreXOnNextScroll){if(targetScrollLefttargetScrollRange.leftMax){targetScrollLeft=targetScrollRange.leftMax}}if(!_this._ignoreYOnNextScroll){if(targetScrollToptargetScrollRange.topMax){targetScrollTop=targetScrollRange.topMax}}if(targetScrollLeft<0){targetScrollLeft=0}if(targetScrollTop<0){targetScrollTop=0}}var scrollDiffX=targetScrollLeft-currentScroll.left;var scrollDiffY=targetScrollTop-currentScroll.top;if(!entityConfigClientId&&!viewConfigClientId&&!_this._latestChangeWasAReset){_this._updateCachedScroll()}else if(instant||_this._latestChangeWasAReset){_this._$containerOfScrollable.stop(true,true);_this._$containerOfScrollable.scrollLeft(targetScrollLeft);_this._$containerOfScrollable.scrollTop(targetScrollTop);_this._updateCachedScroll();_this._reviseSpaceSize()}else{_this._$containerOfScrollable.stop(true,false);if(_this._scrollLeftBeforeLatestLayoutUpdate!==null){_this._$containerOfScrollable.scrollLeft(_this._scrollLeftBeforeLatestLayoutUpdate);_this._$containerOfScrollable.scrollTop(_this._scrollTopBeforeLatestLayoutUpdate)}_this._$containerOfScrollable.animate({scrollLeft:targetScrollLeft,scrollTop:targetScrollTop},_this.options.scrollAnimationMinSpeed+Math.min(Math.max(Math.abs(scrollDiffX),Math.abs(scrollDiffY)),_this.options.scrollAnimationBaseDistance)/_this.options.scrollAnimationBaseDistance*_this.options.scrollAnimationBaseSpeed,function(){_this._reviseSpaceSize()})}_this._ignoreXOnNextScroll=false;_this._ignoreYOnNextScroll=false},getPositionsOfSelectedHeaders:function(){var _this=this;var result=[];var selectedEntityHeaderView=_this._cachedEntityHeaderViewsByClientId[_this._cachedSelectedEntityConfigClientId];var selectedViewHeaderView=_this._cachedViewHeaderViewsByClientId[_this._cachedSelectedViewConfigClientId];if(selectedEntityHeaderView){var $selectedEntityHeader=selectedEntityHeaderView.$el;result.push(parseInt($selectedEntityHeader.css("left"),10)-_this._$containerOfScrollable.scrollLeft(),parseInt($selectedEntityHeader[0].style.width,10))}else{result.push(null,null)}if(selectedViewHeaderView){var $selectedViewHeader=selectedViewHeaderView.$el;result.push(parseInt($selectedViewHeader.css("top"),10)-_this._$containerOfScrollable.scrollTop(),_this._viewHeaderHeight)}else{result.push(null,null)}return result},_updateCachedScroll:function(){var _this=this;_this._cachedScrollPosGridHash=_this.getEntityWidth()+"~"+_this._cachedEntityConfigClientIds.join("|")+"~"+_this._cachedViewConfigClientIds.join("|");_this._cachedScrollPosSelection=""+_this._cachedSelectedEntityConfigClientId+_this._cachedSelectedViewConfigClientId;_this._cachedScrollPosX=_this._$containerOfScrollable.scrollLeft();_this._cachedScrollPosY=_this._$containerOfScrollable.scrollTop()},_toggleFixedHeadersIfNeeded:function(trueOrFalse){var _this=this;if(_this.options.enableFixedHeaders&&trueOrFalse==true){if(!_this._$containerOfFixed[0].childNodes.length){_this._$containerOfFixed.append(_this._$visInstancesContainer,_this._$entityHeadersContainer,_this._$viewHeadersContainer,_this._$cornerBlind);_this._$cornerBlind.css({transform:"translate(0px, 0px)"});_this._$containerOfFixed.show()}}else{_this._$containerOfFixed.hide();_this._$space.append(_this._$visInstancesContainer,_this._$entityHeadersContainer,_this._$viewHeadersContainer,_this._$cornerBlind);_this._$entityHeadersBlind.css({transform:"translate(0px, 0px)"});_this._$visInstancesContainer.css({transform:"translate(0px, 0px)"})}_this._adjustToScrollPos()},_adjustToScrollPos:function(){var _this=this;if(_this._scrollLeftBeforeLatestLayoutUpdate!==null){_this._scrollLeftBeforeLatestLayoutUpdate=null;_this._scrollTopBeforeLatestLayoutUpdate=null}var scrollLeft=_this._$containerOfScrollable.scrollLeft();var scrollTop=_this._$containerOfScrollable.scrollTop();if(_this._$containerOfFixed[0].childNodes.length){_this._$entityHeadersContainer.css({transform:"translate("+-scrollLeft+"px, 0px)"});_this._$entityHeadersBlind.css({transform:"translate("+scrollLeft+"px, 0px)"});_this._$visInstancesContainer.css({transform:"translate("+-scrollLeft+"px, "+-scrollTop+"px)"});_this._$viewHeadersContainer.css({transform:"translate(0px, "+-scrollTop+"px)"})}else{_this._$entityHeadersContainer.css({transform:"translate(0, "+scrollTop+"px)"});_this._$viewHeadersContainer.css({transform:"translate("+scrollLeft+"px, 0)"});_this._$cornerBlind.css({transform:"translate("+scrollLeft+"px, "+scrollTop+"px)"})}_this._reportPositionsOfSelectedHeaders()},_reportPositionsOfSelectedHeaders:function(){var _this=this;var positionsOfSelectedHeaders=_this.getPositionsOfSelectedHeaders();_this.trigger("change-positions-of-selected-headers",positionsOfSelectedHeaders[0],positionsOfSelectedHeaders[1],positionsOfSelectedHeaders[2],positionsOfSelectedHeaders[3])},_reviseSpaceSize:function(increaseOnly){var _this=this;var elInnerWidth=_this._$containerOfScrollable[0].clientWidth;var elInnerHeight=_this._$containerOfScrollable[0].clientHeight;var elScrollLeft=_this._$containerOfScrollable.scrollLeft();var elScrollTop=_this._$containerOfScrollable.scrollTop();var spaceWidth=_this._cachedMinSpaceWidth;var spaceHeight=_this._cachedMinSpaceHeight;var missingWidth=elScrollLeft+elInnerWidth-_this._spacePadding.h-spaceWidth;var missingHeight=elScrollTop+elInnerHeight-_this._spacePadding.v-spaceHeight;spaceWidth+=Math.max(0,missingWidth);spaceHeight+=Math.max(0,missingHeight);if(!increaseOnly||spaceWidth>=_this._$space.width()&&spaceHeight>=_this._$space.height()){_this._$space.css({width:spaceWidth,height:spaceHeight});_this._$viewHeadersBlind.height(spaceHeight)}},_updateDemensionsForContainerOfFixed:function(){var _this=this;_this._$containerOfFixed.width(_this._$containerOfScrollable[0].clientWidth);_this._$containerOfFixed.height(_this._$containerOfScrollable[0].clientHeight)},_generateEntityHeaderView:function(entityConfig){var _this=this;var $el=$.bem.generateElement("config-grid-cells","entity-header");var result=new App.MainRegionModule.ConfigHeaderView({dimension:"entity",el:$el,state:_this.options.state,configGrid:_this.options.configGrid,config:entityConfig,parentConfigGridView:_this.options.parentConfigGridView});result.$el.dblclick(function(){if(entityConfig.getParameterValue("kind")){return}if(_this.options.configGrid.getSelectedEntityConfig()==entityConfig){_this.options.configGrid.addEntityAndSelectIt(new App.ContextModule.Config({parameters:{kind:"pair",comparisonMode:"superposition"}}),_this.options.configGrid.getNextEntityNeighbour(entityConfig))}});return result},_generateViewHeaderView:function(viewConfig){var _this=this;var $el=$.bem.generateElement("config-grid-cells","view-header");var result=new App.MainRegionModule.ConfigHeaderView({dimension:"view",el:$el,state:_this.options.state,configGrid:_this.options.configGrid,config:viewConfig,parentConfigGridView:_this.options.parentConfigGridView});return result},_generateVisInstanceView:function(entityConfig,viewConfig){var _this=this;var $el=$.bem.generateElement("config-grid-cells","vis-instance").addClass("vis-instance");var result=new App.MainRegionModule.VisInstanceView({el:$el,state:_this.options.state,configGrid:_this.options.configGrid,entityConfig:entityConfig,viewConfig:viewConfig,parentConfigGridView:_this.options.parentConfigGridView});return result}})},Logger); +"use strict";App.module("MainRegionModule",function(MainRegionModule,App,Backbone,Marionette,$,_,Logger){MainRegionModule.ConfigGridPanelView=MainRegionModule.ConfigGridChildView.extend({options:{dimension:null,configGrid:null,parentState:null,parentConfigGridView:null},_cachedConfigGridType:null,_cachedConfig:null,_cachedBorderRadiusFixerSize:null,initialize:function(options){var _this=this;_this.options=_.defaults(options||{},this.options);_this.listenTo(_this.options.configGrid,"change_selection",_this.renderIfParentConfigGridIsVisible);_this._cachedConfigGridType=this.options.configGrid.getType();_this._$borderRadiusFixer=$.bem.generateElement("config-grid-panel","border-radius-fixer");_this._$borderRadiusFixerContainer=$.bem.generateElement("config-grid-panel","border-radius-fixer-container");_this._$borderRadiusFixerContainer.append(_this._$borderRadiusFixer);_this.$el.prepend(_this._$borderRadiusFixerContainer);_this._cachedBorderRadiusFixerSize=_this._$borderRadiusFixerContainer.width();_this.updateRadiusFixer(null,null);_this._$mainAreaWrapper=$.bem.generateElement("config-grid-panel","main-area-wrapper");_this._$mainArea=$.bem.generateElement("config-grid-panel","main-area");_this._$mainArea.addClass("cgpma");_this._$mainArea.appendTo(_this._$mainAreaWrapper);_this._$mainAreaWrapper.appendTo(_this.$el);_this._$commands=_this.$(".config-grid-panel__commands");_this._$commandClone=_this.$(".config-grid-panel__command_action_clone");_this._$commandDelete=_this.$(".config-grid-panel__command_action_delete");_this._$commandApply=_this.$(".config-grid-panel__command_action_apply");_this._$commandDiscard=_this.$(".config-grid-panel__command_action_discard");_this._$commandClone.click(function(){if(_this._cachedConfig&&_this._$commandClone.hasClass("config-grid-panel__command_state_enabled")){var clonedConfig=_this._cachedConfig.clone();if(_this.options.dimension=="entity"){_this.options.configGrid.addEntityAndSelectIt(clonedConfig,_this.options.configGrid.getNextEntityNeighbour(_this._cachedConfig))}else{_this.options.configGrid.addViewAndSelectIt(clonedConfig,_this.options.configGrid.getNextViewNeighbour(_this._cachedConfig))}}});_this._$commandDelete.click(function(){if(_this._cachedConfig&&_this._$commandDelete.hasClass("config-grid-panel__command_state_enabled")){if(_this.options.dimension=="entity"){_this.options.configGrid.removeEntityAndSelectNeighbour(_this._cachedConfig)}else{_this.options.configGrid.removeViewAndSelectNeighbour(_this._cachedConfig)}}});_this._$commandApply.click(function(){if(_this._cachedConfig&&_this._$commandApply.hasClass("config-grid-panel__command_state_enabled")){_this._masterBehindMainArea.cleanConfigPlannedParameterValuesAndApplyThem(_this._cachedConfig)}});_this._$commandDiscard.click(function(){if(_this._cachedConfig&&_this._$commandDiscard.hasClass("config-grid-panel__command_state_enabled")){_this._cachedConfig.cancelPlannedParameterUpdates()}});_this._$commandClone.attr("title"," ");_this._$commandDelete.attr("title"," ");_this._$commandApply.attr("title"," ");_this._$commandDiscard.attr("title"," ");App.TooltipModule.convertTitlesToTooltips(_this.$el);_this._updateTooltips();_this._$commands.disableSelection()},render:function(deep,instant){var _this=this;var selectedConfig=null;if(_this.options.dimension=="entity"){selectedConfig=_this.options.configGrid.getSelectedEntityConfig()}else{selectedConfig=_this.options.configGrid.getSelectedViewConfig()}var configWasReplaced=false;if(_this._cachedConfig!=selectedConfig){if(_this._cachedConfig){_this.stopListening(_this._cachedConfig,"change",_this.renderIfParentConfigGridIsVisible)}_this._cachedConfig=selectedConfig;if(_this._cachedConfig){_this.listenTo(_this._cachedConfig,"change",_this.renderIfParentConfigGridIsVisible)}configWasReplaced=true;_this._updateTooltips()}var dynamicDerivedConfigData=App.dynamicDerivedConfigDataProvider.get(_this._cachedConfig);if(_this._cachedDynamicDerivedConfigData!=dynamicDerivedConfigData){if(_this._cachedDynamicDerivedConfigData){this.stopListening(_this._cachedDynamicDerivedConfigData,"change",_this.renderIfParentConfigGridIsVisible)}_this._cachedDynamicDerivedConfigData=dynamicDerivedConfigData;if(_this._cachedDynamicDerivedConfigData){_this.listenTo(_this._cachedDynamicDerivedConfigData,"change",_this.renderIfParentConfigGridIsVisible)}}_this._setupMainArea(deep,instant);var hashForData=null;if(_this._cachedConfig){hashForData=_this._cachedConfig.getHash()+_this._cachedDynamicDerivedConfigData.getHash()}if(configWasReplaced||_this._cachedHashForData!==hashForData){_this._cachedHashForData=hashForData;if(_this._masterBehindMainArea){_this._masterBehindMainArea.syncConfigGridPanelMainArea(_this,instant)}_this._renderApplyDiscardCommands(deep,instant)}if(configWasReplaced||deep){_this._renderCloneDeleteCommands(deep,instant)}},updateRadiusFixer:function(selectedConfigGridOffsetStart,selectedConfigGridSize){var _this=this;var coordinate=selectedConfigGridOffsetStart;var size=selectedConfigGridSize;if(_.isNumber(size)&&!_.isNaN(size)&&size>0){if(coordinate+size<=0){coordinate=null}if(coordinate>_this._cachedBorderRadiusFixerSize){coordinate=null}else if(coordinate<0){coordinate=0}else if(coordinate+size>_this._cachedBorderRadiusFixerSize){size=_this._cachedBorderRadiusFixerSize-coordinate}}else{coordinate=null;size=null}if(coordinate!==null){if(_this.options.dimension=="entity"){_this._$borderRadiusFixer.css({left:coordinate,width:size})}else{_this._$borderRadiusFixer.css({top:coordinate,height:size})}}else{if(_this.options.dimension=="entity"){_this._$borderRadiusFixer.css({left:0,width:0})}else{_this._$borderRadiusFixer.css({top:0,height:0})}}},_updateTooltips:function(){var _this=this;if(!this._cachedConfig){_this._$commandClone.attr("tooltip-title","");_this._$commandDelete.attr("tooltip-title","");_this._$commandApply.attr("tooltip-title","");_this._$commandDiscard.attr("tooltip-title","")}else{var tooltipTemplate=null;try{tooltipTemplate=Marionette.TemplateCache.get("#config-grid-panel__command-titles_"+_this._cachedConfigGridType+"_"+this._cachedConfig.getDimension()+"_"+_.str.trim(this._cachedConfig.getParameterValue("kind")))}catch(e){tooltipTemplate=Marionette.TemplateCache.get("#config-grid-panel__command-titles_"+_this._cachedConfigGridType+"_"+this._cachedConfig.getDimension())}var tooltips=tooltipTemplate().split("|");_this._$commandClone.attr("tooltip-title",tooltips[0]);_this._$commandDelete.attr("tooltip-title",tooltips[1]);_this._$commandApply.attr("tooltip-title",tooltips[2]);_this._$commandDiscard.attr("tooltip-title",tooltips[3])}},_renderCloneDeleteCommands:function(deep,instant){var _this=this;var cloneEnabled=!!_this._cachedConfig;var deleteEnabled=!!_this._cachedConfig;_this._$commandClone.toggleClass("config-grid-panel__command_state_enabled",cloneEnabled);_this._$commandDelete.toggleClass("config-grid-panel__command_state_enabled",deleteEnabled)},_renderApplyDiscardCommands:function(deep,instant){var _this=this;var enabled=!!(_this._cachedConfig&&_this._cachedConfig.hasPlannedParameterUpdates());_this._$commandApply.toggleClass("config-grid-panel__command_state_enabled",enabled);_this._$commandDiscard.toggleClass("config-grid-panel__command_state_enabled",enabled)},_setupMainArea:function(deep,instant){var _this=this;var master=null;if(_this._cachedConfig){master=App.RepresentationModule.getMasterForConfig(_this._cachedConfig,true)}var configHasChanged=_this._configBehindMainArea!==_this._cachedConfig;var masterHasChanged=_this._masterBehindMainArea!==master;if(configHasChanged||masterHasChanged){if(_this._masterBehindMainArea){_this._masterBehindMainArea.destroyConfigGridPanelMainArea(this)}if(!_this._cachedConfig){_this._configBehindMainArea=null;_this._masterBehindMainArea=null;_this._$mainArea.html(Backbone.Marionette.TemplateCache.get("#cgpma_"+_this._cachedConfigGridType+"_"+this.options.dimension+"__empty"))}else{_this._configBehindMainArea=_this._cachedConfig;_this._masterBehindMainArea=master;_this._$mainArea.empty();_this._$mainArea.removeData();try{_this._$mainArea.html(Backbone.Marionette.TemplateCache.get("#cgpma_"+_this._cachedConfigGridType+"_"+this.options.dimension+"_"+master.id.split(".")[2]))}catch(e){_this._$mainArea.html(Backbone.Marionette.TemplateCache.get("#cgpma_"+_this._cachedConfigGridType+"_"+this.options.dimension+"__unknown"))}_this._masterBehindMainArea.prepareConfigGridPanelMainArea(_this)}var masterKind=undefined;if(_this._masterBehindMainArea){masterKind=_this._masterBehindMainArea.id.split(".")[2]}this.$el.setMod("config-grid-panel","master-kind",masterKind?masterKind:false)}}})},Logger); +"use strict";App.module("MainRegionModule",function(MainRegionModule,App,Backbone,Marionette,$,_,Logger){MainRegionModule.ConfigHeaderView=MainRegionModule.ConfigGridChildView.extend({options:{dimension:null,parentState:null,configGrid:null,config:null,parentConfigGridView:null},_dimensionIsEntity:false,_dimensionIsView:false,initialize:function(options){var _this=this;_this.options=_.defaults(options||{},_this.options);_this._cachedConfigGridType=options.configGrid.getType();_this._cachedKind="-";_this._cachedMaster=null;_this.$el.disableSelection();_this.dynamicDerivedConfigData=null;if(_this.options.dimension==="entity"){_this._dimensionIsEntity=true}else{_this._dimensionIsView=true}_this._debouncedRenderIfParentConfigGridIsVisible=_this.renderIfParentConfigGridIsVisible;_this.listenTo(_this.options.configGrid,"change_selection",_this._debouncedRenderIfParentConfigGridIsVisible);_this.listenTo(_this.options.configGrid,"change_layout",_this._debouncedRenderIfParentConfigGridIsVisible);_this.listenTo(_this.options.config,"change:parametersOrPlannedParameterUpdates",_this._debouncedRenderIfParentConfigGridIsVisible);_this._$background=$.bem.generateElement("config-grid-cells",_this._dimensionIsEntity?"entity-header-background":"view-header-background");_this.$el.append(_this._$background);_this.$el.click(function(event){if(_this._dimensionIsEntity){_this.options.parentConfigGridView.ignoreAxisOnNextScroll(false,true)}else{_this.options.parentConfigGridView.ignoreAxisOnNextScroll(true,false)}if(_this._cachedSelected){_this.options.parentConfigGridView.scrollAccordingToSelection()}else{_this.options.configGrid.set(_this._dimensionIsEntity?"selectedEntityConfigClientId":"selectedViewConfigClientId",_this.options.config.getClientId())}event.stopPropagation();event.preventDefault()});_this._cachedSelected=false;_this._cachedHashForParameters=null},setSize:function(widthOrHeight){var _this=this;var $el=_this.$el;var changed=false;if(_this._dimensionIsEntity){if(widthOrHeight!=$el.width()){$el.width(widthOrHeight);changed=true}}else{return;if(widthOrHeight!=$el.height()){$el.height(widthOrHeight);changed=true}}if(changed){_this._debouncedRenderIfParentConfigGridIsVisible()}},render:function(deep,instant){var _this=this;if(!_this.options.config.getConfigGridType()){return}var newSelected=_this._dimensionIsEntity?_this.options.configGrid.getSelectedEntityConfig()==_this.options.config:_this.options.configGrid.getSelectedViewConfig()==_this.options.config;if(newSelected!==_this._cachedSelected){if(newSelected){_this.$el.addClass(_this._dimensionIsEntity?"config-grid-cells__entity-header_selected":"config-grid-cells__view-header_selected")}else{_this.$el.removeClass(_this._dimensionIsEntity?"config-grid-cells__entity-header_selected":"config-grid-cells__view-header_selected")}_this._cachedSelected=newSelected}var newKind=_this.options.config.getParameterValue("kind");if(newKind!==_this._cachedKind){_this._cachedKind=newKind;_this._cachedMaster=App.RepresentationModule.getMasterForConfig(_this.options.config);if(_this.dynamicDerivedConfigData){_this.stopListening(_this.dynamicDerivedConfigData)}_this.dynamicDerivedConfigData=App.dynamicDerivedConfigDataProvider.get(_this.options.config);_this.listenTo(_this.dynamicDerivedConfigData,"change",_this._debouncedRenderIfParentConfigGridIsVisible);_this.$el.setMod("config-grid-cells","entity-header","kind",newKind?newKind:false)}_this._cachedMaster.renderHeaderContent(this,instant)}})},Logger); +"use strict";App.module("MainRegionModule",function(MainRegionModule,App,Backbone,Marionette,$,_,Logger){MainRegionModule.VisInstanceView=MainRegionModule.ConfigGridChildView.extend({options:{state:null,configGrid:null,entityConfig:null,viewConfig:null,parentConfigGridView:null},initialize:function(options){var _this=this;_this.options=_.defaults(options||{},_this.options);_this._configGridType=_this.options.configGrid.getType();_this.$el.attr("data-entity-id",_this.options.entityConfig.getClientId());_this.$el.attr("data-view-id",_this.options.viewConfig.getClientId());_this.$content=$.bem.generateElement("vis-instance","content");_this.$cover=$.bem.generateElement("vis-instance","cover");_this.$coverMessage=$.bem.generateElement("vis-instance","cover-message");_this.$cover.append(_this.$coverMessage);_this.$el.append(_this.$content,_this.$cover);_this._cachedEntityKind="-";_this._cachedViewKind="-";_this.dynamicDerivedConfigDataForEntity=null;_this.dynamicDerivedConfigDataForView=null;_this.dynamicDerivedVisInstanceDataForBase=null;_this.dynamicDerivedVisInstanceDataForOverlay=null;_this.dynamicDerivedVisInstanceDataForTemp=null;_this._debouncedRenderIfParentConfigGridIsVisible=_.debounce(function(){_this.renderIfParentConfigGridIsVisible()},50);_this.listenTo(_this.options.entityConfig,"change:parameters",_this._debouncedRenderIfParentConfigGridIsVisible);_this.listenTo(_this.options.viewConfig,"change:parameters",_this._debouncedRenderIfParentConfigGridIsVisible);_this.listenTo(_this.options.entityConfig,"change:tempParameters",_this._debouncedRenderIfParentConfigGridIsVisible);_this.listenTo(_this.options.viewConfig,"change:tempParameters",_this._debouncedRenderIfParentConfigGridIsVisible);_this.$el.click(function(){var entityClientId=_this.options.entityConfig.getClientId();var viewClientId=_this.options.viewConfig.getClientId();if(_this.options.configGrid.get("selectedEntityConfigClientId")!==entityClientId||_this.options.configGrid.get("selectedViewConfigClientId")!==viewClientId){_this.options.configGrid.set({selectedEntityConfigClientId:entityClientId,selectedViewConfigClientId:viewClientId})}else{_this.options.parentConfigGridView.scrollAccordingToSelection()}})},remove:function(){var _this=this;if(_this.dynamicDerivedVisInstanceDataForBase){_this.dynamicDerivedVisInstanceDataForBase.destroy()}if(_this.dynamicDerivedVisInstanceDataForOverlay){_this.dynamicDerivedVisInstanceDataForOverlay.destroy()}if(_this.dynamicDerivedVisInstanceDataForTemp){_this.dynamicDerivedVisInstanceDataForTemp.destroy()}MainRegionModule.ConfigGridChildView.prototype.remove.apply(this,arguments)},setSize:function(width,height){var _this=this;var $el=_this.$el;var changed=false;if(width!=$el.width()){$el.width(width);changed=true}if(height!=$el.height()){$el.height(height);changed=true}if(changed){_this._cachedSizeHash=width+"|"+height;_this._debouncedRenderIfParentConfigGridIsVisible()}},render:function(deep,instant){var _this=this;if(!this.options.entityConfig.getConfigGridType()||!this.options.viewConfig.getConfigGridType()){return}var newEntityKind=_.str.trim(_this.options.entityConfig.getParameterValue("kind"));var newViewKind=_.str.trim(_this.options.viewConfig.getParameterValue("kind"));var entityKindHasChanged=_this._cachedEntityKind!==newEntityKind;var viewKindHasChanged=_this._cachedViewKind!==newViewKind;if(entityKindHasChanged||viewKindHasChanged){_this._cachedEntityKind=newEntityKind;_this._cachedViewKind=newViewKind;if(_this.cachedViewMaster){_this.stopListening(_this.cachedViewMaster)}_this._cachedEntityMaster=App.RepresentationModule.getMasterForConfig(_this.options.entityConfig);_this._cachedViewMaster=App.RepresentationModule.getMasterForConfig(_this.options.viewConfig);_this.$content.empty();_this.listenTo(_this._cachedViewMaster,"change:auxiliaryResourcesStatus",_this._debouncedRenderIfParentConfigGridIsVisible)}if(entityKindHasChanged){if(_this.dynamicDerivedConfigDataForEntity){_this.stopListening(_this.dynamicDerivedConfigDataForEntity)}_this.dynamicDerivedConfigDataForEntity=App.dynamicDerivedConfigDataProvider.get(_this.options.entityConfig);_this.listenTo(_this.dynamicDerivedConfigDataForEntity,"change",_this._debouncedRenderIfParentConfigGridIsVisible)}if(viewKindHasChanged){if(_this.dynamicDerivedConfigDataForView){_this.stopListening(_this.dynamicDerivedConfigDataForView)}_this.dynamicDerivedConfigDataForView=App.dynamicDerivedConfigDataProvider.get(_this.options.viewConfig);_this.listenTo(_this.dynamicDerivedConfigDataForView,"change",_this._debouncedRenderIfParentConfigGridIsVisible)}if(entityKindHasChanged||viewKindHasChanged){var dynamicDataTypes=["Base","Overlay","Temp"];for(var i=0;i<3;i++){var propertyName="dynamicDerivedVisInstanceDataFor"+dynamicDataTypes[i];var generatorFunctionName="generateDynamicDerivedVisInstanceDataFor"+dynamicDataTypes[i];if(_this[propertyName]){_this.stopListening(_this[propertyName]);_this[propertyName].destroy()}_this[propertyName]=_this._cachedEntityMaster[generatorFunctionName](_this);_this.listenTo(_this[propertyName],"change",_this._debouncedRenderIfParentConfigGridIsVisible)}}_this._cachedViewMaster.renderVisInstance(_this,deep,instant)},cancelPointerHighlights:function(){var _this=this;if(_this._cachedViewMaster){_this._cachedViewMaster.cancelVisInstancePointerHighlights(_this)}}})},Logger); +"use strict";(function($){$.widget("cgpma.textfield",{options:{value:"",baseValue:"",autocompleteMaxItemCount:15,autocompleteSort:false,autocompleteSuggestions:null,autocompleteIsAdvisory:false,autocompleteCSSClasses:""},isFocused:function(){var widget=this;return widget.$input.is(":focus")},focus:function(){var widget=this;return widget.$input.focus()},getTextRange:function(){var widget=this;return widget.$input.textrange()},setTextRange:function(textRange){var widget=this;if(textRange.start!=textRange.end){return widget.$input.textrange("set",textRange.start,textRange.end)}return widget.$input.textrange("setcursor",textRange.position)},_create:function(){var widget=this;widget.$element=this.element;widget.$input=$.bem.generateElement("input","cgpma","textfield-input");widget.$input.appendTo(widget.$element);widget.$input.data("widget",widget);widget._applyAutocompleteSuggestions();widget.$input.bind("input",widget.__handleInputChange);widget.$input.bind("keydown",widget.__handleInputKeyDown);widget.$input.bind("keyup",widget.__handleInputKeyUp);widget.$input.bind("click",widget.__handleInputClick)},_applyAutocompleteSuggestions:function(){var widget=this;if(widget.$input.data("ui-autocomplete")){widget.$input.autocomplete("destroy")}var autocompleteSuggestions=widget.options.autocompleteSuggestions;if(!autocompleteSuggestions){return;delete widget._invertedAutocompleteSuggestions}widget._invertedAutocompleteSuggestions=_.invert(autocompleteSuggestions);widget.$input.autocomplete({delay:0,minLength:0,source:$.proxy(widget,"_autocompleteSource")});widget.$input.autocomplete("widget").addClass(widget.options.autocompleteCSSClasses);widget._on(widget.$input,{autocompleteselect:widget.__handleInputChange,autocompleteopen:widget.__handleAutocompleteOpen,autocompleteclose:widget.__handleAutocompleteClose})},_autocompleteSource:function(request,response){var widget=this;var matcher=new RegExp($.ui.autocomplete.escapeRegex(_.str.trim(request.term)),"i");var responseItems=[];_.each(widget.options.autocompleteSuggestions,function(kindName,kind){if(widget.options.autocompleteAlwaysFull||!request.term||matcher.test(kindName)){responseItems.push({label:kindName,value:kindName})}});if(responseItems.length==1&&responseItems[0].label===request.term){responseItems=[]}if(responseItems.length>widget.options.autocompleteMaxItemCount){responseItems=responseItems.slice(0,widget.options.autocompleteMaxItemCount)}if(widget.options.autocompleteSort){responseItems=_.sortBy(responseItems,"label")}response(responseItems)},_createShowAllButton:function(){return;var input=this.input,wasOpen=false;$("").attr("tabIndex",-1).attr("title","Show All Items").tooltip().appendTo(this.wrapper).button({icons:{primary:"ui-icon-triangle-1-s"},text:false}).removeClass("ui-corner-all").addClass("custom-combobox-toggle ui-corner-right").mousedown(function(){wasOpen=input.autocomplete("widget").is(":visible")}).click(function(){input.focus();if(wasOpen){return}input.autocomplete("search","")})},_isAutocompleteVisible:function(){var widget=this;if(widget.$input.data("ui-autocomplete")){return widget.$input.autocomplete("widget").is(":visible")}else{return false}},_destroy:function(){this.$input.removeData()},_setOption:function(key,value){var widget=this;if(!widget.options.hasOwnProperty(key)){throw"Option "+key+" does not exist"}if(value===widget.options[key]||_.isArray(value)&&_.isEqual(value,widget.options[key])){return}var prev=widget.options[key];this._super(key,value);switch(key){case"value":this._applyValue();break;case"baseValue":this._updateStatus();break;case"autocompleteSuggestions":this._applyAutocompleteSuggestions();break}widget._trigger("change"+key.toLowerCase(),null,{newValue:value,prevValue:prev})},_realValueToInputValue:function(realValue){var widget=this;var value=realValue;var valueInOptionsIsString=_.isString(value);var trimmedValueInOptions=valueInOptionsIsString?_.str.trim(value):value;var trimmedCharsOnLeft=valueInOptionsIsString?value.indexOf(trimmedValueInOptions):null;var trimmedCharsOnRight=valueInOptionsIsString?value.length-trimmedValueInOptions.length-trimmedCharsOnLeft:null;if(valueInOptionsIsString&&widget.options.autocompleteSuggestions&&widget.options.autocompleteSuggestions[trimmedValueInOptions]!==undefined){value=value.substring(0,trimmedCharsOnLeft)+widget.options.autocompleteSuggestions[trimmedValueInOptions]+value.substring(value.length-trimmedCharsOnRight)}if(valueInOptionsIsString&&value.length>=4&&value.substring(0,2)=="__"&&value.substring(value.length-2)=="__"){value=value.substring(2,value.length-2)}return value},_inputValueToRealValue:function(inputValue){var widget=this;var value=inputValue;var trimmedValueInInput=_.str.trim(value);var trimmedCharsOnLeft=value.indexOf(trimmedValueInInput);var trimmedCharsOnRight=value.length-trimmedValueInInput.length-trimmedCharsOnLeft;if(widget.options.autocompleteSuggestions&&widget.options.autocompleteSuggestions[trimmedValueInInput]&&widget.options.autocompleteSuggestions[trimmedValueInInput]!==trimmedValueInInput){value="__"+value+"__"}if(widget._invertedAutocompleteSuggestions&&widget._invertedAutocompleteSuggestions[trimmedValueInInput]!==undefined){value=value.substring(0,trimmedCharsOnLeft)+widget._invertedAutocompleteSuggestions[trimmedValueInInput]+value.substring(value.length-trimmedCharsOnRight)}return value},_applyValue:function(){var widget=this;var inputValue=widget._realValueToInputValue(widget.options.value);if(inputValue!==widget.$input.val()&&!widget._doNotUpdateInputOnValueChange){widget.$input.val(inputValue)}widget._updateStatus()},_updateStatus:function(){var widget=this;widget.$element.toggleClass("cgpma__textfield_status_modified",widget.options.baseValue!==widget.options.value)},__handleInputChange:function(){var $input=null;if(this.element){$input=this.$input}else{$input=$(this)}var widget=$input.data("widget");var valueInInput=$input.val();if(arguments[1]&&arguments[1].item){valueInInput=arguments[1].item.value}var realValue=widget._inputValueToRealValue(valueInInput);widget._setOption("value",realValue)},__handleInputKeyDown:function(event){var $this=$(this);var widget=$this.data("widget");if(event.keyCode==13){}if(event.keyCode==38||event.keyCode==40){if(widget.$input.data("ui-autocomplete")){if(!widget._isAutocompleteVisible()){widget.$input.autocomplete("search","")}else{widget._doNotUpdateInputOnValueChange=true;widget._setOption("value",widget._inputValueToRealValue(widget.$input.val()));delete widget._doNotUpdateInputOnValueChange}}}},__handleInputKeyUp:function(event){var $this=$(this);var widget=$this.data("widget");if(event.keyCode==13){if(widget._lastInputChangeWasCausedByAutocomplete){widget._lastInputChangeWasCausedByAutocomplete=false}else{widget._trigger("apply");if(widget.$input.data("ui-autocomplete")){widget.$input.autocomplete("close")}}}if(event.keyCode==27){if(!widget._isAutocompleteVisible()){widget._trigger("discard")}event.preventDefault()}},__handleAutocompleteOpen:function(event){var widget=this;widget.$element.addClass("cgpma__textfield_autocomplete-is-open")},__handleAutocompleteClose:function(event){var widget=this;widget.$element.removeClass("cgpma__textfield_autocomplete-is-open")},__handleInputClick:function(){var $this=$(this);var widget=$this.data("widget");if(widget.$input.data("ui-autocomplete")){widget.$input.autocomplete("search","")}}})})(jQuery); +"use strict";(function($){$.widget("cgpma.tickbox",{options:{value:null,baseValue:null},_create:function(){var widget=this;widget.$element=this.element;widget.$element.disableSelection();widget.$tick=$.bem.generateElement("cgpma","tickbox-tick");widget.$tick.appendTo(widget.$element);widget.$element.data("widget",widget);widget.$element.bind("click",widget.__handleTickClick)},_destroy:function(){this.$element.removeData()},_setOption:function(key,value){var widget=this;if(!widget.options.hasOwnProperty(key)){throw"Option "+key+" does not exist"}if(value===widget.options[key]||_.isArray(value)&&_.isEqual(value,widget.options[key])){return}var prev=widget.options[key];widget._super(key,value);switch(key){case"value":widget._applyValue();break;case"baseValue":widget._updateStatus();break}widget._trigger("change"+key.toLowerCase(),null,{newValue:value,prevValue:prev})},_applyValue:function(){var widget=this;widget.$element.toggleClass("cgpma__tickbox_ticked",!!widget.options.value);widget._updateStatus()},_updateStatus:function(){var widget=this;widget.$element.toggleClass("cgpma__tickbox_status_modified",!!widget.options.baseValue!=!!widget.options.value)},__handleTickClick:function(){var $this=$(this);var widget=$this.data("widget");var newValue=widget.options.value?"":"1";if(newValue==""&&$this.hasClass("cgpma__tickbox_type_radio")){return}widget._setOption("value",newValue)}})})(jQuery); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.logger=Logger.get("RepresentationModule")})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.Error=Marionette.Object.extend({defaults:{type:"unknown"},knownErrorTypes:{drawing:{needToEmptyContent:true},view_default:{needToEmptyContent:true},view_unknown:{needToEmptyContent:true},"data-preparing_entity-derived":{needToEmptyContent:false},"data-preparing_base":{needToEmptyContent:false},"data-preparing_overlay":{needToEmptyContent:false},"api-error_entity-derived":{needToEmptyContent:true},"api-error_base":{needToEmptyContent:true},"api-error_overlay":{needToEmptyContent:true},"api-message_progress_base":{needToEmptyContent:true},"data-error_entity-config":{needToEmptyContent:true},"data-error_view-config":{needToEmptyContent:true},"data-error_entity-derived":{needToEmptyContent:true},"data-error_base":{needToEmptyContent:true},"data-error_overlay":{needToEmptyContent:true},collection_undefined:{needToEmptyContent:true},"collection_no-recordings":{needToEmptyContent:true},pair_incomplete:{needToEmptyContent:true},"comparison_not-supported":{needToEmptyContent:true},"comparison_wrong-type":{needToEmptyContent:true},recording_undefined:{needToEmptyContent:true},"ok-count-0":{needToEmptyContent:true},"auxiliary-resources_pending":{needToEmptyContent:false},"auxiliary-resources_fail":{needToEmptyContent:true},unknown:{needToEmptyContent:true}},initialize:function(options){this.options=_.defaults(options,this.defaults)},needToEmptyContent:function(){return this.knownErrorTypes[this.options.type].needToEmptyContent}});RepresentationModule.Error.protot})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.DynamicDerivedConfigData=App.DataModule.ModelWithHashableAttributes.extend({})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){var logger=null;RepresentationModule.addInitializer(function(){logger=Logger.get("App.RepresentationModule");RepresentationModule.DynanicDerivedConfigDataProvider=Marionette.Object.extend({initialize:function(){this._dynamicDerivedConfigDataByConfigClientId={};this._kindByConfigClientId={}},get:function(config){if(!config){return null}var configClientId=config.getClientId();var configKind=config.getParameterValue("kind");if(this._kindByConfigClientId[configClientId]!==configKind){this.retire(configClientId);this._kindByConfigClientId[configClientId]=configKind}if(!this._dynamicDerivedConfigDataByConfigClientId[configClientId]){var master=App.RepresentationModule.getMasterForConfig(config);var configGrid=this.options.configGridsByType[config.getConfigGridType()];this._dynamicDerivedConfigDataByConfigClientId[configClientId]=master.generateDynamicDerivedConfigData(config,configGrid)}return this._dynamicDerivedConfigDataByConfigClientId[configClientId]},retire:function(configClientId){var dynamicDerivedDataToRetire=this._dynamicDerivedConfigDataByConfigClientId[configClientId];if(dynamicDerivedDataToRetire){dynamicDerivedDataToRetire.destroy()}delete this._dynamicDerivedConfigDataByConfigClientId[configClientId];delete this._kindByConfigClientId[configClientId]}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.DynamicDerivedVisInstanceData=App.DataModule.ModelWithHashableAttributes.extend({})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.MasterPrototypes={};RepresentationModule.masters={};RepresentationModule.registerMaster=function(masterDefinition){var MasterPrototype;var inheritId=masterDefinition.inherit?masterDefinition.inherit:"";var id=masterDefinition.id;if(!id){throw _.str.sprintf("Master definition does not contain an id")}var masterWithThisId=null;try{masterWithThisId=RepresentationModule.getMasterById(id)}catch(e){}if(masterWithThisId){throw _.str.sprintf('Master with id "%s" already exists',id)}var prototypeOptions={};var prototypeDefaultConfigParameterValues={};if(!inheritId){MasterPrototype=Marionette.Object}else{try{MasterPrototype=RepresentationModule.getMasterPrototypeById(inheritId);var parentMaster=RepresentationModule.getMasterById(inheritId);prototypeOptions=parentMaster.options;prototypeDefaultConfigParameterValues=parentMaster.defaultConfigParameterValues}catch(e){throw _.str.sprintf('Master with id "%s" could not be inherited from master with id "%s" (it does not exist)',id,inheritId)}}var combinedOptions=masterDefinition.options?_.defaults({},masterDefinition.options,prototypeOptions):_.clone(prototypeOptions);for(var key in masterDefinition.options){if(masterDefinition.options.hasOwnProperty(key)&&masterDefinition.options[key]===undefined){delete combinedOptions[key]}}masterDefinition.options=combinedOptions;var combinedDefaultConfigParameterValues=masterDefinition.defaultConfigParameterValues?_.defaults({},masterDefinition.defaultConfigParameterValues,prototypeDefaultConfigParameterValues):_.clone(prototypeDefaultConfigParameterValues);for(var key in masterDefinition.defaultConfigParameterValues){if(masterDefinition.defaultConfigParameterValues.hasOwnProperty(key)&&masterDefinition.defaultConfigParameterValues[key]===undefined){delete combinedDefaultConfigParameterValues[key]}}masterDefinition.defaultConfigParameterValues=combinedDefaultConfigParameterValues;var Master=MasterPrototype.extend(masterDefinition);RepresentationModule.MasterPrototypes[id]=Master;RepresentationModule.masters[id]=new Master};RepresentationModule.getMasterPrototypeById=function(id){var MasterPrototype=RepresentationModule.MasterPrototypes[id];if(!MasterPrototype){throw _.str.sprintf('MasterPrototype with id "%s" not found.',id)}return MasterPrototype};RepresentationModule.getMasterById=function(id){var master=RepresentationModule.masters[id];if(!master){throw _.str.sprintf('Master with id "%s" not found.',id)}return master};RepresentationModule.getMasterForConfig=function(config,lookAtPlanned){var dimension=config.getDimension();var configGridType=config.getConfigGridType();var configKind=lookAtPlanned?config.getPlannedParameterValue("kind"):config.getParameterValue("kind");configKind=_.str.trim(configKind);if(!configKind){configKind="default"}var id=[dimension,configGridType,configKind].join(".");var master=RepresentationModule.masters[id];if(!master){try{master=RepresentationModule.getMasterById([dimension,"_unknown"].join("."))}catch(e){throw _.str.sprintf('Master for config "%s" not found (master with id "%s" does not exist).',JSON.stringify(config.serialize()),id)}}return master}})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"_",options:{},defaultConfigParameterValues:{kind:""},initialize:function(){},generateDynamicDerivedConfigData:function(config,configGrid){return new RepresentationModule.DynamicDerivedConfigData},configGridParameterHasDefaultValue:function(config,parameterName){return this.getConfigParameterValueOrDefaultValue(config,parameterName)==this.defaultConfigParameterValues[parameterName]},getConfigParameterValueOrDefaultValue:function(config,parameterName,trimResult){var value=config.getParameterValue(parameterName);if(!_.isUndefined(value)){return trimResult&&_.isString(value)?_.str.trim(value):value}else{return this.defaultConfigParameterValues[parameterName]}},getConfigPlannedParameterValueOrDefaultValue:function(config,parameterName){var value=config.getPlannedParameterValue(parameterName);if(!_.isUndefined(value)){return value}else{return this.defaultConfigParameterValues[parameterName]}},getSupportedKind:function(){if(this._cachedSupportedKind===undefined){this._cachedSupportedKind=this.id.split(".")[2]}return this._cachedSupportedKind},planConfigParameterUpdateWithRespectToValueAndDefaultValue:function(config,parameterName,parameterValue){var defaultParameterValue=this.defaultConfigParameterValues[parameterName];var currentParameterValue=config.getParameterValue(parameterName);var plannedParameterValue=parameterValue;if(currentParameterValue===undefined&&plannedParameterValue===""+defaultParameterValue){config.cancelPlannedParameterUpdate(parameterName)}else{config.planParameterUpdate(parameterName,plannedParameterValue)}},extractCleanedConfigParameterValuesFromPlannedParameterValues:function(config){var result=config.getPlannedParameterValues();for(var key in result){if(result.hasOwnProperty(key)){if(this.defaultConfigParameterValues[key]===undefined){delete result[key]}}}for(var key in this.defaultConfigParameterValues){if(this.defaultConfigParameterValues.hasOwnProperty(key)){if(!result.hasOwnProperty(key)){result[key]=""+this.defaultConfigParameterValues[key]}}}return result},cleanConfigPlannedParameterValuesAndApplyThem:function(config){var newParameterValues=this.extractCleanedConfigParameterValuesFromPlannedParameterValues(config);config.unserialize({parameters:newParameterValues,plannedParameterUpdates:{},tempParameters:{}})},parseAutocompleteSuggestions:function(rawAutocompleteSuggestions){if(!_.isString(rawAutocompleteSuggestions)||!rawAutocompleteSuggestions){return null}var rawAutocompleteAsArray=rawAutocompleteSuggestions.split(";");var result={};_.each(rawAutocompleteAsArray,function(item){var parts=item.split("|");if(parts.length==2){result[parts[0]]=parts[1]}else{result[parts[0]]=parts[0]}});return result},prepareConfigGridPanelMainArea:function(configGridPanelView){var $textfields=configGridPanelView._$mainArea.find(".cgpma__textfield");configGridPanelView._$mainArea.data("$textfields",$textfields);var master=this;$textfields.each(function(){var $textfield=$(this);if(!$textfield.data("cgpma-textfield")){$textfield.textfield({autocompleteSuggestions:master.parseAutocompleteSuggestions($textfield.data("autocomplete-suggestions")),autocompleteIsAdvisory:$textfield.data("autocomplete-is-advisory"),autocompleteSort:$textfield.data("autocomplete-sort"),autocompleteCSSClasses:"ui_config-grid-type_"+configGridPanelView._cachedConfigGridType})}else{$textfield.unbind("textfieldchangevalue");$textfield.unbind("textfieldapply");$textfield.unbind("textfielddiscard")}$textfield.data("configGridPanelView",configGridPanelView);$textfield.bind("textfieldchangevalue",master.__panelInputChangeValueHandler);$textfield.bind("textfieldapply",master.__panelInputApplyHandler);$textfield.bind("textfielddiscard",master.__panelInputDiscardHandler)});var $tickboxes=configGridPanelView._$mainArea.find(".cgpma__tickbox");configGridPanelView._$mainArea.data("$tickboxes",$tickboxes);$tickboxes.each(function(){var $tickbox=$(this);if(!$tickbox.data("cgpma-tickbox")){$tickbox.tickbox()}$tickbox.data("configGridPanelView",configGridPanelView);$tickbox.bind("tickboxchangevalue",master.__panelInputChangeValueHandler)});var $inputBlocks=configGridPanelView._$mainArea.find(".cgpma__input-block");configGridPanelView._$mainArea.data("$inputBlocks",$inputBlocks);$inputBlocks.each(function(){var $inputBlock=$(this);var inputBlockName=$inputBlock.data("name");if(!inputBlockName){var $firstElementWithParameterNameInsideInputBlock=$inputBlock.find("[data-parameter-name]").first();inputBlockName=$firstElementWithParameterNameInsideInputBlock.data("parameter-name")}configGridPanelView._$mainArea.data("$inputBlock_"+inputBlockName,$inputBlock)});var $allInputs=$tickboxes.add($textfields);configGridPanelView._$mainArea.data("$allInputs",$allInputs)},__panelInputChangeValueHandler:function(event){var $this=$(this);var parameterName=$this.data("parameter-name");if(!parameterName){return}var configGridPanelView=$this.data("configGridPanelView");var config=configGridPanelView._cachedConfig;var master=configGridPanelView._masterBehindMainArea;var value=undefined;if($this.data("cgpma-tickbox")){value=$this.tickbox("option","value")}else{value=$this.textfield("option","value")}master.planConfigParameterUpdateWithRespectToValueAndDefaultValue(config,parameterName,value)},__panelInputApplyHandler:function(){var $this=$(this);var configGridPanelView=$this.data("configGridPanelView");configGridPanelView._masterBehindMainArea.cleanConfigPlannedParameterValuesAndApplyThem(configGridPanelView._cachedConfig)},__panelInputDiscardHandler:function(){var $this=$(this);var configGridPanelView=$this.data("configGridPanelView");configGridPanelView._cachedConfig.cancelPlannedParameterUpdates()},syncConfigGridPanelMainArea:function(configGridPanelView,instant){var $inputs=configGridPanelView._$mainArea.data("$allInputs");if($inputs){var _this=this;$inputs.each(function(){var $input=$(this);var parameterName=$input.attr("data-parameter-name");if(parameterName){var widgetType="textfield";if($input.data("cgpma-tickbox")){widgetType="tickbox"}$input[widgetType]("option",{value:""+_this.getConfigPlannedParameterValueOrDefaultValue(configGridPanelView._cachedConfig,parameterName),baseValue:""+_this.getConfigParameterValueOrDefaultValue(configGridPanelView._cachedConfig,parameterName)})}})}},destroyConfigGridPanelMainArea:function(){},renderHeaderContent:function(headerView,instant){var newHashRelatedToOwnData=this._generateHeaderContentHashRelatedToOwnData(headerView);if(newHashRelatedToOwnData!==headerView._cachedContentHashRelatedToOwnData){this._doRenderHeaderContentRelatedToOwnData(headerView,instant);headerView._cachedContentHashRelatedToOwnData=newHashRelatedToOwnData}var newHash=this._generateHeaderContentHashRelatedToGridLayout(headerView);if(newHash!==headerView._cachedContentHashRelatedToGridLayout){this._doRenderHeaderContentRelatedToGridLayout(headerView,instant);headerView._cachedContentHashRelatedToGridLayout=newHash}},_renderHeaderContentRelatedToGridLayout:function(headerView,instant){},_generateHeaderContentHashRelatedToOwnData:function(headerView){return headerView.options.config.getHashForParameters()+(headerView.options.config.hasPlannedParameterUpdates()?"1":"0")+headerView.dynamicDerivedConfigData.getHash()},_generateHeaderContentHashRelatedToGridLayout:function(headerView){}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"entity._",inherit:"_",_generateCollectionConfigTitle:function(config){var rawConfigParameters=config.attributes.parameters.attributes;var labelParts=[];if(rawConfigParameters.library){if(rawConfigParameters.genre){labelParts.push(rawConfigParameters.genre)}if(rawConfigParameters.collection){if(!rawConfigParameters.place){labelParts.push("recordings")}labelParts.push(" in ‘",rawConfigParameters.collection,"’ collection")}if(rawConfigParameters.genre&&(rawConfigParameters.title||rawConfigParameters.composer)){labelParts.push(" / ")}if(rawConfigParameters.composer){labelParts.push(rawConfigParameters.composer)}if(rawConfigParameters.title&&rawConfigParameters.composer){labelParts.push(" – ")}if(rawConfigParameters.title){labelParts.push(rawConfigParameters.title)}if(rawConfigParameters.year){labelParts.push(" (",rawConfigParameters.year,")")}if(rawConfigParameters.place){labelParts.push(" from ",rawConfigParameters.place)}if(labelParts.length){labelParts.unshift(": ")}if(!RepresentationModule.getMasterById("entity._")._cachedLibraryLabelsByLibraryId){var cachedLibraryLabelsByLibraryId={};var $panelContents=$(Marionette.TemplateCache.get("#cgpma_collection_entity_default")());var $tickboxes=$panelContents.find(".cgpma__tickbox");$tickboxes.each(function(){var $tickbox=$(this);var id=$tickbox.getMod("cgpma_","id");cachedLibraryLabelsByLibraryId[id]=$tickbox.text()});RepresentationModule.getMasterById("entity._")._cachedLibraryLabelsByLibraryId=cachedLibraryLabelsByLibraryId}var libraries=rawConfigParameters.library.toLowerCase().split(";");var libraryLabels=[];for(var i=0;i'+this._generateHeaderLabel1(entityHeaderView)+"");entityHeaderView._$label2.html("being modified")}else{entityHeaderView._$label1.html(this._generateHeaderLabel1(entityHeaderView));entityHeaderView._$label2.html(this._generateHeaderLabel2(entityHeaderView))}},_generateHeaderLabel1:function(entityHeaderView){return""},_generateHeaderLabel2:function(entityHeaderView){return""},__coverTapActionThatUpdatesDynamicDerivedData:function(){var $cover=$(this);var visInstanceView=$cover.data("visInstanceView");var derivedDataToUpdate=$cover.data("attachedError").options.derivedDataToUpdate;switch(derivedDataToUpdate){case"entity":visInstanceView.dynamicDerivedConfigDataForEntity.update();break;case"view":visInstanceView.dynamicDerivedConfigDataForView.update();break;case"base":visInstanceView.dynamicDerivedVisInstanceDataForBase.update();break;case"overlay":visInstanceView.dynamicDerivedVisInstanceDataForOverlay.update();break;case"temp":visInstanceView.dynamicDerivedVisInstanceDataForTemp.update();break;default:throw _.str.sprintf("__coverTapActionThatUpdatesDynamicDerivedData cannot be called for derivedDataToUpdate = %s",derivedDataToUpdate)}},_verifyThatViewIsNotEmptyOrUnknown:function(visInstanceView){if(!visInstanceView._cachedViewMaster.options.canHaveBase){if(visInstanceView._cachedViewMaster.id=="view._unknown"){throw new RepresentationModule.Error({type:"view_unknown"})}if(visInstanceView._cachedViewMaster.inherit=="view._default"){throw new RepresentationModule.Error({type:"view_default"})}else throw"Unknown view master without base "+visInstanceView._cachedViewMaster.id}},verifyAllDataForVisInstanceBase:function(visInstanceView){},generateDynamicDerivedVisInstanceDataForBase:function(visInstanceView){return new RepresentationModule.DynamicDerivedVisInstanceData},verifyAllDataForVisInstanceOverlay:function(visInstanceView){},generateDynamicDerivedVisInstanceDataForOverlay:function(visInstanceView){if(visInstanceView._cachedViewMaster.generateDynamicDerivedVisInstanceDataForOverlay){return visInstanceView._cachedViewMaster.generateDynamicDerivedVisInstanceDataForOverlay(visInstanceView)}else{return new RepresentationModule.DynamicDerivedVisInstanceData}},verifyAllDataForVisInstanceTemp:function(visInstanceView){},generateDynamicDerivedVisInstanceDataForTemp:function(visInstanceView){return new RepresentationModule.DynamicDerivedVisInstanceData}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"entity._default",inherit:"entity._",_mapDerivedVisInstanceDataAttributesToDebugAPIQueryBoxes:function(viewMaster){if(viewMaster.options.overlayPerspectiveId){return[["top","base","apiRequestURI","apiResponse"],["bottom","overlay","apiRequestURI","apiResponse"]]}else{return[["everywhere","base","apiRequestURI","apiResponse"]]}}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"entity._pair",inherit:"entity._",defaultConfigParameterValues:{comparisonMode:"superposition"},prepareConfigGridPanelMainArea:function(configGridPanelView){var $comparisonModeTickBoxes=configGridPanelView._$mainArea.find("[data-comparison-mode]");configGridPanelView._$mainArea.data("$tickboxes_comparisonMode",$comparisonModeTickBoxes);$comparisonModeTickBoxes.each(function(){var $tickbox=$(this);var comparisonMode=$tickbox.data("comparison-mode");configGridPanelView._$mainArea.data("$tickbox_comparison-mode_"+comparisonMode,$tickbox)});RepresentationModule.getMasterById("entity._").prepareConfigGridPanelMainArea.apply(this,arguments)},__panelInputChangeValueHandler:function(event){if(event.type=="tickboxchangevalue"){var $thickbox=$(event.target);var comparisonMode=$thickbox.data("comparisonMode");if(comparisonMode){var configGridPanelView=$thickbox.data("configGridPanelView");if(!configGridPanelView._$mainArea.data("ignoreChangesInComparisonModeTickboxes")){var master=$thickbox.data("configGridPanelView")._masterBehindMainArea;master.planConfigParameterUpdateWithRespectToValueAndDefaultValue(configGridPanelView._cachedConfig,"comparisonMode",comparisonMode)}return}}RepresentationModule.getMasterById("entity._").__panelInputChangeValueHandler.apply(this,arguments)},syncConfigGridPanelMainArea:function(configGridPanelView,instant){var comparisonMode=this.getConfigParameterValueOrDefaultValue(configGridPanelView._cachedConfig,"comparisonMode").toLowerCase();var plannedComparisonMode=this.getConfigPlannedParameterValueOrDefaultValue(configGridPanelView._cachedConfig,"comparisonMode").toLowerCase();var comparisonModeHash=comparisonMode+plannedComparisonMode;if(configGridPanelView._$mainArea.data("comparisonModeHash")!=comparisonModeHash){configGridPanelView._$mainArea.data("comparisonModeHash",comparisonModeHash);configGridPanelView._$mainArea.data("ignoreChangesInComparisonModeTickboxes",true);configGridPanelView._$mainArea.data("$tickboxes_comparisonMode").each(function(){var $tickbox=$(this);var value=plannedComparisonMode==$tickbox.data("comparison-mode")?"1":"";var baseValue=comparisonMode!==plannedComparisonMode?value?"":"1":value?"1":"";$tickbox.tickbox("option",{value:value,baseValue:baseValue})});configGridPanelView._$mainArea.removeData("ignoreChangesInComparisonModeTickboxes")}RepresentationModule.getMasterById("entity._").syncConfigGridPanelMainArea.apply(this,arguments)},_mapDerivedVisInstanceDataAttributesToDebugAPIQueryBoxes:function(viewMaster){if(viewMaster.options.visInstanceSupportedComparisonModes.length){return[["left","base","apiRequestURIOnTheLeft","apiResponseOnTheLeft"],["right","base","apiRequestURIOnTheRight","apiResponseOnTheRight"]]}else{return[]}}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"entity.collection.default",inherit:"entity._default",defaultConfigParameterValues:{library:"",year:"",genre:"",composer:"",performer:"",title:"",place:"",collection:""},options:{availableLibraries:["bl","charm","ilm","mazurka"],librarySeparator:";",librarySeparatorAlternatives:/\,/g,presenceOfParameters:{title:["bl","charm","ilm","mazurka"],year:["bl","charm","mazurka"],composer:["bl","charm","mazurka"],performer:["bl","charm","mazurka"],collection:["bl"],genre:["ilm"],place:["bl"]}},extractCleanedConfigParameterValuesFromPlannedParameterValues:function(config){var result=RepresentationModule.getMasterById("entity._default").extractCleanedConfigParameterValuesFromPlannedParameterValues.apply(this,arguments);var presentParameterNames=_.keys(this._getPresentParameterNamesForLibrary(result.library));for(var parameterName in result){if(result.hasOwnProperty(parameterName)&¶meterName!=="library"){if(presentParameterNames.indexOf(parameterName)==-1){delete result[parameterName]}}}return result},_parseLibraryStringToArray:function(library){var fixedLibrary=_.str.trim(library).replace(this.options.librarySeparatorAlternatives,this.options.librarySeparator).toLowerCase();if(!fixedLibrary.length){return[]}else{return _.map(fixedLibrary.split(this.options.librarySeparator),function(v){return _.str.trim(v)})}},_parseLibraryStringToObject:function(library){var result={};var libraryAsArray=this._parseLibraryStringToArray(library);for(var i=0;i=0;--i){var availableLibrary=this.options.availableLibraries[i];var $tickbox=configGridPanelView._$mainArea.find(".cgpma__id_"+availableLibrary);configGridPanelView._$mainArea.data("$tickbox_library_"+availableLibrary,$tickbox);$tickbox.data("libraryId",availableLibrary)}RepresentationModule.getMasterById("entity._default").prepareConfigGridPanelMainArea.apply(this,arguments)},__panelInputChangeValueHandler:function(event){if(event.type=="tickboxchangevalue"){var $thickbox=$(event.target);var libraryId=$thickbox.data("libraryId");if(libraryId){var configGridPanelView=$thickbox.data("configGridPanelView");var $mainArea=configGridPanelView._$mainArea;var master=$thickbox.data("configGridPanelView")._masterBehindMainArea;if(!$mainArea.data("ignoreChangesInLibraryTickboxes")){var plannedLibraries=[];for(var i=0;i=0;--i){var availableLibrary=this.options.availableLibraries[i];var $tickbox=configGridPanelView._$mainArea.data("$tickbox_library_"+availableLibrary);var value=plannedLibraryAsObject[availableLibrary]!==undefined?"1":"";var baseValue=library!==plannedLibrary?value?"":"1":value?"1":"";$tickbox.tickbox("option",{value:value,baseValue:baseValue})}configGridPanelView._$mainArea.removeData("ignoreChangesInLibraryTickboxes");var presentParameterNames=_.keys(this._getPresentParameterNamesForLibrary(plannedLibrary));var absentParameterNames=_.difference(_.keys(this.options.presenceOfParameters),presentParameterNames);for(var i=0;i=0;--i){var shortcuts=arrayOfShortcuts[i];var oldAttributeValue=this.attributes[shortcuts[1]];var newAttributeValue=shortcuts[0];if(newAttributeValue!=oldAttributeValue){attributesToSet[shortcuts[1]]=newAttributeValue;if(oldAttributeValue){this.stopListening(oldAttributeValue,shortcuts[2])}if(newAttributeValue){this.listenTo(newAttributeValue,shortcuts[2],shortcuts[3])}}}this.set(attributesToSet)},__triggerChangeMethodOfDynamicDerivedConfigData:function(){this.dropCachedHash();this.trigger("change")},generateDynamicDerivedConfigData:function(entityConfig,configGrid){var optionsOfThisDynamicDerivedConfigData=_.clone(this.__optionsOfDynamicDerivedConfigData);optionsOfThisDynamicDerivedConfigData.entityConfig=entityConfig;optionsOfThisDynamicDerivedConfigData.configGrid=configGrid;var dynamicDerivedConfigData=new RepresentationModule.DynamicDerivedConfigData({collectionConfigOnTheLeft:null,collectionConfigOnTheRight:null,dynamicDefinitionForCollectionOnTheLeft:null,dynamicDefinitionForCollectionOnTheRight:null},optionsOfThisDynamicDerivedConfigData);dynamicDerivedConfigData.update=this.__updateMethodOfDynamicDerivedConfigData;dynamicDerivedConfigData._doUpdate=this.__doUpdateMethodOfDynamicDerivedConfigData;dynamicDerivedConfigData.triggerChange=this.__triggerChangeMethodOfDynamicDerivedConfigData;dynamicDerivedConfigData.listenTo(configGrid,"change_layout",dynamicDerivedConfigData.update);dynamicDerivedConfigData.update();return dynamicDerivedConfigData},__optionsOfDynamicDerivedVisInstanceDataForBase:{attributesToExcludeFromHash:["apiResponseOnTheLeft","apiResponseOnTheRight"],customHashSuffixGenerator:function(attributes){if(attributes.apiResponseOnTheLeft){return JSON.stringify(attributes.apiResponseOnTheLeft.errors)}else{return typeof attributes.apiResponseOnTheLeft}if(attributes.apiResponseOnTheRight){return JSON.stringify(attributes.apiResponseOnTheRight.errors)}else{return typeof attributes.apiResponseOnTheRight}}},__upateMethodOfDynamicDerivedVisInstanceDataForBase:function(force){var visInstanceView=this.options.visInstanceView;var _this=this;_.each(["Right","Left"],function(side){var dynamicDefinitionForCollection=visInstanceView.dynamicDerivedConfigDataForEntity.attributes["dynamicDefinitionForCollectionOnThe"+side];if(!dynamicDefinitionForCollection){return}var collectionId=dynamicDefinitionForCollection.attributes.id;var requestParams=_.clone(visInstanceView.dynamicDerivedConfigDataForView.attributes.basePerspectiveRequestParams);if(!requestParams||!collectionId){var attrs={};attrs["apiRequestURIOnThe"+side]=undefined;attrs["apiRequestParamsHashOnThe"+side]=undefined;attrs["apiResponseOnThe"+side]=undefined;_this.set(attrs);return}requestParams.cid=collectionId;var apiRequestParamsHash=JSON.stringify(requestParams);if(!force&&apiRequestParamsHash==_this.attributes["apiRequestParamsHashOnThe"+side]){return}var apiRequestURI=App.DataModule.CliopatriaAPI.request("getCollectionPerspective",requestParams,function(data){if(JSON.stringify(requestParams)!=_this.attributes["apiRequestParamsHashOnThe"+side]){return}var attrs={};attrs["apiRequestParamsHashOnThe"+side]=undefined;attrs["apiResponseOnThe"+side]=data;_this.set(attrs)});var attrs={};attrs["apiRequestURIOnThe"+side]=apiRequestURI;attrs["apiRequestParamsHashOnThe"+side]=apiRequestParamsHash;attrs["apiResponseOnThe"+side]=null;_this.set(attrs)})},generateDynamicDerivedVisInstanceDataForBase:function(visInstanceView){var viewMaster=visInstanceView._cachedViewMaster;if(!viewMaster.options.visInstanceSupportedComparisonModes.length){return new RepresentationModule.DynamicDerivedVisInstanceData({})}var optionsForThisDynamicDerivedVisInstanceDataForBase=_.clone(this.__optionsOfDynamicDerivedVisInstanceDataForBase);optionsForThisDynamicDerivedVisInstanceDataForBase.visInstanceView=visInstanceView;var dynamicDerivedVisInstanceDataForBase=new RepresentationModule.DynamicDerivedVisInstanceData({apiRequestURIOnTheLeft:undefined,apiRequestParamsHashOnTheLeft:undefined,apiResponseOnTheLeft:undefined,apiRequestURIOnTheRight:undefined,apiRequestParamsHashOnTheRight:undefined,apiResponseOnTheRight:undefined},optionsForThisDynamicDerivedVisInstanceDataForBase);dynamicDerivedVisInstanceDataForBase.update=this.__upateMethodOfDynamicDerivedVisInstanceDataForBase;dynamicDerivedVisInstanceDataForBase.listenTo(visInstanceView.dynamicDerivedConfigDataForEntity,"change",dynamicDerivedVisInstanceDataForBase.update);dynamicDerivedVisInstanceDataForBase.listenTo(visInstanceView.dynamicDerivedConfigDataForView,"change:basePerspectiveRequestParams",dynamicDerivedVisInstanceDataForBase.update);dynamicDerivedVisInstanceDataForBase.update();return dynamicDerivedVisInstanceDataForBase},verifyAllDataForVisInstanceBase:function(visInstanceView){this._verifyThatViewIsNotEmptyOrUnknown(visInstanceView);var viewMaster=visInstanceView._cachedViewMaster;if(!viewMaster.options.canHaveBase){return}var supportedComparisonModes=viewMaster.options.visInstanceSupportedComparisonModes;if(!supportedComparisonModes.length){throw new RepresentationModule.Error({type:"comparison_not-supported"})}if(!_.contains(supportedComparisonModes,viewMaster._getVisInstanceViewComparisonMode(visInstanceView))){throw new RepresentationModule.Error({type:"comparison_wrong-type",supportedTypes:supportedComparisonModes})}var attributesOfDerivedConfigDataForEntityOnTheLeft=visInstanceView.dynamicDerivedConfigDataForEntity.attributes;var attributesOfDerivedConfigDataForEntityOnTheRight=visInstanceView.dynamicDerivedConfigDataForEntity.attributes;var dynamicDefinitionForCollectionOnTheLeft=attributesOfDerivedConfigDataForEntityOnTheLeft.dynamicDefinitionForCollectionOnTheLeft;var dynamicDefinitionForCollectionOnTheRight=attributesOfDerivedConfigDataForEntityOnTheRight.dynamicDefinitionForCollectionOnTheRight;var attributesOfCollectionOnTheLeft=dynamicDefinitionForCollectionOnTheLeft?dynamicDefinitionForCollectionOnTheLeft.attributes:{};var attributesOfCollectionOnTheRight=dynamicDefinitionForCollectionOnTheRight?dynamicDefinitionForCollectionOnTheRight.attributes:{};if(attributesOfCollectionOnTheLeft.id===null||attributesOfCollectionOnTheRight.id===null){throw new RepresentationModule.Error({type:"data-preparing_entity-derived"})}if(attributesOfCollectionOnTheLeft.id===false||attributesOfCollectionOnTheRight.id===false){var apiErrorsOnTheLeft=attributesOfCollectionOnTheLeft.errors||[];var apiErrorsOnTheRight=attributesOfCollectionOnTheRight.errors||[];apiErrors=apiErrorsOnTheLeft.concat(apiErrorsOnTheRight);throw new RepresentationModule.Error({type:"api-error_entity-derived",apiErrors:apiErrors,coverTapAction:this.__coverTapActionThatUpdatesDynamicDerivedData,derivedDataToUpdate:"entity"})}if(attributesOfCollectionOnTheLeft.id===""||attributesOfCollectionOnTheLeft.hasOwnProperty("id")&&attributesOfCollectionOnTheLeft.id===undefined||(attributesOfCollectionOnTheRight.id===""||attributesOfCollectionOnTheRight.hasOwnProperty("id")&&attributesOfCollectionOnTheRight.id===undefined)){throw new RepresentationModule.Error({type:"collection_no-recordings"})}if(attributesOfCollectionOnTheLeft.id===undefined||attributesOfCollectionOnTheRight.id===undefined){throw new RepresentationModule.Error({type:"pair_incomplete"})}var attribytesOfDerivedVisInstanceDataForBase=visInstanceView.dynamicDerivedVisInstanceDataForBase.attributes;if(!attribytesOfDerivedVisInstanceDataForBase.apiResponseOnTheLeft||!attribytesOfDerivedVisInstanceDataForBase.apiResponseOnTheRight){throw new RepresentationModule.Error({type:"data-preparing_base"})}if(attribytesOfDerivedVisInstanceDataForBase.apiResponseOnTheLeft.errors||attribytesOfDerivedVisInstanceDataForBase.apiResponseOnTheRight.errors){var apiErrorsOnTheLeft=attribytesOfDerivedVisInstanceDataForBase.apiResponseOnTheLeft.errors||[];var apiErrorsOnTheRight=attribytesOfDerivedVisInstanceDataForBase.apiResponseOnTheRight.errors||[];var apiErrors=apiErrorsOnTheLeft.concat(apiErrorsOnTheRight);if(apiErrors[0]){var error0=apiErrors[0];if((error0.code==11||error0.code==12)&&!apiErrors[1]||apiErrors[1]&&(apiErrors[1].code==11||apiErrors[1].code==12)){throw new RepresentationModule.Error({type:"api-message_progress_base",apiErrors:apiErrors,coverTapAction:this.__coverTapActionThatUpdatesDynamicDerivedData,derivedDataToUpdate:"base"})}else if(error0.code==20&&!apiErrors[1]||apiErrors[1]&&apiErrors[1].code==20){return}}throw new RepresentationModule.Error({type:"api-error_base",apiErrors:apiErrors,coverTapAction:this.__coverTapActionThatUpdatesDynamicDerivedData,derivedDataToUpdate:"base"})}}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"entity.recording.default",inherit:"entity._default",__domEventHandlerToPlayAudio:function(){var $this=$(this);App.play($this.data("uri"))},prepareConfigGridPanelMainArea:function(configGridPanelView){var $audioLink=configGridPanelView._$mainArea.find(".cgpma__pseudo-link_action_audio");configGridPanelView._$mainArea.data("$audioLink",$audioLink);$audioLink.click(this.__domEventHandlerToPlayAudio);var $affiliationAudio=configGridPanelView._$mainArea.find(".cgpma__element_affiliation_audio");var $affiliationNoAudio=configGridPanelView._$mainArea.find(".cgpma__element_affiliation_no-audio");configGridPanelView._$mainArea.data("$affiliationAudio",$affiliationAudio);configGridPanelView._$mainArea.data("$affiliationNoAudio",$affiliationNoAudio)},syncConfigGridPanelMainArea:function(configGridPanelView,instant){var recordingAttributes=configGridPanelView._cachedDynamicDerivedConfigData.attributes.dynamicDefinitionForRecording.attributes;if(!recordingAttributes.label){configGridPanelView._$mainArea.data("$affiliationAudio").hide();configGridPanelView._$mainArea.data("$affiliationNoAudio").hide()}else{if(recordingAttributes.audio){configGridPanelView._$mainArea.data("$affiliationAudio").show();configGridPanelView._$mainArea.data("$affiliationNoAudio").hide();configGridPanelView._$mainArea.data("$audioLink").data("uri",configGridPanelView._cachedConfig.getParameterValue("recordingURI"))}else{configGridPanelView._$mainArea.data("$affiliationAudio").hide();configGridPanelView._$mainArea.data("$affiliationNoAudio").show()}}},_generateHeaderLabel1:function(viewHeader){var rawConfigParameters=viewHeader.options.config.attributes.parameters.attributes;var attributesOfDefinitionForOverlayedRecording=viewHeader.dynamicDerivedConfigData.attributes.dynamicDefinitionForRecording.attributes;var labelParts=[];var recordingURI=rawConfigParameters.recordingURI;if(recordingURI){var label=attributesOfDefinitionForOverlayedRecording.label;if(_.isString(label)){labelParts.push(label)}else if(label===null){labelParts.push("updating label...")}else{labelParts.push("could not get recording label")}}else{labelParts.push("no recording selected")}return labelParts.join("")},_generateHeaderLabel2:function(viewHeader){var attributesOfDefinitionForOverlayedRecording=viewHeader.dynamicDerivedConfigData.attributes.dynamicDefinitionForRecording.attributes;var labelParts=[];if(attributesOfDefinitionForOverlayedRecording.composer&&attributesOfDefinitionForOverlayedRecording.composer.length){labelParts.push("composed by ",attributesOfDefinitionForOverlayedRecording.composer[0])}return labelParts.join("")},__upateMethodOfDynamicDerivedConfigData:function(){if(this.attributes.dynamicDefinitionForRecording.attributes.errors){this.attributes.dynamicDefinitionForRecording.update(true)}},generateDynamicDerivedConfigData:function(config,configGrid){var dynamicDefinitionForRecording=App.dynamicDefinitionProviderForRecordings.get(config);var dynamicDerivedConfigData=new RepresentationModule.DynamicDerivedConfigData({dynamicDefinitionForRecording:dynamicDefinitionForRecording});dynamicDerivedConfigData.listenTo(dynamicDefinitionForRecording,"change",function(){dynamicDerivedConfigData.trigger("change:dynamicDefinitionForRecording");dynamicDerivedConfigData.trigger("change")});dynamicDerivedConfigData.update=this.__upateMethodOfDynamicDerivedConfigData;return dynamicDerivedConfigData},__optionsOfDynamicDerivedVisInstanceDataForBase:{attributesToExcludeFromHash:["apiResponse"],customHashSuffixGenerator:function(attributes){if(attributes.apiResponse){return JSON.stringify(attributes.apiResponse.errors)}else{return typeof attributes.apiResponse}}},__upateMethodOfDynamicDerivedVisInstanceDataForBase:function(force){var visInstanceView=this.options.visInstanceView;var dynamicDefinitionForRecording=visInstanceView.dynamicDerivedConfigDataForEntity.attributes.dynamicDefinitionForRecording;var entityConfig=visInstanceView.options.entityConfig;if(!dynamicDefinitionForRecording){return}if(this.attributes.apiResponse!==null){var recordingLabel=dynamicDefinitionForRecording.attributes.label;if(recordingLabel===undefined){this.set({apiRequestURI:undefined,apiRequestParamsHash:undefined,apiResponse:undefined});return}var requestParams=_.clone(visInstanceView.dynamicDerivedConfigDataForView.attributes.basePerspectiveRequestParams);if(!requestParams){return}requestParams.uri=entityConfig.attributes.parameters.attributes.recordingURI;var apiRequestParamsHash=JSON.stringify(requestParams);if(!force&&apiRequestParamsHash==this.attributes.apiRequestParamsHash){return}var _this=this;var apiRequestURI=App.DataModule.CliopatriaAPI.request("getRecordingPerspective",requestParams,function(data){if(JSON.stringify(requestParams)!=_this.attributes.apiRequestParamsHash){return}_this.set({apiRequestParamsHash:undefined,apiResponse:data})});this.set({apiRequestURI:apiRequestURI,apiRequestParamsHash:apiRequestParamsHash,apiResponse:null})}},generateDynamicDerivedVisInstanceDataForBase:function(visInstanceView){var optionsOfThisDynamicDerivedVisInstanceDataForBase=_.clone(this.__optionsOfDynamicDerivedVisInstanceDataForBase);optionsOfThisDynamicDerivedVisInstanceDataForBase.visInstanceView=visInstanceView;var dynamicDerivedVisInstanceDataForBase=new RepresentationModule.DynamicDerivedVisInstanceData({apiRequestURI:undefined,apiRequestParamsHash:undefined,apiResponse:undefined},optionsOfThisDynamicDerivedVisInstanceDataForBase);dynamicDerivedVisInstanceDataForBase.update=this.__upateMethodOfDynamicDerivedVisInstanceDataForBase;dynamicDerivedVisInstanceDataForBase.listenTo(visInstanceView.dynamicDerivedConfigDataForEntity,"change:dynamicDefinitionForRecording",dynamicDerivedVisInstanceDataForBase.update);dynamicDerivedVisInstanceDataForBase.listenTo(visInstanceView.dynamicDerivedConfigDataForView,"change:basePerspectiveRequestParams",dynamicDerivedVisInstanceDataForBase.update);dynamicDerivedVisInstanceDataForBase.update();return dynamicDerivedVisInstanceDataForBase},verifyAllDataForVisInstanceBase:function(visInstanceView){this._verifyThatViewIsNotEmptyOrUnknown(visInstanceView);var attributesOfDerivedConfigDataForEntity=visInstanceView.dynamicDerivedConfigDataForEntity.attributes;var dynamicDefinitionForRecording=attributesOfDerivedConfigDataForEntity.dynamicDefinitionForRecording;var attributesOfRecording=dynamicDefinitionForRecording?dynamicDefinitionForRecording.attributes:{};var attributesOfEntityConfig=visInstanceView.options.entityConfig.attributes.parameters.attributes;if(!attributesOfEntityConfig.recordingURI){throw new RepresentationModule.Error({type:"recording_undefined"})}if(attributesOfRecording.label===undefined){throw new RepresentationModule.Error({type:"api-error_entity-derived",apiErrors:attributesOfRecording.errors,coverTapAction:this.__coverTapActionThatUpdatesDynamicDerivedData,derivedDataToUpdate:"entity"})}var attribytesOfDerivedVisInstanceDataForBase=visInstanceView.dynamicDerivedVisInstanceDataForBase.attributes;if(!attribytesOfDerivedVisInstanceDataForBase.apiResponse){throw new RepresentationModule.Error({type:"data-preparing_base"})}if(attribytesOfDerivedVisInstanceDataForBase.apiResponse.errors){throw new RepresentationModule.Error({type:"api-error_base",apiErrors:attribytesOfDerivedVisInstanceDataForBase.apiResponse.errors,coverTapAction:this.__coverTapActionThatUpdatesDynamicDerivedData,derivedDataToUpdate:"base"})}}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"entity.recording.pair",inherit:"entity._pair",_generateHeaderLabel1:function(entityHeaderView){return _.str.sprintf("recording comparison (%s)",this.getConfigParameterValueOrDefaultValue(entityHeaderView.options.config,"comparisonMode"))},_generateHeaderLabel2:function(viewHeader){return""},__optionsOfDynamicDerivedConfigData:{attributesToExcludeFromHash:["recordingConfigOnTheLeft","recordingConfigOnTheRight"],customHashSuffixGenerator:function(attributes){return(attributes.recordingConfigOnTheLeft?attributes.recordingConfigOnTheLeft.getClientId():"x")+(attributes.recordingConfigOnTheRight?attributes.recordingConfigOnTheRight.getClientId():"x")}},__updateMethodOfDynamicDerivedConfigData:function(force){this._doUpdate(force);if(this.attributes.recordingConfigOnTheLeft&&this.attributes.dynamicDefinitionForRecordingOnTheLeft){return}if(this.attributes.recordingConfigOnTheRight&&this.attributes.dynamicDefinitionForRecordingOnTheRight){return}var _this=this;var interval=setInterval(function(){_this._doUpdate(force);if(_this.attributes.recordingConfigOnTheLeft&&!_this.attributes.dynamicDefinitionForRecordingOnTheLeft){return}if(_this.attributes.recordingConfigOnTheRight&&!_this.attributes.dynamicDefinitionForRecordingOnTheRight){return}clearInterval(interval)},50)},__doUpdateMethodOfDynamicDerivedConfigData:function(force){var entityConfig=this.options.entityConfig;var configGrid=this.options.configGrid;if(!entityConfig.getDimension()){return}var newRecordingConfigOnTheLeft=entityConfig;var newRecordingConfigOnTheRight=entityConfig;do{newRecordingConfigOnTheLeft=configGrid.getPrevEntityNeighbour(newRecordingConfigOnTheLeft)}while(newRecordingConfigOnTheLeft&&newRecordingConfigOnTheLeft.getParameterValue("kind")=="pair");do{newRecordingConfigOnTheRight=configGrid.getNextEntityNeighbour(newRecordingConfigOnTheRight)}while(newRecordingConfigOnTheRight&&newRecordingConfigOnTheRight.getParameterValue("kind")=="pair");var newDynamicDerivedConfigDataOnTheLeft=App.dynamicDerivedConfigDataProvider.get(newRecordingConfigOnTheLeft);var newDynamicDerivedConfigDataOnTheRight=App.dynamicDerivedConfigDataProvider.get(newRecordingConfigOnTheRight);var newDynamicDefinitionForRecordingOnTheLeft=newDynamicDerivedConfigDataOnTheLeft?newDynamicDerivedConfigDataOnTheLeft.attributes.dynamicDefinitionForRecording:null;var newDynamicDefinitionForRecordingOnTheRight=newDynamicDerivedConfigDataOnTheRight?newDynamicDerivedConfigDataOnTheRight.attributes.dynamicDefinitionForRecording:null;var attributesToSet={};var arrayOfShortcuts=[[newRecordingConfigOnTheLeft,"recordingConfigOnTheLeft","change:parameters",this.triggerChange],[newRecordingConfigOnTheRight,"recordingConfigOnTheRight","change:parameters",this.triggerChange],[newDynamicDefinitionForRecordingOnTheLeft,"dynamicDefinitionForRecordingOnTheLeft","change",this.triggerChange],[newDynamicDefinitionForRecordingOnTheRight,"dynamicDefinitionForRecordingOnTheRight","change",this.triggerChange]];for(var i=arrayOfShortcuts.length-1;i>=0;--i){var shortcuts=arrayOfShortcuts[i];var oldAttributeValue=this.attributes[shortcuts[1]];var newAttributeValue=shortcuts[0];if(newAttributeValue!=oldAttributeValue){attributesToSet[shortcuts[1]]=newAttributeValue;if(oldAttributeValue){this.stopListening(oldAttributeValue,shortcuts[2])}if(newAttributeValue){this.listenTo(newAttributeValue,shortcuts[2],shortcuts[3])}}}this.set(attributesToSet)},__triggerChangeMethodOfDynamicDerivedConfigData:function(){this.dropCachedHash();this.trigger("change")},generateDynamicDerivedConfigData:function(entityConfig,configGrid){var optionsOfThisDynamicDerivedConfigData=_.clone(this.__optionsOfDynamicDerivedConfigData);optionsOfThisDynamicDerivedConfigData.entityConfig=entityConfig;optionsOfThisDynamicDerivedConfigData.configGrid=configGrid;var dynamicDerivedConfigData=new RepresentationModule.DynamicDerivedConfigData({recordingConfigOnTheLeft:null,recordingConfigOnTheRight:null,dynamicDefinitionForRecordingOnTheLeft:null,dynamicDefinitionForRecordingOnTheRight:null},optionsOfThisDynamicDerivedConfigData);dynamicDerivedConfigData.update=this.__updateMethodOfDynamicDerivedConfigData;dynamicDerivedConfigData._doUpdate=this.__doUpdateMethodOfDynamicDerivedConfigData;dynamicDerivedConfigData.triggerChange=this.__triggerChangeMethodOfDynamicDerivedConfigData;dynamicDerivedConfigData.listenTo(configGrid,"change_layout",dynamicDerivedConfigData.update);dynamicDerivedConfigData.update();return dynamicDerivedConfigData},__optionsOfDynamicDerivedVisInstanceDataForBase:{attributesToExcludeFromHash:["apiResponseOnTheLeft","apiResponseOnTheRight"],customHashSuffixGenerator:function(attributes){if(attributes.apiResponseOnTheLeft){return JSON.stringify(attributes.apiResponseOnTheLeft.errors)}else{return typeof attributes.apiResponseOnTheLeft}if(attributes.apiResponseOnTheRight){return JSON.stringify(attributes.apiResponseOnTheRight.errors)}else{return typeof attributes.apiResponseOnTheRight}}},__upateMethodOfDynamicDerivedVisInstanceDataForBase:function(force){var visInstanceView=this.options.visInstanceView;var _this=this;_.each(["Right","Left"],function(side){var dynamicDefinitionForRecording=visInstanceView.dynamicDerivedConfigDataForEntity.attributes["dynamicDefinitionForRecordingOnThe"+side];if(!dynamicDefinitionForRecording){return}if(_this.attributes["apiResponseOnThe"+side]!==null){var recordingLabel=dynamicDefinitionForRecording.attributes.label;if(!recordingLabel){var attrs={};attrs["apiRequestURIOnThe"+side]=undefined;attrs["apiRequestParamsHashOnThe"+side]=undefined;attrs["apiResponseOnThe"+side]=undefined;_this.set(attrs);return}var requestParams=_.clone(visInstanceView.dynamicDerivedConfigDataForView.attributes.basePerspectiveRequestParams);if(!requestParams){return}requestParams.uri=visInstanceView.dynamicDerivedConfigDataForEntity.attributes["recordingConfigOnThe"+side].getParameterValue("recordingURI");var apiRequestParamsHash=JSON.stringify(requestParams);if(!force&&apiRequestParamsHash==_this.attributes["apiRequestParamsHashOnThe"+side]){return}var apiRequestURI=App.DataModule.CliopatriaAPI.request("getRecordingPerspective",requestParams,function(data){if(JSON.stringify(requestParams)!=_this.attributes["apiRequestParamsHashOnThe"+side]){return}var attrs={};attrs["apiRequestParamsHashOnThe"+side]=undefined;attrs["apiResponseOnThe"+side]=data;_this.set(attrs)});var attrs={};attrs["apiRequestURIOnThe"+side]=apiRequestURI;attrs["apiRequestParamsHashOnThe"+side]=apiRequestParamsHash;attrs["apiResponseOnThe"+side]=null;_this.set(attrs)}})},generateDynamicDerivedVisInstanceDataForBase:function(visInstanceView){var viewMaster=visInstanceView._cachedViewMaster;if(!viewMaster.options.visInstanceSupportedComparisonModes.length){return new RepresentationModule.DynamicDerivedVisInstanceData({})}var optionsForThisDynamicDerivedVisInstanceDataForBase=_.clone(this.__optionsOfDynamicDerivedVisInstanceDataForBase);optionsForThisDynamicDerivedVisInstanceDataForBase.visInstanceView=visInstanceView;var dynamicDerivedVisInstanceDataForBase=new RepresentationModule.DynamicDerivedVisInstanceData({apiRequestURIOnTheLeft:undefined,apiRequestParamsHashOnTheLeft:undefined,apiResponseOnTheLeft:undefined,apiRequestURIOnTheRight:undefined,apiRequestParamsHashOnTheRight:undefined,apiResponseOnTheRight:undefined},optionsForThisDynamicDerivedVisInstanceDataForBase);dynamicDerivedVisInstanceDataForBase.update=this.__upateMethodOfDynamicDerivedVisInstanceDataForBase;dynamicDerivedVisInstanceDataForBase.listenTo(visInstanceView.dynamicDerivedConfigDataForEntity,"change",dynamicDerivedVisInstanceDataForBase.update);dynamicDerivedVisInstanceDataForBase.listenTo(visInstanceView.dynamicDerivedConfigDataForView,"change:basePerspectiveRequestParams",dynamicDerivedVisInstanceDataForBase.update);dynamicDerivedVisInstanceDataForBase.update();return dynamicDerivedVisInstanceDataForBase},verifyAllDataForVisInstanceBase:function(visInstanceView){this._verifyThatViewIsNotEmptyOrUnknown(visInstanceView);var viewMaster=visInstanceView._cachedViewMaster;if(!viewMaster.options.canHaveBase){return}var supportedComparisonModes=viewMaster.options.visInstanceSupportedComparisonModes;if(!supportedComparisonModes.length){throw new RepresentationModule.Error({type:"comparison_not-supported"})}if(!_.contains(supportedComparisonModes,viewMaster._getVisInstanceViewComparisonMode(visInstanceView))){throw new RepresentationModule.Error({type:"comparison_wrong-type",supportedTypes:supportedComparisonModes})}var attributesOfDerivedConfigDataForEntityOnTheLeft=visInstanceView.dynamicDerivedConfigDataForEntity.attributes;var attributesOfDerivedConfigDataForEntityOnTheRight=visInstanceView.dynamicDerivedConfigDataForEntity.attributes;var dynamicDefinitionForRecordingOnTheLeft=attributesOfDerivedConfigDataForEntityOnTheLeft.dynamicDefinitionForRecordingOnTheLeft;var dynamicDefinitionForRecordingOnTheRight=attributesOfDerivedConfigDataForEntityOnTheRight.dynamicDefinitionForRecordingOnTheRight;var attributesOfRecordingOnTheLeft=dynamicDefinitionForRecordingOnTheLeft?dynamicDefinitionForRecordingOnTheLeft.attributes:{};var attributesOfRecordingOnTheRight=dynamicDefinitionForRecordingOnTheRight?dynamicDefinitionForRecordingOnTheRight.attributes:{};if(attributesOfRecordingOnTheLeft.label===null||attributesOfRecordingOnTheRight.label===null){throw new RepresentationModule.Error({type:"data-preparing_entity-derived"})}if(attributesOfRecordingOnTheLeft.label===false||attributesOfRecordingOnTheRight.label===false){var apiErrorsOnTheLeft=attributesOfRecordingOnTheLeft.errors||[];var apiErrorsOnTheRight=attributesOfRecordingOnTheRight.errors||[];apiErrors=apiErrorsOnTheLeft.concat(apiErrorsOnTheRight);throw new RepresentationModule.Error({type:"api-error_entity-derived",apiErrors:apiErrors,coverTapAction:this.__coverTapActionThatUpdatesDynamicDerivedData,derivedDataToUpdate:"entity"})}if(attributesOfRecordingOnTheLeft.label===undefined||attributesOfRecordingOnTheRight.label===undefined){throw new RepresentationModule.Error({type:"pair_incomplete"})}var attribytesOfDerivedVisInstanceDataForBase=visInstanceView.dynamicDerivedVisInstanceDataForBase.attributes;if(!attribytesOfDerivedVisInstanceDataForBase.apiResponseOnTheLeft||!attribytesOfDerivedVisInstanceDataForBase.apiResponseOnTheRight){throw new RepresentationModule.Error({type:"data-preparing_base"})}if(attribytesOfDerivedVisInstanceDataForBase.apiResponseOnTheLeft.errors||attribytesOfDerivedVisInstanceDataForBase.apiResponseOnTheRight.errors){var apiErrorsOnTheLeft=attribytesOfDerivedVisInstanceDataForBase.apiResponseOnTheLeft.errors||[];var apiErrorsOnTheRight=attribytesOfDerivedVisInstanceDataForBase.apiResponseOnTheRight.errors||[];var apiErrors=apiErrorsOnTheLeft.concat(apiErrorsOnTheRight);if(apiErrors[0]){var error0=apiErrors[0];if((error0.code==11||error0.code==12)&&!apiErrors[1]||apiErrors[1]&&(apiErrors[1].code==11||apiErrors[1].code==12)){throw new RepresentationModule.Error({type:"api-message_progress_base",apiErrors:apiErrors,coverTapAction:this.__coverTapActionThatUpdatesDynamicDerivedData,derivedDataToUpdate:"base"})}}throw new RepresentationModule.Error({type:"api-error_base",apiErrors:apiErrors,coverTapAction:this.__coverTapActionThatUpdatesDynamicDerivedData,derivedDataToUpdate:"base"})}}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view._",inherit:"_",options:{canHaveBase:false,canHaveOverlay:false,canHaveTemp:false,visInstanceContentHeightMin:20,visInstanceContentHeightMax:20,visInstanceContentPaddingTop:5,visInstanceContentPaddingBottom:5,visInstanceSupportedComparisonModes:[],auxiliaryAssetsTimeout:2e3,auxiliaryAssetsCheckInterval:500},defaultConfigParameterValues:{widthToHeightRatio:2},initialize:function(){this.obtainAuxiliaryData();this.obtainAuxiliaryAssets()},setAuxiliaryDataStatus:function(status){this.auxiliaryDataStatus=status;this.trigger("change:auxiliaryResourcesStatus")},setAuxiliaryAssetsStatus:function(status){this.auxiliaryAssetsStatus=status;this.trigger("change:auxiliaryResourcesStatus")},getAuxiliaryResourcesStatus:function(){if(this.auxiliaryDataStatus=="fail"||this.auxiliaryAssetsStatus=="fail"){return"fail"}if(this.auxiliaryDataStatus=="pending"||this.auxiliaryAssetsStatus=="pending"){return"pending"}return""},obtainAuxiliaryAssets:function(){if(!this.options.auxiliaryAssets||!this.options.auxiliaryAssets.length){return}if(this.auxiliaryAssetsStatus){return}this.setAuxiliaryAssetsStatus("pending");var $body=$("body");_.each(this.options.auxiliaryAssets,function(assetURL){$body.append("").attr("script","text/javascript").attr("src",assetURL)});this.auxiliaryAssetsIntervalCount=0;this.auxiliaryAssetsInterval=setInterval($.proxy(this.auxiliaryAssetsInvervalFunction,this),this.options.auxiliaryAssetsCheckInterval)},auxiliaryAssetsInvervalFunction:function(){++this.auxiliaryAssetsIntervalCount;if(this.auxiliaryAssetsIntervalCount*this.options.auxiliaryAssetsCheckInterval>this.options.auxiliaryAssetsTimeout){clearInterval(this.auxiliaryAssetsInterval);this.setAuxiliaryAssetsStatus("fail");return}if(this.checkIfAuxiliaryAssetsAreReady()){clearInterval(this.auxiliaryAssetsInterval);this.setAuxiliaryAssetsStatus("success")}},checkIfAuxiliaryAssetsAreReady:function(){return true},obtainAuxiliaryData:function(){if(!this.options.auxiliaryData){return}if(this.auxiliaryDataStatus){return}this.setAuxiliaryDataStatus("pending");var arrayOfDeferred=[];var keys=[];_.each(this.options.auxiliaryData,function(definition,key){keys.push(key);arrayOfDeferred.push($.ajax(App.generateAssetURL(definition)))});var _this=this;$.when.apply(null,arrayOfDeferred).then(function(){var auxiliaryData={};_.each(arguments,function(argument,i){auxiliaryData[keys[i]]=argument[0]});_this.auxiliaryData=auxiliaryData;_this.setAuxiliaryDataStatus("ready")},function(){_this.setAuxiliaryDataStatus("fail")})},verifyAuxiliaryResources:function(){var status=this.getAuxiliaryResourcesStatus();if(status=="pending"||status=="fail"){throw new RepresentationModule.Error({type:"auxiliary-resources_"+status,derivedDataToUpdate:"base"})}},getViewName:function(viewConfig){if(!App._cachedViewNamesByViewMasterId){var master=this;App._cachedViewNamesByViewMasterId={};_.each(["collection","recording"],function(configGridType){var $featureSelector=$(Marionette.TemplateCache.get("#cgpma_"+configGridType+"_view__feature-selector")());var autocompleteSuggestions=master.parseAutocompleteSuggestions($featureSelector.find("[data-autocomplete-suggestions]").data("autocomplete-suggestions"));_.each(autocompleteSuggestions,function(kindName,kind){var masterIdPart=kind;if(!masterIdPart){masterIdPart="default"}App._cachedViewNamesByViewMasterId["view."+configGridType+"."+masterIdPart]=kindName})})}var viewName=App._cachedViewNamesByViewMasterId[this.id];if(!viewName){viewName=_.str.trim(viewConfig.getParameterValue("kind"))||"an empty view";if(viewName.length>=4&&viewName.substring(0,2)=="__"&&viewName.substring(viewName.length-2)=="__"){viewName=viewName.substring(2,viewName.length-2)}viewName=_.str.trim(viewName)}return viewName},prepareConfigGridPanelMainArea:function(configGridPanelView){if(!App._cached$viewPanelFeatureSelectorsByConfigGridType){App._cached$viewPanelFeatureSelectorsByConfigGridType={};_.each(["collection","recording"],function(configGridType){var $featureSelector=$(Marionette.TemplateCache.get("#cgpma_"+configGridType+"_view__feature-selector")());App._cached$viewPanelFeatureSelectorsByConfigGridType[configGridType]=$featureSelector})}var $featureSelector=App._cached$viewPanelFeatureSelectorsByConfigGridType[configGridPanelView.options.configGrid.getType()];configGridPanelView._$mainArea.data("$featureSelector",$featureSelector);configGridPanelView._$mainArea.prepend($featureSelector);var $inputForKind=$featureSelector.find("[data-parameter-name=kind]");if($inputForKind.data("cgpma-textfield")&&$featureSelector.data("savedTextRange")){$inputForKind.textfield("setTextRange",$featureSelector.data("savedTextRange"));$featureSelector.removeData("savedTextRange")}RepresentationModule.getMasterById("_").prepareConfigGridPanelMainArea.apply(this,arguments)},destroyConfigGridPanelMainArea:function(configGridPanelView){var $featureSelector=configGridPanelView._$mainArea.data("$featureSelector");if($featureSelector){var $inputForKind=configGridPanelView._$mainArea.find("[data-parameter-name=kind]");if($inputForKind.textfield("isFocused")){$featureSelector.data("savedTextRange",$inputForKind.textfield("getTextRange"))}$featureSelector.detach()}},_doRenderHeaderContentRelatedToOwnData:function(headerView,instant){if(!headerView._$label){headerView._$label=$.bem.generateElement("config-grid-cells","view-header-label").appendTo(headerView.$el)}headerView._$label.html(this._generateHeaderLabel(headerView))},_generateHeaderLabel:function(headerView){var labelCore=this.getViewName(headerView.options.config)+this._generateHeaderLabelSuffix(headerView);if(headerView.options.config.hasPlannedParameterUpdates()){return''+labelCore+" – being modified"}else{return labelCore}},_generateHeaderLabelSuffix:function(headerView){return""},__upateMethodOfDynamicDerivedConfigData:function(){var viewConfig=this.options.viewConfig;var viewMaster=this.options.viewMaster;this.set({basePerspectiveRequestParams:viewMaster.generateBasePerspectiveRequestParams(viewConfig),overlayPerspectiveRequestParams:viewMaster.generateOverlayPerspectiveRequestParams(viewConfig)})},generateDynamicDerivedConfigData:function(config,configGrid){var dynamicDerivedConfigData=new RepresentationModule.DynamicDerivedConfigData({basePerspectiveRequestParams:null,overlayPerspectiveRequestParams:null},{viewConfig:config,viewMaster:RepresentationModule.getMasterForConfig(config)});dynamicDerivedConfigData.update=this.__upateMethodOfDynamicDerivedConfigData;dynamicDerivedConfigData.listenTo(config,"change",dynamicDerivedConfigData.update);dynamicDerivedConfigData.update();return dynamicDerivedConfigData},generateBasePerspectiveRequestParams:function(viewConfig){var viewConfigKind=_.str.trim(viewConfig.getParameterValue("kind"));if(!_.isString(viewConfigKind)||this.getSupportedKind()!=viewConfigKind){return null}var result=this._generateCustomParamsForBasePerspectiveRequestParams(viewConfig);if(!result){return null}if(!result.pid){result.pid=viewConfigKind.replace(/-/g,"_")}return result},_generateCustomParamsForBasePerspectiveRequestParams:function(viewConfig){return{}},generateOverlayPerspectiveRequestParams:function(viewConfig){},_groupDataForGraphicsRendering:function(visInstanceView,layer){if(layer=="base"){return{self:visInstanceView.dynamicDerivedVisInstanceDataForBase.attributes.apiResponse,left:visInstanceView.dynamicDerivedVisInstanceDataForBase.attributes.apiResponseOnTheLeft,right:visInstanceView.dynamicDerivedVisInstanceDataForBase.attributes.apiResponseOnTheRight}}else{return null}},_getVisInstanceViewComparisonMode:function(visInstanceView){var comparisonMode=undefined;var kind=visInstanceView.options.entityConfig.getParameterValue("kind");if(kind==="pair"){comparisonMode=RepresentationModule.getMasterById("entity.collection.pair").getConfigParameterValueOrDefaultValue(visInstanceView.options.entityConfig,"comparisonMode")}return comparisonMode},calculateVisInstanceContentHeight:function(viewConfig,entityWidth){var height=0;var widthToHeightRatio=1*this.getConfigParameterValueOrDefaultValue(viewConfig,"widthToHeightRatio");if(widthToHeightRatio){height=Math.round(entityWidth/widthToHeightRatio)}if(heightthis.options.visInstanceContentHeightMax){height=this.options.visInstanceContentHeightMax}return height+this.options.visInstanceContentPaddingTop+this.options.visInstanceContentPaddingBottom},__domEventHandlerToSelectAllTextInTheField:function(event){if(!event.shiftKey){return}var $cover=$(this);var visInstanceView=$cover.data("visInstanceView");var attachedError=$cover.data("attachedError");RepresentationModule.logger.warn(_.str.sprintf("An error behind the clicked vis instance (id %s):",visInstanceView.cid),attachedError)},renderVisInstance:function(visInstanceView,deep,instant){if(deep){visInstanceView._cachedRenderingHashForBase=undefined;visInstanceView._cachedRenderingHashForOverlay=undefined;visInstanceView._cachedRenderingHashForTemp=undefined}var newRenderingHashForBase=/*!this.options.canHaveBase ||*/this._calculateVisInstanceRenderingHashForBase(visInstanceView);var newRenderingHashForOverlay=!this.options.canHaveOverlay||this._calculateVisInstanceRenderingHashForOverlay(visInstanceView);var newRenderingHashForTemp=!this.options.canHaveTemp||this._calculateVisInstanceRenderingHashForTemp(visInstanceView);var baseHasChanged=newRenderingHashForBase!==visInstanceView._cachedRenderingHashForBase;var overlayHasChanged=newRenderingHashForOverlay!==visInstanceView._cachedRenderingHashForOverlay;var tempHasChanged=newRenderingHashForTemp!==visInstanceView._cachedRenderingHashForTemp;var debugMode=App.options.debugAPI;if(!(baseHasChanged||overlayHasChanged||tempHasChanged)){return}try{if(baseHasChanged){try{if(debugMode){this._prepareRenderingVisInstanceViewInDebugModeIfNeeded(visInstanceView);this._doRenderVisInstanceViewInDebugMode(visInstanceView,"base")}else{visInstanceView._cachedEntityMaster.verifyAllDataForVisInstanceBase(visInstanceView);visInstanceView._cachedViewMaster.verifyAuxiliaryResources();this._prepareRenderingVisInstanceViewIfNeeded(visInstanceView);this._doRenderVisInstanceViewBase(visInstanceView)}}catch(e){visInstanceView._cachedRenderingHashForOverlay=undefined;visInstanceView._cachedRenderingHashForTemp=undefined;overlayHasChanged=true;tempHasChanged=true;throw e}}if(overlayHasChanged){try{if(debugMode){this._doRenderVisInstanceViewInDebugMode(visInstanceView,"overlay")}else{if(!baseHasChanged){visInstanceView._cachedEntityMaster.verifyAllDataForVisInstanceBase(visInstanceView)}visInstanceView._cachedEntityMaster.verifyAllDataForVisInstanceOverlay(visInstanceView);this._doRenderVisInstanceViewOverlay(visInstanceView)}}catch(e){visInstanceView._cachedRenderingHashForTemp=undefined;tempHasChanged=true;throw e}}if(tempHasChanged){if(debugMode){this._doRenderVisInstanceViewInDebugMode(visInstanceView,"temp")}else{if(!baseHasChanged){visInstanceView._cachedEntityMaster.verifyAllDataForVisInstanceBase(visInstanceView)}if(!overlayHasChanged){visInstanceView._cachedEntityMaster.verifyAllDataForVisInstanceOverlay(visInstanceView)}this._doRenderVisInstanceViewTemp(visInstanceView)}}if(visInstanceView.$cover.hasClass("vis-instance__cover_visible")){visInstanceView.$cover.removeClass("vis-instance__cover_visible")}}catch(e){var errorType=e instanceof RepresentationModule.Error?e.options.type:"unknown";var coverTapAction=e instanceof RepresentationModule.Error?e.options.coverTapAction:null;var coverContentTemplate=null;try{coverContentTemplate=Marionette.TemplateCache.get("#vicc__"+errorType+"__"+visInstanceView._cachedEntityMaster.id.replace(/\./g,"-"))}catch(e){coverContentTemplate=Marionette.TemplateCache.get("#vicc__"+errorType)}var coverContent=coverContentTemplate(e.options);var coverCategory=coverContent.slice(0,coverContent.indexOf("|"));var coverMessage=coverContent.slice(coverCategory.length+1);if(!(e instanceof RepresentationModule.Error)||e.needToEmptyContent()){visInstanceView.$content.empty()}visInstanceView.$coverMessage.html(coverMessage);visInstanceView.$cover.addClass("vis-instance__cover_visible").unbind("click").bind("click",coverTapAction).bind("click",this.__domEventHandlerToSelectAllTextInTheField).setMod("vis-instance","cover","category",coverCategory).data("attachedError",e).data("visInstanceView",visInstanceView)}if(baseHasChanged){visInstanceView._cachedRenderingHashForBase=newRenderingHashForBase}if(overlayHasChanged){visInstanceView._cachedRenderingHashForOverlay=newRenderingHashForBase}if(tempHasChanged){visInstanceView._cachedRenderingHashForTemp=newRenderingHashForBase}},cancelVisInstancePointerHighlights:function(visInstanceView){var vegaHoveredItem=visInstanceView.$content.children(0).data("vegaHoveredItem");if(vegaHoveredItem){App.TooltipModule.tooltipView.update();var vegaObj=visInstanceView.$content.children(0).data("vegaObj");vegaObj.update({items:vegaHoveredItem})}},_calculateVisInstanceRenderingHashForBase:function(visInstanceView){if(visInstanceView.options.configGrid.getType()=="collection"){if(this._getVisInstanceViewComparisonMode(visInstanceView)){var result=this.getAuxiliaryResourcesStatus()+visInstanceView._cachedSizeHash+visInstanceView.options.entityConfig.getHashForTrimmedParameters()+visInstanceView.options.viewConfig.getHashForTrimmedParameters()+visInstanceView.dynamicDerivedConfigDataForEntity.getHash()+visInstanceView.dynamicDerivedConfigDataForView.getHash()+visInstanceView.dynamicDerivedVisInstanceDataForBase.getHash();return result}else{return this.getAuxiliaryResourcesStatus()+visInstanceView._cachedSizeHash+visInstanceView.options.viewConfig.getHashForTrimmedParameters()+visInstanceView.dynamicDerivedConfigDataForEntity.attributes.dynamicDefinitionForCollection.getHash()+visInstanceView.dynamicDerivedConfigDataForView.getHash()+visInstanceView.dynamicDerivedVisInstanceDataForBase.getHash()}}else{if(this._getVisInstanceViewComparisonMode(visInstanceView)){var result=this.getAuxiliaryResourcesStatus()+visInstanceView._cachedSizeHash+visInstanceView.options.entityConfig.getHashForTrimmedParameters()+visInstanceView.options.viewConfig.getHashForTrimmedParameters()+visInstanceView.dynamicDerivedConfigDataForEntity.getHash()+visInstanceView.dynamicDerivedConfigDataForView.getHash()+visInstanceView.dynamicDerivedVisInstanceDataForBase.getHash();return result}else{return this.getAuxiliaryResourcesStatus()+visInstanceView._cachedSizeHash+visInstanceView.options.viewConfig.getHashForTrimmedParameters()+visInstanceView.dynamicDerivedConfigDataForEntity.attributes.dynamicDefinitionForRecording.getHash()+visInstanceView.dynamicDerivedConfigDataForView.getHash()+visInstanceView.dynamicDerivedVisInstanceDataForBase.getHash()}}},_prepareRenderingVisInstanceViewIfNeeded:function(visInstanceView){},_doRenderVisInstanceViewBase:function(visInstanceView){this._doRenderVisInstanceViewBaseWithKnownComparisonMode(visInstanceView,this._getVisInstanceViewComparisonMode(visInstanceView))},_doRenderVisInstanceViewBaseWithKnownComparisonMode:function(visInstanceView,comparisonMode){},_calculateVisInstanceRenderingHashForOverlay:function(visInstanceView){return visInstanceView._cachedSizeHash+visInstanceView.options.viewConfig.getHashForTrimmedParameters()+visInstanceView.dynamicDerivedConfigDataForEntity.getHash()+visInstanceView.dynamicDerivedConfigDataForView.getHash()+visInstanceView.dynamicDerivedVisInstanceDataForOverlay.getHash()},_doRenderVisInstanceViewOverlay:function(visInstanceView){this._doRenderVisInstanceViewOverlayWithKnownComparisonMode(visInstanceView,this._getVisInstanceViewComparisonMode(visInstanceView))},_doRenderVisInstanceViewOverlayWithKnownComparisonMode:function(visInstanceView,comparisonMode){},_calculateVisInstanceRenderingHashForTemp:function(visInstanceView){return visInstanceView._cachedSizeHash+visInstanceView.options.viewConfig.getHashForParameters()+visInstanceView.dynamicDerivedConfigDataForEntity.getHash()+visInstanceView.dynamicDerivedConfigDataForView.getHash()+visInstanceView.dynamicDerivedVisInstanceDataForTemp.getHash()},_doRenderVisInstanceViewTemp:function(visInstanceView){this._doRenderVisInstanceViewTempWithKnownComparisonMode(visInstanceView,this._getVisInstanceViewComparisonMode(visInstanceView))},_doRenderVisInstanceViewTempWithKnownComparisonMode:function(visInstanceView,comparisonMode){},_selectAllInDebugTextFieldIfNeeded:function(){$(this).select()},_prepareRenderingVisInstanceViewInDebugModeIfNeeded:function(visInstanceView){if(!visInstanceView.$content.children(0).hasClass("vic-api-debug")){visInstanceView.$content.empty();var $apiDebug=$.bem.generateBlock("vic-api-debug");var mappings=visInstanceView._cachedEntityMaster._mapDerivedVisInstanceDataAttributesToDebugAPIQueryBoxes(this);for(var i=0;i0&&Math.floor(fixedLimit)===+fixedLimit)){fixedLimit=0}return fixedLimit*this.options.rowHeight+this.options.visInstanceContentPaddingTop+this.options.visInstanceContentPaddingBottom},_generateCustomParamsForBasePerspectiveRequestParams:function(viewConfig){var result={limit:this.getConfigParameterValueOrDefaultValue(viewConfig,"limit",true),offset:this.getConfigParameterValueOrDefaultValue(viewConfig,"offset",true),sort_by:this.getConfigParameterValueOrDefaultValue(viewConfig,"sortBy",true)};return result},__domEventHandlerToSetSelectedRecording:function(){var $this=$(this);var visInstanceView=$this.data("visInstanceView");var recordingURI=$this.data("recordingURI");if(visInstanceView.options.entityConfig.getParameterValue("recordingURI")==recordingURI){}else{visInstanceView.options.entityConfig.updateParameter("recordingURI",recordingURI)}},__domEventHandlerToPlayAudio:function(event){var $this=$(this);App.play($this.data("recordingURI"));event.preventDefault();return false},__domEventHandlerToAnalyseRecording:function(){var $this=$(this);var _this=$this.data("master");var recordingURI=$this.parent().data("recordingURI");var existingRecordingConfigsByRecordingURI={};var recordingConfigs=App.context.get("state").get("musicRecordingGrid").get("entityConfigs");recordingConfigs.each(function(recordingConfig){existingRecordingConfigsByRecordingURI[recordingConfig.getParameterValue("recordingURI")]=recordingConfig});var nowAdding=!existingRecordingConfigsByRecordingURI[recordingURI];if(nowAdding){recordingConfigs.add(new App.ContextModule.Config({parameters:{recordingURI:recordingURI}}))}else{recordingConfigs.remove(existingRecordingConfigsByRecordingURI[recordingURI])}var $flyingCircle=$.bem.generateElement("vic-list","flying-circle",[nowAdding?"type_adding":"type_removing"]);if(!_this._cachedMusicRecordingsButtonRight){var $modeChanger=$(".main-menu-bar__item_action_change-mode");_this._cachedMusicRecordingsButtonRight=$modeChanger.width()/2;_this._cachedMusicRecordingsButtonTop=$modeChanger.height()/2}$flyingCircle.appendTo(document.body);var initialOffset=$($this[0]).offset();var targetOffset={left:$(window).width()-_this._cachedMusicRecordingsButtonRight,top:_this._cachedMusicRecordingsButtonTop};if(!nowAdding){var bubble=initialOffset;initialOffset=targetOffset;targetOffset=bubble}$flyingCircle.css(initialOffset);var flyingDistance=Math.sqrt(Math.pow(targetOffset.left-initialOffset.left,2)+Math.pow(targetOffset.top-initialOffset.top,2));var speed=(_this.options.flyingCircleSpeedMax-_this.options.flyingCircleSpeedMin)*Math.min(1,flyingDistance/_this.options.flyingCircleDistanceForMaxSpeed)+_this.options.flyingCircleSpeedMin;$flyingCircle.animate(targetOffset,speed,_this.__removeFlyingCircleAfterAnimation);var notificationHasBeenShown=App.DataModule.Storage.getStrCache(RepresentationModule,"master_view.collection.list_flying-square-notification-shown");if(!notificationHasBeenShown){App.showNotification({content:$("#notification-content_flying-circle").html(),id:"flying-circle",modifiers:["ttl_20"]});App.context.get("state").once("change:musicRecordingsGridIsShown",function(){App.hideNotification("flying-circle")});App.DataModule.Storage.setStrCache(RepresentationModule,"master_view.collection.list_flying-square-notification-shown","1")}$this.trigger("mouseup")},__removeFlyingCircleAfterAnimation:function(){$(this).remove()},_doRenderVisInstanceViewBaseWithKnownComparisonMode:function(visInstanceView,comparisonMode){var _this=this;var items=visInstanceView.dynamicDerivedVisInstanceDataForBase.attributes.apiResponse.items;var bankOf$analyzeByRecordingURI={};var $list=$.bem.generateBlock("vic-list");for(var i=0;i0?item.date.slice(-4):item.date.slice(0,4);$.bem.generateElement("vic-list","item-year").text(year).appendTo($item)}if(item.audio&&item.audio.length){$.bem.generateElement("span","vic-list","item-command",["action_audio"]).data("recordingURI",item.uri).data("master",_this).click(this.__domEventHandlerToPlayAudio).attr("title","play this recording").append("").appendTo($item)}var $analyse=$.bem.generateElement("vic-list","item-command",["action_analyze"]).click(this.__domEventHandlerToAnalyseRecording).attr("title"," ").data("master",_this).append("").appendTo($item);bankOf$analyzeByRecordingURI[item.uri]=$analyse;$item.click(this.__domEventHandlerToSetSelectedRecording);$list.append($item)}App.TooltipModule.convertTitlesToTooltips($list);$list.data("bankOf$analyzeByRecordingURI",bankOf$analyzeByRecordingURI);visInstanceView.$content.empty().append($list)},_calculateVisInstanceRenderingHashForOverlay:function(visInstanceView){return visInstanceView._cachedSizeHash+visInstanceView.dynamicDerivedVisInstanceDataForOverlay.getHash()},_doRenderVisInstanceViewOverlayWithKnownComparisonMode:function(visInstanceView,comparisonMode){var recordingURI=visInstanceView.options.entityConfig.getParameterValue("recordingURI");visInstanceView.$content.children(0).children().each(function(){var $listItem=$(this);var listItemRecordingURI=$listItem.data("recordingURI");$listItem.toggleClass("vic-list__item_status_selected",recordingURI==listItemRecordingURI)});var existingRecordingConfigsByRecordingURI={};var recordingConfigs=App.context.get("state").get("musicRecordingGrid").get("entityConfigs");recordingConfigs.each(function(recordingConfig){existingRecordingConfigsByRecordingURI[recordingConfig.getParameterValue("recordingURI")]=recordingConfig});var bankOf$analyzeByRecordingURI=visInstanceView.$content.children(0).data("bankOf$analyzeByRecordingURI");_.each(bankOf$analyzeByRecordingURI,function($analyze,recordingURI){var exists=!!existingRecordingConfigsByRecordingURI[recordingURI];$analyze.toggleClass("vic-list__item-command_status_toggled",exists);$analyze.attr("tooltip-title",exists?"remove this recording from the ‘music recordings’ grid":"add this recording to the ‘music recordings’ grid")})}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.collection.mean-tempo-curve",inherit:"view.collection._histogram"})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.collection.midi-pitch-histogram",inherit:"view.collection._histogram",defaultConfigParameterValues:{weighting:"none"},_generateCustomParamsForBasePerspectiveRequestParams:function(viewConfig){var result={weighting:this.getConfigParameterValueOrDefaultValue(viewConfig,"weighting",true)};return result}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.collection.pitch-class-histogram",inherit:"view.collection._histogram"})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.collection.pitch-histogram",inherit:"view.collection._histogram",defaultConfigParameterValues:{weighting:"none",pitchMin:20,pitchMax:100},_generateCustomParamsForBasePerspectiveRequestParams:function(viewConfig){var result={weighting:this.getConfigParameterValueOrDefaultValue(viewConfig,"weighting",true),min:this.getConfigParameterValueOrDefaultValue(viewConfig,"pitchMin",true),max:this.getConfigParameterValueOrDefaultValue(viewConfig,"pitchMax",true)};return result}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.collection.similarity-matrix",inherit:"view.collection._similarity",options:{widthToHeightRatio:1}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.collection.similarity-plane",inherit:"view.collection._similarity",options:{widthToHeightRatio:1}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.collection.tempo-histogram",inherit:"view.collection._histogram",defaultConfigParameterValues:{tempoMin:30,tempoMax:300,tempoNumBins:50,tempoPeriod:1},_generateCustomParamsForBasePerspectiveRequestParams:function(viewConfig){var result={min:this.getConfigParameterValueOrDefaultValue(viewConfig,"tempoMin"),max:this.getConfigParameterValueOrDefaultValue(viewConfig,"tempoMax")};return result}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.collection.tonic-histogram",inherit:"view.collection._histogram"})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.collection.tonic-relative-pitch-class-histogram",inherit:"view.collection._histogram",getViewName:function(){return"pitch class histogram (tonic-relative)"}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.collection.tuning-stats",inherit:"view.collection._histogram"})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.recording._histogram",inherit:"view._histogram",options:{},_generateCustomParamsForBasePerspectiveRequestParams:function(viewConfig){return{}},_generateHistogramOptions:function(pid){var options={};options.colorForBars="#31a354";options.layer="base";options.dataDefinition={};options.dataDefinition.forXs=null;options.dataDefinition.forBars=null;options.dataDefinition.forFlats=null;switch(pid){case"tempo-nonuniform":options.dataDefinition.forceXsAreEdges=true;case"tempo-normalised":options.dataDefinition.forXs="times";options.dataDefinition.forBars="values";break;case"midi-pitch-histogram":options.dataDefinition.forXs="values";options.dataDefinition.forBars="counts";break;case"pitch-histogram":case"tempo-histogram":options.dataDefinition.forXs="edges";options.dataDefinition.forBars="counts";break}return options}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.recording.default",inherit:"view._default"})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.recording.midi-pitch-histogram",inherit:"view.recording._histogram"})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.recording.pitch-histogram",inherit:"view.recording._histogram"})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.recording.properties",inherit:"view._",options:{canHaveBase:true,visInstanceContentHeightMin:9*15,visInstanceContentHeightMax:9*15},propertyDefinitions:[[null,"library",null,function(fieldValue){return fieldValue.toUpperCase()}],[null,"title"],[null,"genre","genres"],[null,"composer","composers"],[null,"performer","performers",null,"before-divider"],[null,"_divider_"],[null,"place"],[null,"language","languages"],["date","date"]],_doRenderVisInstanceViewBaseWithKnownComparisonMode:function(visInstanceView,comparisonMode){var properties=visInstanceView.dynamicDerivedVisInstanceDataForBase.attributes.apiResponse;var $properties=$.bem.generateBlock("vic-properties");_.each(this.propertyDefinitions,function(propertyDefinition){var propertyName=propertyDefinition[0];if(propertyName==null){propertyName=propertyDefinition[1]}if(propertyName=="_divider_"){$properties.append($.bem.generateElement("vic-properties","property-divider"));return}var propertyValue=properties[propertyName];var propertyCaption=propertyDefinition[1];if(_.isArray(propertyValue)){if(propertyValue.length>1){propertyCaption=propertyDefinition[2]}propertyValue=propertyValue.join(", ")}if(propertyValue&&_.isFunction(propertyDefinition[3])){propertyValue=propertyDefinition[3](propertyValue)}var $property=$.bem.generateElement("vic-properties","property");var $propertyFieldCaption=$.bem.generateElement("vic-properties","property-caption");var $propertyValue=$.bem.generateElement("vic-properties","property-value");$propertyFieldCaption.text(propertyCaption+":");$propertyValue.text(propertyValue);$property.append($propertyFieldCaption,$propertyValue);$properties.append($property);if(propertyDefinition[4]){$property.setMod("vic-properties","property","type",propertyDefinition[4])}});visInstanceView.$content.empty().append($properties)}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.recording.tempo-histogram",inherit:"view.recording._histogram",defaultConfigParameterValues:{tempoMin:30,tempoMax:300,tempoNumBins:50,tempoPeriod:1},_generateCustomParamsForRecordingPerspectiveRequestParams:function(viewConfig){var result={min:this.getConfigParameterValueOrDefaultValue(viewConfig,"tempoMin"),max:this.getConfigParameterValueOrDefaultValue(viewConfig,"tempoMax")};return result}})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.recording.tempo-nonuniform",inherit:"view.recording._histogram"})})},Logger); +"use strict";App.module("RepresentationModule",function(RepresentationModule,App,Backbone,Marionette,$,_,Logger){RepresentationModule.addInitializer(function(options){RepresentationModule.registerMaster({id:"view.recording.tempo-normalised",inherit:"view.recording._histogram"})})},Logger); \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/cgpma/circle5.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/cgpma/circle5.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,4 @@ + + + + diff -r 000000000000 -r 493bcb69166c $/bem/cgpma/circle7.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/cgpma/circle7.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,4 @@ + + + + diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/apply_r.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/apply_r.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/apply_sq.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/apply_sq.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/arrow_down.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/arrow_down.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/arrow_left.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/arrow_left.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/arrow_right.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/arrow_right.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/arrow_up.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/arrow_up.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/clone_empty.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/clone_empty.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,75 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/clone_filled.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/clone_filled.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,74 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/clone_orig.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/clone_orig.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/delete_empty.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/delete_empty.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,65 @@ + + + + + + image/svg+xml + + + + + + + + + + + + diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/delete_filled.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/delete_filled.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/discard_r.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/discard_r.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/discard_r2.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/discard_r2.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/config-grid-panel/command/discard_sq.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/config-grid-panel/command/discard_sq.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/player/command/download.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/player/command/download.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/player/command/download_cloud.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/player/command/download_cloud.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/player/command/pause.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/player/command/pause.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/player/command/play.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/player/command/play.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/player/command/volume-down.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/player/command/volume-down.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/player/command/volume-mute.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/player/command/volume-mute.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/player/command/volume-up.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/player/command/volume-up.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/screenshot/fake-cursor.png Binary file $/bem/screenshot/fake-cursor.png has changed diff -r 000000000000 -r 493bcb69166c $/bem/vis-instance-content/vic-list/item-command_action_play.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/vis-instance-content/vic-list/item-command_action_play.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/vis-instance-content/vic-list/item-command_action_play_note_1.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/vis-instance-content/vic-list/item-command_action_play_note_1.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/bem/vis-instance-content/vic-list/item-command_action_play_note_2.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/bem/vis-instance-content/vic-list/item-command_action_play_note_2.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/favicons/android-icon-144x144.png Binary file $/favicons/android-icon-144x144.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/android-icon-192x192.png Binary file $/favicons/android-icon-192x192.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/android-icon-36x36.png Binary file $/favicons/android-icon-36x36.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/android-icon-48x48.png Binary file $/favicons/android-icon-48x48.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/android-icon-72x72.png Binary file $/favicons/android-icon-72x72.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/android-icon-96x96.png Binary file $/favicons/android-icon-96x96.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/apple-icon-114x114.png Binary file $/favicons/apple-icon-114x114.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/apple-icon-120x120.png Binary file $/favicons/apple-icon-120x120.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/apple-icon-144x144.png Binary file $/favicons/apple-icon-144x144.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/apple-icon-152x152.png Binary file $/favicons/apple-icon-152x152.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/apple-icon-180x180.png Binary file $/favicons/apple-icon-180x180.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/apple-icon-57x57.png Binary file $/favicons/apple-icon-57x57.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/apple-icon-60x60.png Binary file $/favicons/apple-icon-60x60.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/apple-icon-72x72.png Binary file $/favicons/apple-icon-72x72.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/apple-icon-76x76.png Binary file $/favicons/apple-icon-76x76.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/apple-icon-precomposed.png Binary file $/favicons/apple-icon-precomposed.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/apple-icon.png Binary file $/favicons/apple-icon.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/browserconfig.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/favicons/browserconfig.xml Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,2 @@ + +#ffffff \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/favicons/favicon-16x16.png Binary file $/favicons/favicon-16x16.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/favicon-32x32.png Binary file $/favicons/favicon-32x32.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/favicon-96x96.png Binary file $/favicons/favicon-96x96.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/favicon.ico Binary file $/favicons/favicon.ico has changed diff -r 000000000000 -r 493bcb69166c $/favicons/favicon.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/favicons/favicon.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,55 @@ + +image/svg+xml \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/favicons/manifest.json --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/favicons/manifest.json Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,41 @@ +{ + "name": "App", + "icons": [ + { + "src": ".\/favicons\/android-icon-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": ".\/favicons\/android-icon-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": ".\/favicons\/android-icon-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": ".\/favicons\/android-icon-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": ".\/favicons\/android-icon-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": ".\/favicons\/android-icon-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/favicons/ms-icon-144x144.png Binary file $/favicons/ms-icon-144x144.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/ms-icon-150x150.png Binary file $/favicons/ms-icon-150x150.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/ms-icon-310x310.png Binary file $/favicons/ms-icon-310x310.png has changed diff -r 000000000000 -r 493bcb69166c $/favicons/ms-icon-70x70.png Binary file $/favicons/ms-icon-70x70.png has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Bold/OpenSans-Bold.eot Binary file $/fonts/OpenSans/Bold/OpenSans-Bold.eot has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Bold/OpenSans-Bold.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/fonts/OpenSans/Bold/OpenSans-Bold.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Bold/OpenSans-Bold.ttf Binary file $/fonts/OpenSans/Bold/OpenSans-Bold.ttf has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Bold/OpenSans-Bold.woff Binary file $/fonts/OpenSans/Bold/OpenSans-Bold.woff has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Bold/OpenSans-Bold.woff2 Binary file $/fonts/OpenSans/Bold/OpenSans-Bold.woff2 has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.eot Binary file $/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.eot has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.ttf Binary file $/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.ttf has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.woff Binary file $/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.woff has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.woff2 Binary file $/fonts/OpenSans/BoldItalic/OpenSans-BoldItalic.woff2 has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.eot Binary file $/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.eot has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,21059 @@ + + + + +Created by FontForge 20141024 at Tue Dec 16 15:33:01 2014 + By System Administrator +Digitized data copyright (c) 2011, Google Corporation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.ttf Binary file $/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.ttf has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.woff Binary file $/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.woff has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.woff2 Binary file $/fonts/OpenSans/ExtraBold/OpenSans-ExtraBold.woff2 has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.eot Binary file $/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.eot has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.ttf Binary file $/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.ttf has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff Binary file $/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff2 Binary file $/fonts/OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff2 has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Italic/OpenSans-Italic.eot Binary file $/fonts/OpenSans/Italic/OpenSans-Italic.eot has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Italic/OpenSans-Italic.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/fonts/OpenSans/Italic/OpenSans-Italic.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Italic/OpenSans-Italic.ttf Binary file $/fonts/OpenSans/Italic/OpenSans-Italic.ttf has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Italic/OpenSans-Italic.woff Binary file $/fonts/OpenSans/Italic/OpenSans-Italic.woff has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Italic/OpenSans-Italic.woff2 Binary file $/fonts/OpenSans/Italic/OpenSans-Italic.woff2 has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Light/OpenSans-Light.eot Binary file $/fonts/OpenSans/Light/OpenSans-Light.eot has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Light/OpenSans-Light.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/fonts/OpenSans/Light/OpenSans-Light.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Light/OpenSans-Light.ttf Binary file $/fonts/OpenSans/Light/OpenSans-Light.ttf has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Light/OpenSans-Light.woff Binary file $/fonts/OpenSans/Light/OpenSans-Light.woff has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Light/OpenSans-Light.woff2 Binary file $/fonts/OpenSans/Light/OpenSans-Light.woff2 has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/LightItalic/OpenSans-LightItalic.eot Binary file $/fonts/OpenSans/LightItalic/OpenSans-LightItalic.eot has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/LightItalic/OpenSans-LightItalic.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/fonts/OpenSans/LightItalic/OpenSans-LightItalic.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/LightItalic/OpenSans-LightItalic.ttf Binary file $/fonts/OpenSans/LightItalic/OpenSans-LightItalic.ttf has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/LightItalic/OpenSans-LightItalic.woff Binary file $/fonts/OpenSans/LightItalic/OpenSans-LightItalic.woff has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/LightItalic/OpenSans-LightItalic.woff2 Binary file $/fonts/OpenSans/LightItalic/OpenSans-LightItalic.woff2 has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Regular/OpenSans-Regular.eot Binary file $/fonts/OpenSans/Regular/OpenSans-Regular.eot has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Regular/OpenSans-Regular.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/fonts/OpenSans/Regular/OpenSans-Regular.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Regular/OpenSans-Regular.ttf Binary file $/fonts/OpenSans/Regular/OpenSans-Regular.ttf has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Regular/OpenSans-Regular.woff Binary file $/fonts/OpenSans/Regular/OpenSans-Regular.woff has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Regular/OpenSans-Regular.woff2 Binary file $/fonts/OpenSans/Regular/OpenSans-Regular.woff2 has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Semibold/OpenSans-Semibold.eot Binary file $/fonts/OpenSans/Semibold/OpenSans-Semibold.eot has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Semibold/OpenSans-Semibold.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/fonts/OpenSans/Semibold/OpenSans-Semibold.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,21053 @@ + + + + +Created by FontForge 20141024 at Tue Dec 16 14:24:40 2014 + By System Administrator +Digitized data copyright (c) 2011, Google Corporation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Semibold/OpenSans-Semibold.ttf Binary file $/fonts/OpenSans/Semibold/OpenSans-Semibold.ttf has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Semibold/OpenSans-Semibold.woff Binary file $/fonts/OpenSans/Semibold/OpenSans-Semibold.woff has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/Semibold/OpenSans-Semibold.woff2 Binary file $/fonts/OpenSans/Semibold/OpenSans-Semibold.woff2 has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.eot Binary file $/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.eot has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.svg Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,958 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.ttf Binary file $/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.ttf has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.woff Binary file $/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.woff has changed diff -r 000000000000 -r 493bcb69166c $/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.woff2 Binary file $/fonts/OpenSans/SemiboldItalic/OpenSans-SemiboldItalic.woff2 has changed diff -r 000000000000 -r 493bcb69166c $/jquery.jplayer.swf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/jquery.jplayer.swf Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ +/Users/alexander/-/projects/cul/dml/soft/main-vis/src/DML/VendorAssetsBundle/Resources/assets/jquery.jplayer/2.9.2/jquery.jplayer.swf \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/testing.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/testing.css Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,1 @@ +body{overflow-y:scroll}.jasmine_html-reporter{background-color:#eee;padding:5px;margin:-8px;font-size:11px;font-family:Monaco,"Lucida Console",monospace;line-height:14px;color:#333}.jasmine_html-reporter a{text-decoration:none}.jasmine_html-reporter a:hover{text-decoration:underline}.jasmine_html-reporter p,.jasmine_html-reporter h1,.jasmine_html-reporter h2,.jasmine_html-reporter h3,.jasmine_html-reporter h4,.jasmine_html-reporter h5,.jasmine_html-reporter h6{margin:0;line-height:14px}.jasmine_html-reporter .banner,.jasmine_html-reporter .symbol-summary,.jasmine_html-reporter .summary,.jasmine_html-reporter .result-message,.jasmine_html-reporter .spec .description,.jasmine_html-reporter .spec-detail .description,.jasmine_html-reporter .alert .bar,.jasmine_html-reporter .stack-trace{padding-left:9px;padding-right:9px}.jasmine_html-reporter .banner{position:relative}.jasmine_html-reporter .banner .title{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAZCAMAAACGusnyAAACdlBMVEX/////AP+AgICqVaqAQICZM5mAVYCSSZKAQICOOY6ATYCLRouAQICJO4mSSYCIRIiPQICHPIeOR4CGQ4aMQICGPYaLRoCFQ4WKQICPPYWJRYCOQoSJQICNPoSIRICMQoSHQICHRICKQoOHQICKPoOJO4OJQYOMQICMQ4CIQYKLQICIPoKLQ4CKQICNPoKJQISMQ4KJQoSLQYKJQISLQ4KIQoSKQYKIQICIQISMQoSKQYKLQIOLQoOJQYGLQIOKQIOMQoGKQYOLQYGKQIOLQoGJQYOJQIOKQYGJQIOKQoGKQIGLQIKLQ4KKQoGLQYKJQIGKQYKJQIGKQIKJQoGKQYKLQIGKQYKLQIOJQoKKQoOJQYKKQIOJQoKKQoOKQIOLQoKKQYOLQYKJQIOKQoKKQYKKQoKJQYOKQYKLQIOKQoKLQYOKQYKLQIOJQoGKQYKJQYGJQoGKQYKLQoGLQYGKQoGJQYKKQYGJQIKKQoGJQYKLQIKKQYGLQYKKQYGKQYGKQYKJQYOKQoKJQYOKQYKLQYOLQYOKQYKLQYOKQoKKQYKKQYOKQYOJQYKKQYKLQYKKQIKKQoKKQYKKQYKKQoKJQIKKQYKLQYKKQYKKQIKKQYKKQYKKQYKKQIKKQYKJQYGLQYGKQYKKQYKKQYGKQIKKQYGKQYOJQoKKQYOLQYKKQYOKQoKKQYKKQoKKQYKKQYKJQYKLQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKJQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKLQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKmIDpEAAAA0XRSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAiIyQlJycoKissLS4wMTQ1Njc4OTo7PDw+P0BCQ0RISUpLTE1OUFNUVVdYWFlaW15fYGFiY2ZnaGlqa2xtb3BxcnN0dnh5ent8fX5/gIGChIWIioyNjo+QkZOUlZaYmZqbnJ2eoKGio6WmqKmsra6vsLGztre4ubq7vL2+wMHDxMjJysvNzs/Q0dLU1tfY2dvc3t/g4eLj5ebn6Onq6+zt7u/w8vP09fb3+Pn6+/z9/vkVQXAAAAMaSURBVHhe5dXxV1N1GMfxz2ABbDgIAm5VDJOyVDIJLUMaVpBWUZUaGbmqoGpZRSiGiRWp6KoZ5AB0ZY50RImZQIlahKkMYXv/R90dBvET/rJfOr3Ouc8v99zPec59zvf56j+vYKlViSf7250X4Mr3O29Tgq08BdGB4DhcekEJ5YkQKFsgWZdtj9JpV+I8xPjLFqkrsEIqO8PHSpis36jWazcqjEsfJjkvRssVU37SdIOu4XCf5vEJPsnwJpnRNU9JmxhMk8l1gehIrq7hTFjzOD+Vf88629qKMJVNltInFeRexRQyJlNeqd1iGDlSzrIUIyXbyFfm3RYprcQRe7lqtWyGYbfc6dT0R2vmdOOkX3u55C1rP37ftiH+tDby4r/RBT0w8TyEkr+epB9XgPDmSYYWbrhCuFYaIyw3fDQAXTnSkh+ANofiHmWf9l+FY1I90FdQTetstO00o23novzVsJ7uB3/C5TkbjRwZ5JerwV4iRWq9HFbFMaK/d0TYqayRiQPuIxxS3Bu8JWU90/60tKi7vkhaznez0a/TbVOKj5CaOZh6fWG6/Lyv9B/ZLR1gw/S/fpbeVD3MCW1li6SvWDOn65tr99/uvWtBS0XDm4s1t+sOHpG0kpBKx/l77wOSnxLpcx6TXmXLTPQOKYOf9Q1dfr8/SJ2mFdCvl1Yl93DiHUZvXeLJbGSzYu5gVJ2slbSakOR8dxCq5adQ2oFLqsE9Ex3L4qQO0eOPeU5x56bypXp4onSEb5OkICX6lDat55TeoztNKQcJaakrz9KCb95oD69IKq+yKW4XPjknaS52V0TZqE2cTtXjcHSCRmUO88e+85hj3EP74i9p8pylw7lxgMDyyl6OV7ZejnjNMfatu87LxRbH0IS35gt2a4ZjmGpVBdKK3Wr6INk8jWWSGqbA55CKgjBRC6E9w78ydTg3ABS3AFV1QN0Y4Aa2pgEjWnQURj9L0ayK6R2ysEqxHUKzYnLvvyU+i9KM2JHJzE4vyZOyDcOwOsySajeLPc8sNvPJkFlyJd20wpqAzZeAfZ3oWybxd+P/3j+SG3uSBdf2VQAAAABJRU5ErkJggg==') no-repeat;background:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmVyc2lvbj0iMS4xIgogICB3aWR0aD0iNjgxLjk2MjUyIgogICBoZWlnaHQ9IjE4Ny41IgogICBpZD0ic3ZnMiIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhOCI+PHJkZjpSREY+PGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGRlZnMKICAgICBpZD0iZGVmczYiPjxjbGlwUGF0aAogICAgICAgaWQ9ImNsaXBQYXRoMTgiPjxwYXRoCiAgICAgICAgIGQ9Ik0gMCwxNTAwIDAsMCBsIDU0NTUuNzQsMCAwLDE1MDAgTCAwLDE1MDAgeiIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgaWQ9InBhdGgyMCIgLz48L2NsaXBQYXRoPjwvZGVmcz48ZwogICAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMjUsMCwwLC0xLjI1LDAsMTg3LjUpIgogICAgIGlkPSJnMTAiPjxnCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuMSwwLjEpIgogICAgICAgaWQ9ImcxMiI+PGcKICAgICAgICAgaWQ9ImcxNCI+PGcKICAgICAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxOCkiCiAgICAgICAgICAgaWQ9ImcxNiI+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTU0NCw1OTkuNDM0IGMgMC45MiwtNDAuMzUyIDI1LjY4LC04MS42MDIgNzEuNTMsLTgxLjYwMiAyNy41MSwwIDQ3LjY4LDEyLjgzMiA2MS40NCwzNS43NTQgMTIuODMsMjIuOTMgMTIuODMsNTYuODUyIDEyLjgzLDgyLjUyNyBsIDAsMzI5LjE4NCAtNzEuNTIsMCAwLDEwNC41NDMgMjY2LjgzLDAgMCwtMTA0LjU0MyAtNzAuNiwwIDAsLTM0NC43NyBjIDAsLTU4LjY5MSAtMy42OCwtMTA0LjUzMSAtNDQuOTMsLTE1Mi4yMTggLTM2LjY4LC00Mi4xOCAtOTYuMjgsLTY2LjAyIC0xNTMuMTQsLTY2LjAyIC0xMTcuMzcsMCAtMjA3LjI0LDc3Ljk0MSAtMjAyLjY0LDE5Ny4xNDUgbCAxMzAuMiwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMjIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDIzMDEuNCw2NjIuNjk1IGMgMCw4MC43MDMgLTY2Ljk0LDE0NS44MTMgLTE0Ny42MywxNDUuODEzIC04My40NCwwIC0xNDcuNjMsLTY4Ljc4MSAtMTQ3LjYzLC0xNTEuMzAxIDAsLTc5Ljc4NSA2Ni45NCwtMTQ1LjgwMSAxNDUuOCwtMTQ1LjgwMSA4NC4zNSwwIDE0OS40Niw2Ny44NTIgMTQ5LjQ2LDE1MS4yODkgeiBtIC0xLjgzLC0xODEuNTQ3IGMgLTM1Ljc3LC01NC4wOTcgLTkzLjUzLC03OC44NTkgLTE1Ny43MiwtNzguODU5IC0xNDAuMywwIC0yNTEuMjQsMTE2LjQ0OSAtMjUxLjI0LDI1NC45MTggMCwxNDIuMTI5IDExMy43LDI2MC40MSAyNTYuNzQsMjYwLjQxIDYzLjI3LDAgMTE4LjI5LC0yOS4zMzYgMTUyLjIyLC04Mi41MjMgbCAwLDY5LjY4NyAxNzUuMTQsMCAwLC0xMDQuNTI3IC02MS40NCwwIDAsLTI4MC41OTggNjEuNDQsMCAwLC0xMDQuNTI3IC0xNzUuMTQsMCAwLDY2LjAxOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAyNjIyLjMzLDU1Ny4yNTggYyAzLjY3LC00NC4wMTYgMzMuMDEsLTczLjM0OCA3OC44NiwtNzMuMzQ4IDMzLjkzLDAgNjYuOTMsMjMuODI0IDY2LjkzLDYwLjUwNCAwLDQ4LjYwNiAtNDUuODQsNTYuODU2IC04My40NCw2Ni45NDEgLTg1LjI4LDIyLjAwNCAtMTc4LjgxLDQ4LjYwNiAtMTc4LjgxLDE1NS44NzkgMCw5My41MzYgNzguODYsMTQ3LjYzMyAxNjUuOTgsMTQ3LjYzMyA0NCwwIDgzLjQzLC05LjE3NiAxMTAuOTQsLTQ0LjAwOCBsIDAsMzMuOTIyIDgyLjUzLDAgMCwtMTMyLjk2NSAtMTA4LjIxLDAgYyAtMS44MywzNC44NTYgLTI4LjQyLDU3Ljc3NCAtNjMuMjYsNTcuNzc0IC0zMC4yNiwwIC02Mi4zNSwtMTcuNDIyIC02Mi4zNSwtNTEuMzQ4IDAsLTQ1Ljg0NyA0NC45MywtNTUuOTMgODAuNjksLTY0LjE4IDg4LjAyLC0yMC4xNzUgMTgyLjQ3LC00Ny42OTUgMTgyLjQ3LC0xNTcuNzM0IDAsLTk5LjAyNyAtODMuNDQsLTE1NC4wMzkgLTE3NS4xMywtMTU0LjAzOSAtNDkuNTMsMCAtOTQuNDYsMTUuNTgyIC0xMjYuNTUsNTMuMTggbCAwLC00MC4zNCAtODUuMjcsMCAwLDE0Mi4xMjkgMTE0LjYyLDAiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGgyNiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMjk4OC4xOCw4MDAuMjU0IC02My4yNiwwIDAsMTA0LjUyNyAxNjUuMDUsMCAwLC03My4zNTUgYyAzMS4xOCw1MS4zNDcgNzguODYsODUuMjc3IDE0MS4yMSw4NS4yNzcgNjcuODUsMCAxMjQuNzEsLTQxLjI1OCAxNTIuMjEsLTEwMi42OTkgMjYuNiw2Mi4zNTEgOTIuNjIsMTAyLjY5OSAxNjAuNDcsMTAyLjY5OSA1My4xOSwwIDEwNS40NiwtMjIgMTQxLjIxLC02Mi4zNTEgMzguNTIsLTQ0LjkzOCAzOC41MiwtOTMuNTMyIDM4LjUyLC0xNDkuNDU3IGwgMCwtMTg1LjIzOSA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40MiwwIDAsMTA0LjUyNyA2My4yOCwwIDAsMTU3LjcxNSBjIDAsMzIuMTAyIDAsNjAuNTI3IC0xNC42Nyw4OC45NTcgLTE4LjM0LDI2LjU4MiAtNDguNjEsNDAuMzQ0IC03OS43Nyw0MC4zNDQgLTMwLjI2LDAgLTYzLjI4LC0xMi44NDQgLTgyLjUzLC0zNi42NzIgLTIyLjkzLC0yOS4zNTUgLTIyLjkzLC01Ni44NjMgLTIyLjkzLC05Mi42MjkgbCAwLC0xNTcuNzE1IDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM4LjQxLDAgMCwxMDQuNTI3IDYzLjI4LDAgMCwxNTAuMzgzIGMgMCwyOS4zNDggMCw2Ni4wMjMgLTE0LjY3LDkxLjY5OSAtMTUuNTksMjkuMzM2IC00Ny42OSw0NC45MzQgLTgwLjcsNDQuOTM0IC0zMS4xOCwwIC01Ny43NywtMTEuMDA4IC03Ny45NCwtMzUuNzc0IC0yNC43NywtMzAuMjUzIC0yNi42LC02Mi4zNDMgLTI2LjYsLTk5Ljk0MSBsIDAsLTE1MS4zMDEgNjMuMjcsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNiwwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAzOTk4LjY2LDk1MS41NDcgLTExMS44NywwIDAsMTE4LjI5MyAxMTEuODcsMCAwLC0xMTguMjkzIHogbSAwLC00MzEuODkxIDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM5LjMzLDAgMCwxMDQuNTI3IDY0LjE5LDAgMCwyODAuNTk4IC02My4yNywwIDAsMTA0LjUyNyAxNzUuMTQsMCAwLC0zODUuMTI1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzAiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDQxNTkuMTIsODAwLjI1NCAtNjMuMjcsMCAwLDEwNC41MjcgMTc1LjE0LDAgMCwtNjkuNjg3IGMgMjkuMzUsNTQuMTAxIDg0LjM2LDgwLjY5OSAxNDQuODcsODAuNjk5IDUzLjE5LDAgMTA1LjQ1LC0yMi4wMTYgMTQxLjIyLC02MC41MjcgNDAuMzQsLTQ0LjkzNCA0MS4yNiwtODguMDMyIDQxLjI2LC0xNDMuOTU3IGwgMCwtMTkxLjY1MyA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40LDAgMCwxMDQuNTI3IDYzLjI2LDAgMCwxNTguNjM3IGMgMCwzMC4yNjIgMCw2MS40MzQgLTE5LjI2LDg4LjAzNSAtMjAuMTcsMjYuNTgyIC01My4xOCwzOS40MTQgLTg2LjE5LDM5LjQxNCAtMzMuOTMsMCAtNjguNzcsLTEzLjc1IC04OC45NCwtNDEuMjUgLTIxLjA5LC0yNy41IC0yMS4wOSwtNjkuNjg3IC0yMS4wOSwtMTAyLjcwNyBsIDAsLTE0Mi4xMjkgNjMuMjYsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNywwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDMyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA1MDgyLjQ4LDcwMy45NjUgYyAtMTkuMjQsNzAuNjA1IC04MS42LDExNS41NDcgLTE1NC4wNCwxMTUuNTQ3IC02Ni4wNCwwIC0xMjkuMywtNTEuMzQ4IC0xNDMuMDUsLTExNS41NDcgbCAyOTcuMDksMCB6IG0gODUuMjcsLTE0NC44ODMgYyAtMzguNTEsLTkzLjUyMyAtMTI5LjI3LC0xNTYuNzkzIC0yMzEuMDUsLTE1Ni43OTMgLTE0My4wNywwIC0yNTcuNjgsMTExLjg3MSAtMjU3LjY4LDI1NS44MzYgMCwxNDQuODgzIDEwOS4xMiwyNjEuMzI4IDI1NC45MSwyNjEuMzI4IDY3Ljg3LDAgMTM1LjcyLC0zMC4yNTggMTgzLjM5LC03OC44NjMgNDguNjIsLTUxLjM0NCA2OC43OSwtMTEzLjY5NSA2OC43OSwtMTgzLjM4MyBsIC0zLjY3LC0zOS40MzQgLTM5Ni4xMywwIGMgMTQuNjcsLTY3Ljg2MyA3Ny4wMywtMTE3LjM2MyAxNDYuNzIsLTExNy4zNjMgNDguNTksMCA5MC43NiwxOC4zMjggMTE4LjI4LDU4LjY3MiBsIDExNi40NCwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDY5MC44OTUsODUwLjcwMyA5MC43NSwwIDIyLjU0MywzMS4wMzUgMCwyNDMuMTIyIC0xMzUuODI5LDAgMCwtMjQzLjE0MSAyMi41MzYsLTMxLjAxNiIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDM2IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA2MzIuMzk1LDc0Mi4yNTggMjguMDM5LDg2LjMwNCAtMjIuNTUxLDMxLjA0IC0yMzEuMjIzLDc1LjEyOCAtNDEuOTc2LC0xMjkuMTgzIDIzMS4yNTcsLTc1LjEzNyAzNi40NTQsMTEuODQ4IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzgiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDcxNy40NDksNjUzLjEwNSAtNzMuNDEsNTMuMzYgLTM2LjQ4OCwtMTEuODc1IC0xNDIuOTAzLC0xOTYuNjkyIDEwOS44ODMsLTc5LjgyOCAxNDIuOTE4LDE5Ni43MDMgMCwzOC4zMzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0MCIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gODI4LjUyLDcwNi40NjUgLTczLjQyNiwtNTMuMzQgMC4wMTEsLTM4LjM1OSBMIDg5OC4wMDQsNDE4LjA3IDEwMDcuOSw0OTcuODk4IDg2NC45NzMsNjk0LjYwOSA4MjguNTIsNzA2LjQ2NSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA4MTIuMDg2LDgyOC41ODYgMjguMDU1LC04Ni4zMiAzNi40ODQsLTExLjgzNiAyMzEuMjI1LDc1LjExNyAtNDEuOTcsMTI5LjE4MyAtMjMxLjIzOSwtNzUuMTQgLTIyLjU1NSwtMzEuMDA0IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNDQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDczNi4zMDEsMTMzNS44OCBjIC0zMjMuMDQ3LDAgLTU4NS44NzUsLTI2Mi43OCAtNTg1Ljg3NSwtNTg1Ljc4MiAwLC0zMjMuMTE4IDI2Mi44MjgsLTU4NS45NzcgNTg1Ljg3NSwtNTg1Ljk3NyAzMjMuMDE5LDAgNTg1LjgwOSwyNjIuODU5IDU4NS44MDksNTg1Ljk3NyAwLDMyMy4wMDIgLTI2Mi43OSw1ODUuNzgyIC01ODUuODA5LDU4NS43ODIgbCAwLDAgeiBtIDAsLTExOC42MSBjIDI1Ny45NzIsMCA0NjcuMTg5LC0yMDkuMTMgNDY3LjE4OSwtNDY3LjE3MiAwLC0yNTguMTI5IC0yMDkuMjE3LC00NjcuMzQ4IC00NjcuMTg5LC00NjcuMzQ4IC0yNTguMDc0LDAgLTQ2Ny4yNTQsMjA5LjIxOSAtNDY3LjI1NCw0NjcuMzQ4IDAsMjU4LjA0MiAyMDkuMTgsNDY3LjE3MiA0NjcuMjU0LDQ2Ny4xNzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0NiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTA5MS4xMyw2MTkuODgzIC0xNzUuNzcxLDU3LjEyMSAxMS42MjksMzUuODA4IDE3NS43NjIsLTU3LjEyMSAtMTEuNjIsLTM1LjgwOCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQ4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA4NjYuOTU3LDkwMi4wNzQgODM2LjUsOTI0LjE5OSA5NDUuMTIxLDEwNzMuNzMgOTc1LjU4NiwxMDUxLjYxIDg2Ni45NTcsOTAyLjA3NCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDUwIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA2MDcuNDY1LDkwMy40NDUgNDk4Ljg1NSwxMDUyLjk3IDUyOS4zMiwxMDc1LjEgNjM3LjkzLDkyNS41NjYgNjA3LjQ2NSw5MDMuNDQ1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDM4MC42ODgsNjIyLjEyOSAtMTEuNjI2LDM1LjgwMSAxNzUuNzU4LDU3LjA5IDExLjYyMSwtMzUuODAxIC0xNzUuNzUzLC01Ny4wOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDU0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA3MTYuMjg5LDM3Ni41OSAzNy42NDA2LDAgMCwxODQuODE2IC0zNy42NDA2LDAgMCwtMTg0LjgxNiB6IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTYiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=') no-repeat,none;-webkit-background-size:100%;-moz-background-size:100%;-o-background-size:100%;background-size:100%;display:block;float:left;width:90px;height:25px}.jasmine_html-reporter .banner .version{margin-left:14px;position:relative;top:6px}.jasmine_html-reporter .banner .duration{position:absolute;right:14px;top:6px}.jasmine_html-reporter #jasmine_content{position:fixed;right:100%}.jasmine_html-reporter .version{color:#aaa}.jasmine_html-reporter .banner{margin-top:14px}.jasmine_html-reporter .duration{color:#aaa;float:right}.jasmine_html-reporter .symbol-summary{overflow:hidden;*zoom:1;margin:14px 0}.jasmine_html-reporter .symbol-summary li{display:inline-block;height:8px;width:14px;font-size:16px}.jasmine_html-reporter .symbol-summary li.passed{font-size:14px}.jasmine_html-reporter .symbol-summary li.passed:before{color:#007069;content:"\02022"}.jasmine_html-reporter .symbol-summary li.failed{line-height:9px}.jasmine_html-reporter .symbol-summary li.failed:before{color:#ca3a11;content:"\d7";font-weight:bold;margin-left:-1px}.jasmine_html-reporter .symbol-summary li.disabled{font-size:14px}.jasmine_html-reporter .symbol-summary li.disabled:before{color:#bababa;content:"\02022"}.jasmine_html-reporter .symbol-summary li.pending{line-height:17px}.jasmine_html-reporter .symbol-summary li.pending:before{color:#ba9d37;content:"*"}.jasmine_html-reporter .symbol-summary li.empty{font-size:14px}.jasmine_html-reporter .symbol-summary li.empty:before{color:#ba9d37;content:"\02022"}.jasmine_html-reporter .exceptions{color:#fff;float:right;margin-top:5px;margin-right:5px}.jasmine_html-reporter .bar{line-height:28px;font-size:14px;display:block;color:#eee}.jasmine_html-reporter .bar.failed{background-color:#ca3a11}.jasmine_html-reporter .bar.passed{background-color:#007069}.jasmine_html-reporter .bar.skipped{background-color:#bababa}.jasmine_html-reporter .bar.errored{background-color:#ca3a11}.jasmine_html-reporter .bar.menu{background-color:#fff;color:#aaa}.jasmine_html-reporter .bar.menu a{color:#333}.jasmine_html-reporter .bar a{color:white}.jasmine_html-reporter.spec-list .bar.menu.failure-list,.jasmine_html-reporter.spec-list .results .failures{display:none}.jasmine_html-reporter.failure-list .bar.menu.spec-list,.jasmine_html-reporter.failure-list .summary{display:none}.jasmine_html-reporter .running-alert{background-color:#666}.jasmine_html-reporter .results{margin-top:14px}.jasmine_html-reporter.showDetails .summaryMenuItem{font-weight:normal;text-decoration:inherit}.jasmine_html-reporter.showDetails .summaryMenuItem:hover{text-decoration:underline}.jasmine_html-reporter.showDetails .detailsMenuItem{font-weight:bold;text-decoration:underline}.jasmine_html-reporter.showDetails .summary{display:none}.jasmine_html-reporter.showDetails #details{display:block}.jasmine_html-reporter .summaryMenuItem{font-weight:bold;text-decoration:underline}.jasmine_html-reporter .summary{margin-top:14px}.jasmine_html-reporter .summary ul{list-style-type:none;margin-left:14px;padding-top:0;padding-left:0}.jasmine_html-reporter .summary ul.suite{margin-top:7px;margin-bottom:7px}.jasmine_html-reporter .summary li.passed a{color:#007069}.jasmine_html-reporter .summary li.failed a{color:#ca3a11}.jasmine_html-reporter .summary li.empty a{color:#ba9d37}.jasmine_html-reporter .summary li.pending a{color:#ba9d37}.jasmine_html-reporter .description+.suite{margin-top:0}.jasmine_html-reporter .suite{margin-top:14px}.jasmine_html-reporter .suite a{color:#333}.jasmine_html-reporter .failures .spec-detail{margin-bottom:28px}.jasmine_html-reporter .failures .spec-detail .description{background-color:#ca3a11}.jasmine_html-reporter .failures .spec-detail .description a{color:white}.jasmine_html-reporter .result-message{padding-top:14px;color:#333;white-space:pre}.jasmine_html-reporter .result-message span.result{display:block}.jasmine_html-reporter .stack-trace{margin:5px 0 0 0;max-height:224px;overflow:auto;line-height:18px;color:#666;border:1px solid #ddd;background:white;white-space:pre} \ No newline at end of file diff -r 000000000000 -r 493bcb69166c $/testing.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/$/testing.js Tue Feb 09 20:54:02 2016 +0100 @@ -0,0 +1,13 @@ +getJasmineRequireObj=function(jasmineGlobal){var jasmineRequire;if(typeof module!=="undefined"&&module.exports){jasmineGlobal=global;jasmineRequire=exports}else{jasmineRequire=jasmineGlobal.jasmineRequire=jasmineGlobal.jasmineRequire||{}}function getJasmineRequire(){return jasmineRequire}getJasmineRequire().core=function(jRequire){var j$={};jRequire.base(j$,jasmineGlobal);j$.util=jRequire.util();j$.Any=jRequire.Any();j$.CallTracker=jRequire.CallTracker();j$.MockDate=jRequire.MockDate();j$.Clock=jRequire.Clock();j$.DelayedFunctionScheduler=jRequire.DelayedFunctionScheduler();j$.Env=jRequire.Env(j$);j$.ExceptionFormatter=jRequire.ExceptionFormatter();j$.Expectation=jRequire.Expectation();j$.buildExpectationResult=jRequire.buildExpectationResult();j$.JsApiReporter=jRequire.JsApiReporter();j$.matchersUtil=jRequire.matchersUtil(j$);j$.ObjectContaining=jRequire.ObjectContaining(j$);j$.pp=jRequire.pp(j$);j$.QueueRunner=jRequire.QueueRunner(j$);j$.ReportDispatcher=jRequire.ReportDispatcher();j$.Spec=jRequire.Spec(j$);j$.SpyRegistry=jRequire.SpyRegistry(j$);j$.SpyStrategy=jRequire.SpyStrategy();j$.Suite=jRequire.Suite();j$.Timer=jRequire.Timer();j$.version=jRequire.version();j$.matchers=jRequire.requireMatchers(jRequire,j$);return j$};return getJasmineRequire}(this);getJasmineRequireObj().requireMatchers=function(jRequire,j$){var availableMatchers=["toBe","toBeCloseTo","toBeDefined","toBeFalsy","toBeGreaterThan","toBeLessThan","toBeNaN","toBeNull","toBeTruthy","toBeUndefined","toContain","toEqual","toHaveBeenCalled","toHaveBeenCalledWith","toMatch","toThrow","toThrowError"],matchers={};for(var i=0;i0};j$.any=function(clazz){return new j$.Any(clazz)};j$.objectContaining=function(sample){return new j$.ObjectContaining(sample)};j$.createSpy=function(name,originalFn){var spyStrategy=new j$.SpyStrategy({name:name,fn:originalFn,getSpy:function(){return spy}}),callTracker=new j$.CallTracker,spy=function(){var callData={object:this,args:Array.prototype.slice.apply(arguments)};callTracker.track(callData);var returnValue=spyStrategy.exec.apply(this,arguments);callData.returnValue=returnValue;return returnValue};for(var prop in originalFn){if(prop==="and"||prop==="calls"){throw new Error("Jasmine spies would overwrite the 'and' and 'calls' properties on the object being spied upon")}spy[prop]=originalFn[prop]}spy.and=spyStrategy;spy.calls=callTracker;return spy};j$.isSpy=function(putativeSpy){if(!putativeSpy){return false}return putativeSpy.and instanceof j$.SpyStrategy&&putativeSpy.calls instanceof j$.CallTracker};j$.createSpyObj=function(baseName,methodNames){if(!j$.isArray_(methodNames)||methodNames.length===0){throw"createSpyObj requires a non-empty array of method names to create spies for"}var obj={};for(var i=0;i/g,">")};util.argsToArray=function(args){var arrayOfArgs=[];for(var i=0;i0){return"failed"}else{return"passed"}};Spec.prototype.isExecutable=function(){return!this.disabled&&!this.markedPending};Spec.prototype.getFullName=function(){return this.getSpecName(this)};Spec.pendingSpecExceptionMessage="=> marked Pending";Spec.isPendingSpecException=function(e){return!!(e&&e.toString&&e.toString().indexOf(Spec.pendingSpecExceptionMessage)!==-1)};return Spec};if(typeof window==void 0&&typeof exports=="object"){exports.Spec=jasmineRequire.Spec}getJasmineRequireObj().Env=function(j$){function Env(options){options=options||{};var self=this;var global=options.global||j$.getGlobal();var totalSpecsDefined=0;var catchExceptions=true;var realSetTimeout=j$.getGlobal().setTimeout;var realClearTimeout=j$.getGlobal().clearTimeout;this.clock=new j$.Clock(global,new j$.DelayedFunctionScheduler,new j$.MockDate(global));var runnableLookupTable={};var runnableResources={};var currentSpec=null;var currentlyExecutingSuites=[];var currentDeclarationSuite=null;var currentSuite=function(){return currentlyExecutingSuites[currentlyExecutingSuites.length-1]};var currentRunnable=function(){return currentSpec||currentSuite()};var reporter=new j$.ReportDispatcher(["jasmineStarted","jasmineDone","suiteStarted","suiteDone","specStarted","specDone"]);this.specFilter=function(){return true};this.addCustomEqualityTester=function(tester){if(!currentRunnable()){throw new Error("Custom Equalities must be added in a before function or a spec")}runnableResources[currentRunnable().id].customEqualityTesters.push(tester)};this.addMatchers=function(matchersToAdd){if(!currentRunnable()){throw new Error("Matchers must be added in a before function or a spec")}var customMatchers=runnableResources[currentRunnable().id].customMatchers;for(var matcherName in matchersToAdd){customMatchers[matcherName]=matchersToAdd[matcherName]}};j$.Expectation.addCoreMatchers(j$.matchers);var nextSpecId=0;var getNextSpecId=function(){return"spec"+nextSpecId++};var nextSuiteId=0;var getNextSuiteId=function(){return"suite"+nextSuiteId++};var expectationFactory=function(actual,spec){return j$.Expectation.Factory({util:j$.matchersUtil,customEqualityTesters:runnableResources[spec.id].customEqualityTesters,customMatchers:runnableResources[spec.id].customMatchers,actual:actual,addExpectationResult:addExpectationResult});function addExpectationResult(passed,result){return spec.addExpectationResult(passed,result)}};var defaultResourcesForRunnable=function(id,parentRunnableId){var resources={spies:[],customEqualityTesters:[],customMatchers:{}};if(runnableResources[parentRunnableId]){resources.customEqualityTesters=j$.util.clone(runnableResources[parentRunnableId].customEqualityTesters);resources.customMatchers=j$.util.clone(runnableResources[parentRunnableId].customMatchers)}runnableResources[id]=resources};var clearResourcesForRunnable=function(id){spyRegistry.clearSpies();delete runnableResources[id]};var beforeAndAfterFns=function(suite,runnablesExplictlySet){return function(){var befores=[],afters=[],beforeAlls=[],afterAlls=[];while(suite){befores=befores.concat(suite.beforeFns);afters=afters.concat(suite.afterFns);if(runnablesExplictlySet()){beforeAlls=beforeAlls.concat(suite.beforeAllFns);afterAlls=afterAlls.concat(suite.afterAllFns)}suite=suite.parentSuite}return{befores:beforeAlls.reverse().concat(befores.reverse()),afters:afters.concat(afterAlls)}}};var getSpecName=function(spec,suite){return suite.getFullName()+" "+spec.description};var buildExpectationResult=j$.buildExpectationResult,exceptionFormatter=new j$.ExceptionFormatter,expectationResultFactory=function(attrs){attrs.messageFormatter=exceptionFormatter.message;attrs.stackFormatter=exceptionFormatter.stack;return buildExpectationResult(attrs)};this.catchExceptions=function(value){catchExceptions=!!value;return catchExceptions};this.catchingExceptions=function(){return catchExceptions};var maximumSpecCallbackDepth=20;var currentSpecCallbackDepth=0;function clearStack(fn){currentSpecCallbackDepth++;if(currentSpecCallbackDepth>=maximumSpecCallbackDepth){currentSpecCallbackDepth=0;realSetTimeout(fn,0)}else{fn()}}var catchException=function(e){return j$.Spec.isPendingSpecException(e)||catchExceptions};var queueRunnerFactory=function(options){options.catchException=catchException;options.clearStack=options.clearStack||clearStack;options.timer={setTimeout:realSetTimeout,clearTimeout:realClearTimeout};options.fail=self.fail;new j$.QueueRunner(options).execute()};var topSuite=new j$.Suite({env:this,id:getNextSuiteId(),description:"Jasmine__TopLevel__Suite",queueRunner:queueRunnerFactory});runnableLookupTable[topSuite.id]=topSuite;defaultResourcesForRunnable(topSuite.id);currentDeclarationSuite=topSuite;this.topSuite=function(){return topSuite};this.execute=function(runnablesToRun){if(runnablesToRun){runnablesExplictlySet=true}else if(focusedRunnables.length){runnablesExplictlySet=true;runnablesToRun=focusedRunnables}else{runnablesToRun=[topSuite.id]}var allFns=[];for(var i=0;i"};return Any};getJasmineRequireObj().CallTracker=function(){function CallTracker(){var calls=[];this.track=function(context){calls.push(context)};this.any=function(){return!!calls.length};this.count=function(){return calls.length};this.argsFor=function(index){var call=calls[index];return call?call.args:[]};this.all=function(){return calls};this.allArgs=function(){var callArgs=[];for(var i=0;i2){throw new Error("IE < 9 cannot support extra params to setTimeout without a polyfill")}return timer.setTimeout(fn,delay)}return Function.prototype.apply.apply(timer.setTimeout,[global,arguments])};self.setInterval=function(fn,delay,params){if(legacyIE()){if(arguments.length>2){throw new Error("IE < 9 cannot support extra params to setInterval without a polyfill")}return timer.setInterval(fn,delay)}return Function.prototype.apply.apply(timer.setInterval,[global,arguments])};self.clearTimeout=function(id){return Function.prototype.call.apply(timer.clearTimeout,[global,id])};self.clearInterval=function(id){return Function.prototype.call.apply(timer.clearInterval,[global,id])};self.tick=function(millis){if(installed){mockDate.tick(millis);delayedFunctionScheduler.tick(millis)}else{throw new Error("Mock clock is not installed, use jasmine.clock().install()")}};return self;function legacyIE(){return!(realTimingFunctions.setTimeout||realTimingFunctions.setInterval).apply}function replace(dest,source){for(var prop in source){dest[prop]=source[prop]}}function setTimeout(fn,delay){return delayedFunctionScheduler.scheduleFunction(fn,delay,argSlice(arguments,2))}function clearTimeout(id){return delayedFunctionScheduler.removeFunctionWithId(id)}function setInterval(fn,interval){return delayedFunctionScheduler.scheduleFunction(fn,interval,argSlice(arguments,2),true)}function clearInterval(id){return delayedFunctionScheduler.removeFunctionWithId(id)}function argSlice(argsObj,n){return Array.prototype.slice.call(argsObj,n)}}return Clock};getJasmineRequireObj().DelayedFunctionScheduler=function(){function DelayedFunctionScheduler(){var self=this;var scheduledLookup=[];var scheduledFunctions={};var currentTime=0;var delayedFnCount=0;self.tick=function(millis){millis=millis||0;var endTime=currentTime+millis;runScheduledFunctions(endTime);currentTime=endTime};self.scheduleFunction=function(funcToCall,millis,params,recurring,timeoutKey,runAtMillis){var f;if(typeof funcToCall==="string"){f=function(){return eval(funcToCall)}}else{f=funcToCall}millis=millis||0;timeoutKey=timeoutKey||++delayedFnCount;runAtMillis=runAtMillis||currentTime+millis;var funcToSchedule={runAtMillis:runAtMillis,funcToCall:f,recurring:recurring,params:params,timeoutKey:timeoutKey,millis:millis};if(runAtMillis in scheduledFunctions){scheduledFunctions[runAtMillis].push(funcToSchedule)}else{scheduledFunctions[runAtMillis]=[funcToSchedule];scheduledLookup.push(runAtMillis);scheduledLookup.sort(function(a,b){return a-b})}return timeoutKey};self.removeFunctionWithId=function(timeoutKey){for(var runAtMillis in scheduledFunctions){var funcs=scheduledFunctions[runAtMillis];var i=indexOfFirstToPass(funcs,function(func){return func.timeoutKey===timeoutKey});if(i>-1){if(funcs.length===1){delete scheduledFunctions[runAtMillis];deleteFromLookup(runAtMillis)}else{funcs.splice(i,1)}break}}};self.reset=function(){currentTime=0;scheduledLookup=[];scheduledFunctions={};delayedFnCount=0};return self;function indexOfFirstToPass(array,testFn){var index=-1;for(var i=0;i-1){scheduledLookup.splice(i,1)}}function reschedule(scheduledFn){self.scheduleFunction(scheduledFn.funcToCall,scheduledFn.millis,scheduledFn.params,true,scheduledFn.timeoutKey,scheduledFn.runAtMillis+scheduledFn.millis)}function runScheduledFunctions(endTime){if(scheduledLookup.length===0||scheduledLookup[0]>endTime){return}do{currentTime=scheduledLookup.shift();var funcsToRun=scheduledFunctions[currentTime];delete scheduledFunctions[currentTime];for(var i=0;i0&¤tTime!==endTime&&scheduledLookup[0]<=endTime)}}return DelayedFunctionScheduler};getJasmineRequireObj().ExceptionFormatter=function(){function ExceptionFormatter(){this.message=function(error){var message="";if(error.name&&error.message){message+=error.name+": "+error.message}else{message+=error.toString()+" thrown"}if(error.fileName||error.sourceURL){message+=" in "+(error.fileName||error.sourceURL)}if(error.line||error.lineNumber){message+=" (line "+(error.line||error.lineNumber)+")"}return message};this.stack=function(error){return error?error.stack:null}}return ExceptionFormatter};getJasmineRequireObj().Expectation=function(){function Expectation(options){this.util=options.util||{buildFailureMessage:function(){}};this.customEqualityTesters=options.customEqualityTesters||[];this.actual=options.actual;this.addExpectationResult=options.addExpectationResult||function(){};this.isNot=options.isNot;var customMatchers=options.customMatchers||{};for(var matcherName in customMatchers){this[matcherName]=Expectation.prototype.wrapCompare(matcherName,customMatchers[matcherName])}}Expectation.prototype.wrapCompare=function(name,matcherFactory){return function(){var args=Array.prototype.slice.call(arguments,0),expected=args.slice(0),message="";args.unshift(this.actual);var matcher=matcherFactory(this.util,this.customEqualityTesters),matcherCompare=matcher.compare;function defaultNegativeCompare(){var result=matcher.compare.apply(null,args);result.pass=!result.pass;return result}if(this.isNot){matcherCompare=matcher.negativeCompare||defaultNegativeCompare}var result=matcherCompare.apply(null,args);if(!result.pass){if(!result.message){args.unshift(this.isNot);args.unshift(name);message=this.util.buildFailureMessage.apply(null,args)}else{if(Object.prototype.toString.apply(result.message)==="[object Function]"){message=result.message()}else{message=result.message}}}if(expected.length==1){expected=expected[0]}this.addExpectationResult(result.pass,{matcherName:name,passed:result.pass,message:message,actual:this.actual,expected:expected})}};Expectation.addCoreMatchers=function(matchers){var prototype=Expectation.prototype;for(var matcherName in matchers){var matcher=matchers[matcherName];prototype[matcherName]=prototype.wrapCompare(matcherName,matcher)}};Expectation.Factory=function(options){options=options||{};var expect=new Expectation(options);options.isNot=true;expect.not=new Expectation(options);return expect};return Expectation};getJasmineRequireObj().buildExpectationResult=function(){function buildExpectationResult(options){var messageFormatter=options.messageFormatter||function(){},stackFormatter=options.stackFormatter||function(){};var result={matcherName:options.matcherName,message:message(),stack:stack(),passed:options.passed};if(!result.passed){result.expected=options.expected;result.actual=options.actual}return result;function message(){if(options.passed){return"Passed."}else if(options.message){return options.message}else if(options.error){return messageFormatter(options.error)}return""}function stack(){if(options.passed){return""}var error=options.error;if(!error){try{throw new Error(message())}catch(e){error=e}}return stackFormatter(error)}}return buildExpectationResult};getJasmineRequireObj().MockDate=function(){function MockDate(global){var self=this;var currentTime=0;if(!global||!global.Date){self.install=function(){};self.tick=function(){};self.uninstall=function(){};return self}var GlobalDate=global.Date;self.install=function(mockDate){if(mockDate instanceof GlobalDate){currentTime=mockDate.getTime()}else{currentTime=(new GlobalDate).getTime()}global.Date=FakeDate};self.tick=function(millis){millis=millis||0;currentTime=currentTime+millis};self.uninstall=function(){currentTime=0;global.Date=GlobalDate};createDateProperties();return self;function FakeDate(){switch(arguments.length){case 0:return new GlobalDate(currentTime);case 1:return new GlobalDate(arguments[0]);case 2:return new GlobalDate(arguments[0],arguments[1]);case 3:return new GlobalDate(arguments[0],arguments[1],arguments[2]);case 4:return new GlobalDate(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return new GlobalDate(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return new GlobalDate(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);case 7:return new GlobalDate(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6])}}function createDateProperties(){FakeDate.prototype=GlobalDate.prototype;FakeDate.now=function(){if(GlobalDate.now){return currentTime}else{throw new Error("Browser does not support Date.now()")}};FakeDate.toSource=GlobalDate.toSource;FakeDate.toString=GlobalDate.toString;FakeDate.parse=GlobalDate.parse;FakeDate.UTC=GlobalDate.UTC}}return MockDate};getJasmineRequireObj().ObjectContaining=function(j$){function ObjectContaining(sample){this.sample=sample}ObjectContaining.prototype.jasmineMatches=function(other,mismatchKeys,mismatchValues){if(typeof this.sample!=="object"){throw new Error("You must provide an object to objectContaining, not '"+this.sample+"'.")}mismatchKeys=mismatchKeys||[];mismatchValues=mismatchValues||[];var hasKey=function(obj,keyName){return obj!==null&&!j$.util.isUndefined(obj[keyName])};for(var property in this.sample){if(!hasKey(other,property)&&hasKey(this.sample,property)){mismatchKeys.push("expected has key '"+property+"', but missing from actual.")}else if(!j$.matchersUtil.equals(other[property],this.sample[property])){mismatchValues.push("'"+property+"' was '"+(other[property]?j$.util.htmlEscape(other[property].toString()):other[property])+"' in actual, but was '"+(this.sample[property]?j$.util.htmlEscape(this.sample[property].toString()):this.sample[property])+"' in expected.")}}return mismatchKeys.length===0&&mismatchValues.length===0};ObjectContaining.prototype.jasmineToString=function(){return""};return ObjectContaining};getJasmineRequireObj().pp=function(j$){function PrettyPrinter(){this.ppNestLevel_=0;this.seen=[]}PrettyPrinter.prototype.format=function(value){this.ppNestLevel_++;try{if(j$.util.isUndefined(value)){this.emitScalar("undefined")}else if(value===null){this.emitScalar("null")}else if(value===0&&1/value===-Infinity){this.emitScalar("-0")}else if(value===j$.getGlobal()){this.emitScalar("")}else if(value.jasmineToString){this.emitScalar(value.jasmineToString())}else if(typeof value==="string"){this.emitString(value)}else if(j$.isSpy(value)){this.emitScalar("spy on "+value.and.identity())}else if(value instanceof RegExp){this.emitScalar(value.toString())}else if(typeof value==="function"){this.emitScalar("Function")}else if(typeof value.nodeType==="number"){this.emitScalar("HTMLNode")}else if(value instanceof Date){this.emitScalar("Date("+value+")")}else if(j$.util.arrayContains(this.seen,value)){this.emitScalar("")}else if(j$.isArray_(value)||j$.isA_("Object",value)){this.seen.push(value);if(j$.isArray_(value)){this.emitArray(value)}else{this.emitObject(value)}this.seen.pop()}else{this.emitScalar(value.toString())}}finally{this.ppNestLevel_--}};PrettyPrinter.prototype.iterateObject=function(obj,fn){for(var property in obj){if(!Object.prototype.hasOwnProperty.call(obj,property)){continue}fn(property,obj.__lookupGetter__?!j$.util.isUndefined(obj.__lookupGetter__(property))&&obj.__lookupGetter__(property)!==null:false)}};PrettyPrinter.prototype.emitArray=j$.unimplementedMethod_;PrettyPrinter.prototype.emitObject=j$.unimplementedMethod_;PrettyPrinter.prototype.emitScalar=j$.unimplementedMethod_;PrettyPrinter.prototype.emitString=j$.unimplementedMethod_;function StringPrettyPrinter(){PrettyPrinter.call(this);this.string=""}j$.util.inherit(StringPrettyPrinter,PrettyPrinter);StringPrettyPrinter.prototype.emitScalar=function(value){this.append(value)};StringPrettyPrinter.prototype.emitString=function(value){this.append("'"+value+"'")};StringPrettyPrinter.prototype.emitArray=function(array){if(this.ppNestLevel_>j$.MAX_PRETTY_PRINT_DEPTH){this.append("Array"); +return}var length=Math.min(array.length,j$.MAX_PRETTY_PRINT_ARRAY_LENGTH);this.append("[ ");for(var i=0;i0){this.append(", ")}this.format(array[i])}if(array.length>length){this.append(", ...")}this.append(" ]")};StringPrettyPrinter.prototype.emitObject=function(obj){if(this.ppNestLevel_>j$.MAX_PRETTY_PRINT_DEPTH){this.append("Object");return}var self=this;this.append("{ ");var first=true;this.iterateObject(obj,function(property,isGetter){if(first){first=false}else{self.append(", ")}self.append(property);self.append(": ");if(isGetter){self.append("")}else{self.format(obj[property])}});this.append(" }")};StringPrettyPrinter.prototype.append=function(value){this.string+=value};return function(value){var stringPrettyPrinter=new StringPrettyPrinter;stringPrettyPrinter.format(value);return stringPrettyPrinter.string}};getJasmineRequireObj().QueueRunner=function(j$){function once(fn){var called=false;return function(){if(!called){called=true;fn()}}}function QueueRunner(attrs){this.queueableFns=attrs.queueableFns||[];this.onComplete=attrs.onComplete||function(){};this.clearStack=attrs.clearStack||function(fn){fn()};this.onException=attrs.onException||function(){};this.catchException=attrs.catchException||function(){return true};this.userContext=attrs.userContext||{};this.timer=attrs.timeout||{setTimeout:setTimeout,clearTimeout:clearTimeout};this.fail=attrs.fail||function(){}}QueueRunner.prototype.execute=function(){this.run(this.queueableFns,0)};QueueRunner.prototype.run=function(queueableFns,recursiveIndex){var length=queueableFns.length,self=this,iterativeIndex;for(iterativeIndex=recursiveIndex;iterativeIndex0){return attemptAsync(queueableFn)}else{attemptSync(queueableFn)}}var runnerDone=iterativeIndex>=length;if(runnerDone){this.clearStack(this.onComplete)}function attemptSync(queueableFn){try{queueableFn.fn.call(self.userContext)}catch(e){handleException(e,queueableFn)}}function attemptAsync(queueableFn){var clearTimeout=function(){Function.prototype.apply.apply(self.timer.clearTimeout,[j$.getGlobal(),[timeoutId]])},next=once(function(){clearTimeout(timeoutId);self.run(queueableFns,iterativeIndex+1)}),timeoutId;next.fail=function(){self.fail.apply(null,arguments);next()};if(queueableFn.timeout){timeoutId=Function.prototype.apply.apply(self.timer.setTimeout,[j$.getGlobal(),[function(){var error=new Error("Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.");onException(error,queueableFn);next()},queueableFn.timeout()]])}try{queueableFn.fn.call(self.userContext,next)}catch(e){handleException(e,queueableFn);next()}}function onException(e,queueableFn){self.onException(e)}function handleException(e,queueableFn){onException(e,queueableFn);if(!self.catchException(e)){throw e}}};return QueueRunner};getJasmineRequireObj().ReportDispatcher=function(){function ReportDispatcher(methods){var dispatchedMethods=methods||[];for(var i=0;i0){return"failed"}else{return"finished"}};Suite.prototype.execute=function(onComplete){var self=this;this.onStart(this);if(this.disabled){complete();return}var allFns=[];for(var i=0;i=0},buildFailureMessage:function(){var args=Array.prototype.slice.call(arguments,0),matcherName=args[0],isNot=args[1],actual=args[2],expected=args.slice(3),englishyPredicate=matcherName.replace(/[A-Z]/g,function(s){return" "+s.toLowerCase()});var message="Expected "+j$.pp(actual)+(isNot?" not ":" ")+englishyPredicate;if(expected.length>0){for(var i=0;i0){message+=","}message+=" "+j$.pp(expected[i])}}return message+"."}};function eq(a,b,aStack,bStack,customTesters){var result=true;for(var i=0;iexpected}}}}return toBeGreaterThan};getJasmineRequireObj().toBeLessThan=function(){function toBeLessThan(){return{compare:function(actual,expected){return{pass:actual1){throw new Error("toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith")}result.pass=actual.calls.any();result.message=result.pass?"Expected spy "+actual.and.identity()+" not to have been called.":"Expected spy "+actual.and.identity()+" to have been called.";return result}}}return toHaveBeenCalled};getJasmineRequireObj().toHaveBeenCalledWith=function(j$){function toHaveBeenCalledWith(util,customEqualityTesters){return{compare:function(){var args=Array.prototype.slice.call(arguments,0),actual=args[0],expectedArgs=args.slice(1),result={pass:false};if(!j$.isSpy(actual)){throw new Error("Expected a spy, but got "+j$.pp(actual)+".")}if(!actual.calls.any()){result.message=function(){return"Expected spy "+actual.and.identity()+" to have been called with "+j$.pp(expectedArgs)+" but it was never called."};return result}if(util.contains(actual.calls.allArgs(),expectedArgs,customEqualityTesters)){result.pass=true;result.message=function(){return"Expected spy "+actual.and.identity()+" not to have been called with "+j$.pp(expectedArgs)+" but it was."}}else{result.message=function(){return"Expected spy "+actual.and.identity()+" to have been called with "+j$.pp(expectedArgs)+" but actual calls were "+j$.pp(actual.calls.allArgs()).replace(/^\[ | \]$/g,"")+"."}}return result}}}return toHaveBeenCalledWith};getJasmineRequireObj().toMatch=function(){function toMatch(){return{compare:function(actual,expected){var regexp=new RegExp(expected);return{pass:regexp.test(actual)}}}}return toMatch};getJasmineRequireObj().toThrow=function(j$){function toThrow(util){return{compare:function(actual,expected){var result={pass:false},threw=false,thrown;if(typeof actual!="function"){throw new Error("Actual is not a Function")}try{actual()}catch(e){threw=true;thrown=e}if(!threw){result.message="Expected function to throw an exception.";return result}if(arguments.length==1){result.pass=true;result.message=function(){return"Expected function not to throw, but it threw "+j$.pp(thrown)+"."};return result}if(util.equals(thrown,expected)){result.pass=true;result.message=function(){return"Expected function not to throw "+j$.pp(expected)+"."}}else{result.message=function(){return"Expected function to throw "+j$.pp(expected)+", but it threw "+j$.pp(thrown)+"."}}return result}}}return toThrow};getJasmineRequireObj().toThrowError=function(j$){function toThrowError(util){return{compare:function(actual){var threw=false,pass={pass:true},fail={pass:false},thrown;if(typeof actual!="function"){throw new Error("Actual is not a Function")}var errorMatcher=getMatcher.apply(null,arguments);try{actual()}catch(e){threw=true;thrown=e}if(!threw){fail.message="Expected function to throw an Error.";return fail}if(!(thrown instanceof Error)){fail.message=function(){return"Expected function to throw an Error, but it threw "+j$.pp(thrown)+"."};return fail}if(errorMatcher.hasNoSpecifics()){pass.message="Expected function not to throw an Error, but it threw "+fnNameFor(thrown)+".";return pass}if(errorMatcher.matches(thrown)){pass.message=function(){return"Expected function not to throw "+errorMatcher.errorTypeDescription+errorMatcher.messageDescription()+"."};return pass}else{fail.message=function(){return"Expected function to throw "+errorMatcher.errorTypeDescription+errorMatcher.messageDescription()+", but it threw "+errorMatcher.thrownDescription(thrown)+"."};return fail}}};function getMatcher(){var expected=null,errorType=null;if(arguments.length==2){expected=arguments[1];if(isAnErrorType(expected)){errorType=expected;expected=null}}else if(arguments.length>2){errorType=arguments[1];expected=arguments[2];if(!isAnErrorType(errorType)){throw new Error("Expected error type is not an Error.")}}if(expected&&!isStringOrRegExp(expected)){if(errorType){throw new Error("Expected error message is not a string or RegExp.")}else{throw new Error("Expected is not an Error, string, or RegExp.")}}function messageMatch(message){if(typeof expected=="string"){return expected==message}else{return expected.test(message)}}return{errorTypeDescription:errorType?fnNameFor(errorType):"an exception",thrownDescription:function(thrown){var thrownName=errorType?fnNameFor(thrown.constructor):"an exception",thrownMessage="";if(expected){thrownMessage=" with message "+j$.pp(thrown.message)}return thrownName+thrownMessage},messageDescription:function(){if(expected===null){return""}else if(expected instanceof RegExp){return" with a message matching "+j$.pp(expected)}else{return" with message "+j$.pp(expected)}},hasNoSpecifics:function(){return expected===null&&errorType===null},matches:function(error){return(errorType===null||error.constructor===errorType)&&(expected===null||messageMatch(error.message))}}}function fnNameFor(func){return func.name||func.toString().match(/^\s*function\s*(\w*)\s*\(/)[1]}function isStringOrRegExp(potential){return potential instanceof RegExp||typeof potential=="string"}function isAnErrorType(type){if(typeof type!=="function"){return false}var Surrogate=function(){};Surrogate.prototype=type.prototype;return new Surrogate instanceof Error}}return toThrowError};getJasmineRequireObj().interface=function(jasmine,env){var jasmineInterface={describe:function(description,specDefinitions){return env.describe(description,specDefinitions)},xdescribe:function(description,specDefinitions){return env.xdescribe(description,specDefinitions)},fdescribe:function(description,specDefinitions){return env.fdescribe(description,specDefinitions)},it:function(desc,func){return env.it(desc,func)},xit:function(desc,func){return env.xit(desc,func)},fit:function(desc,func){return env.fit(desc,func)},beforeEach:function(beforeEachFunction){return env.beforeEach(beforeEachFunction)},afterEach:function(afterEachFunction){return env.afterEach(afterEachFunction)},beforeAll:function(beforeAllFunction){return env.beforeAll(beforeAllFunction)},afterAll:function(afterAllFunction){return env.afterAll(afterAllFunction)},expect:function(actual){return env.expect(actual)},pending:function(){return env.pending()},fail:function(){return env.fail.apply(env,arguments)},spyOn:function(obj,methodName){return env.spyOn(obj,methodName)},jsApiReporter:new jasmine.JsApiReporter({timer:new jasmine.Timer}),jasmine:jasmine};jasmine.addCustomEqualityTester=function(tester){env.addCustomEqualityTester(tester)};jasmine.addMatchers=function(matchers){return env.addMatchers(matchers)};jasmine.clock=function(){return env.clock};return jasmineInterface};getJasmineRequireObj().version=function(){return"2.1.3"}; +jasmineRequire.html=function(j$){j$.ResultsNode=jasmineRequire.ResultsNode();j$.HtmlReporter=jasmineRequire.HtmlReporter(j$);j$.QueryString=jasmineRequire.QueryString();j$.HtmlSpecFilter=jasmineRequire.HtmlSpecFilter()};jasmineRequire.HtmlReporter=function(j$){var noopTimer={start:function(){},elapsed:function(){return 0}};function HtmlReporter(options){var env=options.env||{},getContainer=options.getContainer,createElement=options.createElement,createTextNode=options.createTextNode,onRaiseExceptionsClick=options.onRaiseExceptionsClick||function(){},timer=options.timer||noopTimer,results=[],specsExecuted=0,failureCount=0,pendingSpecCount=0,htmlReporterMain,symbols,failedSuites=[];this.initialize=function(){clearPrior();htmlReporterMain=createDom("div",{className:"jasmine_html-reporter"},createDom("div",{className:"banner"},createDom("a",{className:"title",href:"http://jasmine.github.io/",target:"_blank"}),createDom("span",{className:"version"},j$.version)),createDom("ul",{className:"symbol-summary"}),createDom("div",{className:"alert"}),createDom("div",{className:"results"},createDom("div",{className:"failures"})));getContainer().appendChild(htmlReporterMain);symbols=find(".symbol-summary")};var totalSpecsDefined;this.jasmineStarted=function(options){totalSpecsDefined=options.totalSpecsDefined||0;timer.start()};var summary=createDom("div",{className:"summary"});var topResults=new j$.ResultsNode({},"",null),currentParent=topResults;this.suiteStarted=function(result){currentParent.addChild(result,"suite");currentParent=currentParent.last()};this.suiteDone=function(result){if(result.status=="failed"){failedSuites.push(result)}if(currentParent==topResults){return}currentParent=currentParent.parent};this.specStarted=function(result){currentParent.addChild(result,"spec")};var failures=[];this.specDone=function(result){if(noExpectations(result)&&typeof console!=="undefined"&&typeof console.error!=="undefined"){console.error("Spec '"+result.fullName+"' has no expectations.")}if(result.status!="disabled"){specsExecuted++}symbols.appendChild(createDom("li",{className:noExpectations(result)?"empty":result.status,id:"spec_"+result.id,title:result.fullName}));if(result.status=="failed"){failureCount++;var failure=createDom("div",{className:"spec-detail failed"},createDom("div",{className:"description"},createDom("a",{title:result.fullName,href:specHref(result)},result.fullName)),createDom("div",{className:"messages"}));var messages=failure.childNodes[1];for(var i=0;i0){statusBarMessage+=pluralize("spec",specsExecuted)+", "+pluralize("failure",failureCount);if(pendingSpecCount){statusBarMessage+=", "+pluralize("pending spec",pendingSpecCount)}statusBarClassName+=failureCount>0?"failed":"passed"}else{statusBarClassName+="skipped";statusBarMessage+="No specs found"}alert.appendChild(createDom("span",{className:statusBarClassName},statusBarMessage));for(i=0;i0){params=paramStr.split("&");for(var i=0;i=0;--i){testedStateHistory.set("currentSerializedState",{x:i})}for(var i=1;i<=10;i++){testedStateHistory.undo();expect(testedStateHistory.get("currentSerializedState")).toEqual({x:i})}expect(testedStateHistory.canUndo()).toBe(false);expect(testedStateHistory.canRedo()).toBe(true);expect(testedStateHistory.get("currentSerializedState")).toEqual({x:10});testedStateHistory.set("maxStackSize",5);for(var i=9;i>=5;--i){testedStateHistory.redo();expect(testedStateHistory.get("currentSerializedState")).toEqual({x:i})}expect(testedStateHistory.canUndo()).toBe(true);expect(testedStateHistory.canRedo()).toBe(false);testedStateHistory.set("maxStackSize",1);testedStateHistory.undo();expect(testedStateHistory.canUndo()).toBe(false);testedStateHistory.redo();expect(testedStateHistory.canRedo()).toBe(false);testedStateHistory.set("maxStackSize",3);testedStateHistory.set("currentSerializedState",{x:100});testedStateHistory.set("currentSerializedState",{x:200});testedStateHistory.set("currentSerializedState",{x:300});testedStateHistory.undo();testedStateHistory.undo();testedStateHistory.undo();expect(testedStateHistory.canUndo()).toBe(false)});it("triggers change:currentSerializedState when needed",function(){var spyNames=["change","change:currentSerializedState"];var spy=jasmine.createSpyObj("listener",spyNames);var expectSpyCallCount=function(){_.each(arguments,function(arg,i){expect(spy[spyNames[i]].calls.count()).toEqual(arg)});for(var i=arguments.length;i0};j$.any=function(clazz){return new j$.Any(clazz)};j$.objectContaining=function(sample){return new j$.ObjectContaining(sample)};j$.createSpy=function(name,originalFn){var spyStrategy=new j$.SpyStrategy({name:name,fn:originalFn,getSpy:function(){return spy}}),callTracker=new j$.CallTracker,spy=function(){var callData={object:this,args:Array.prototype.slice.apply(arguments)};callTracker.track(callData);var returnValue=spyStrategy.exec.apply(this,arguments);callData.returnValue=returnValue;return returnValue};for(var prop in originalFn){if(prop==="and"||prop==="calls"){throw new Error("Jasmine spies would overwrite the 'and' and 'calls' properties on the object being spied upon")}spy[prop]=originalFn[prop]}spy.and=spyStrategy;spy.calls=callTracker;return spy};j$.isSpy=function(putativeSpy){if(!putativeSpy){return false}return putativeSpy.and instanceof j$.SpyStrategy&&putativeSpy.calls instanceof j$.CallTracker};j$.createSpyObj=function(baseName,methodNames){if(!j$.isArray_(methodNames)||methodNames.length===0){throw"createSpyObj requires a non-empty array of method names to create spies for"}var obj={};for(var i=0;i/g,">")};util.argsToArray=function(args){var arrayOfArgs=[];for(var i=0;i0){return"failed"}else{return"passed"}};Spec.prototype.isExecutable=function(){return!this.disabled&&!this.markedPending};Spec.prototype.getFullName=function(){return this.getSpecName(this)};Spec.pendingSpecExceptionMessage="=> marked Pending";Spec.isPendingSpecException=function(e){return!!(e&&e.toString&&e.toString().indexOf(Spec.pendingSpecExceptionMessage)!==-1)};return Spec};if(typeof window==void 0&&typeof exports=="object"){exports.Spec=jasmineRequire.Spec}getJasmineRequireObj().Env=function(j$){function Env(options){options=options||{};var self=this;var global=options.global||j$.getGlobal();var totalSpecsDefined=0;var catchExceptions=true;var realSetTimeout=j$.getGlobal().setTimeout;var realClearTimeout=j$.getGlobal().clearTimeout;this.clock=new j$.Clock(global,new j$.DelayedFunctionScheduler,new j$.MockDate(global));var runnableLookupTable={};var runnableResources={};var currentSpec=null;var currentlyExecutingSuites=[];var currentDeclarationSuite=null;var currentSuite=function(){return currentlyExecutingSuites[currentlyExecutingSuites.length-1]};var currentRunnable=function(){return currentSpec||currentSuite()};var reporter=new j$.ReportDispatcher(["jasmineStarted","jasmineDone","suiteStarted","suiteDone","specStarted","specDone"]);this.specFilter=function(){return true};this.addCustomEqualityTester=function(tester){if(!currentRunnable()){throw new Error("Custom Equalities must be added in a before function or a spec")}runnableResources[currentRunnable().id].customEqualityTesters.push(tester)};this.addMatchers=function(matchersToAdd){if(!currentRunnable()){throw new Error("Matchers must be added in a before function or a spec")}var customMatchers=runnableResources[currentRunnable().id].customMatchers;for(var matcherName in matchersToAdd){customMatchers[matcherName]=matchersToAdd[matcherName]}};j$.Expectation.addCoreMatchers(j$.matchers);var nextSpecId=0;var getNextSpecId=function(){return"spec"+nextSpecId++};var nextSuiteId=0;var getNextSuiteId=function(){return"suite"+nextSuiteId++};var expectationFactory=function(actual,spec){return j$.Expectation.Factory({util:j$.matchersUtil,customEqualityTesters:runnableResources[spec.id].customEqualityTesters,customMatchers:runnableResources[spec.id].customMatchers,actual:actual,addExpectationResult:addExpectationResult});function addExpectationResult(passed,result){return spec.addExpectationResult(passed,result)}};var defaultResourcesForRunnable=function(id,parentRunnableId){var resources={spies:[],customEqualityTesters:[],customMatchers:{}};if(runnableResources[parentRunnableId]){resources.customEqualityTesters=j$.util.clone(runnableResources[parentRunnableId].customEqualityTesters);resources.customMatchers=j$.util.clone(runnableResources[parentRunnableId].customMatchers)}runnableResources[id]=resources};var clearResourcesForRunnable=function(id){spyRegistry.clearSpies();delete runnableResources[id]};var beforeAndAfterFns=function(suite,runnablesExplictlySet){return function(){var befores=[],afters=[],beforeAlls=[],afterAlls=[];while(suite){befores=befores.concat(suite.beforeFns);afters=afters.concat(suite.afterFns);if(runnablesExplictlySet()){beforeAlls=beforeAlls.concat(suite.beforeAllFns);afterAlls=afterAlls.concat(suite.afterAllFns)}suite=suite.parentSuite}return{befores:beforeAlls.reverse().concat(befores.reverse()),afters:afters.concat(afterAlls)}}};var getSpecName=function(spec,suite){return suite.getFullName()+" "+spec.description};var buildExpectationResult=j$.buildExpectationResult,exceptionFormatter=new j$.ExceptionFormatter,expectationResultFactory=function(attrs){attrs.messageFormatter=exceptionFormatter.message;attrs.stackFormatter=exceptionFormatter.stack;return buildExpectationResult(attrs)};this.catchExceptions=function(value){catchExceptions=!!value;return catchExceptions};this.catchingExceptions=function(){return catchExceptions};var maximumSpecCallbackDepth=20;var currentSpecCallbackDepth=0;function clearStack(fn){currentSpecCallbackDepth++;if(currentSpecCallbackDepth>=maximumSpecCallbackDepth){currentSpecCallbackDepth=0;realSetTimeout(fn,0)}else{fn()}}var catchException=function(e){return j$.Spec.isPendingSpecException(e)||catchExceptions};var queueRunnerFactory=function(options){options.catchException=catchException;options.clearStack=options.clearStack||clearStack;options.timer={setTimeout:realSetTimeout,clearTimeout:realClearTimeout};options.fail=self.fail;new j$.QueueRunner(options).execute()};var topSuite=new j$.Suite({env:this,id:getNextSuiteId(),description:"Jasmine__TopLevel__Suite",queueRunner:queueRunnerFactory});runnableLookupTable[topSuite.id]=topSuite;defaultResourcesForRunnable(topSuite.id);currentDeclarationSuite=topSuite;this.topSuite=function(){return topSuite};this.execute=function(runnablesToRun){if(runnablesToRun){runnablesExplictlySet=true}else if(focusedRunnables.length){runnablesExplictlySet=true;runnablesToRun=focusedRunnables}else{runnablesToRun=[topSuite.id]}var allFns=[];for(var i=0;i"};return Any};getJasmineRequireObj().CallTracker=function(){function CallTracker(){var calls=[];this.track=function(context){calls.push(context)};this.any=function(){return!!calls.length};this.count=function(){return calls.length};this.argsFor=function(index){var call=calls[index];return call?call.args:[]};this.all=function(){return calls};this.allArgs=function(){var callArgs=[];for(var i=0;i2){throw new Error("IE < 9 cannot support extra params to setTimeout without a polyfill")}return timer.setTimeout(fn,delay)}return Function.prototype.apply.apply(timer.setTimeout,[global,arguments])};self.setInterval=function(fn,delay,params){if(legacyIE()){if(arguments.length>2){throw new Error("IE < 9 cannot support extra params to setInterval without a polyfill")}return timer.setInterval(fn,delay)}return Function.prototype.apply.apply(timer.setInterval,[global,arguments])};self.clearTimeout=function(id){return Function.prototype.call.apply(timer.clearTimeout,[global,id])};self.clearInterval=function(id){return Function.prototype.call.apply(timer.clearInterval,[global,id])};self.tick=function(millis){if(installed){mockDate.tick(millis);delayedFunctionScheduler.tick(millis)}else{throw new Error("Mock clock is not installed, use jasmine.clock().install()")}};return self;function legacyIE(){return!(realTimingFunctions.setTimeout||realTimingFunctions.setInterval).apply}function replace(dest,source){for(var prop in source){dest[prop]=source[prop]}}function setTimeout(fn,delay){return delayedFunctionScheduler.scheduleFunction(fn,delay,argSlice(arguments,2))}function clearTimeout(id){return delayedFunctionScheduler.removeFunctionWithId(id)}function setInterval(fn,interval){return delayedFunctionScheduler.scheduleFunction(fn,interval,argSlice(arguments,2),true)}function clearInterval(id){return delayedFunctionScheduler.removeFunctionWithId(id)}function argSlice(argsObj,n){return Array.prototype.slice.call(argsObj,n)}}return Clock};getJasmineRequireObj().DelayedFunctionScheduler=function(){function DelayedFunctionScheduler(){var self=this;var scheduledLookup=[];var scheduledFunctions={};var currentTime=0;var delayedFnCount=0;self.tick=function(millis){millis=millis||0;var endTime=currentTime+millis;runScheduledFunctions(endTime);currentTime=endTime};self.scheduleFunction=function(funcToCall,millis,params,recurring,timeoutKey,runAtMillis){var f;if(typeof funcToCall==="string"){f=function(){return eval(funcToCall)}}else{f=funcToCall}millis=millis||0;timeoutKey=timeoutKey||++delayedFnCount;runAtMillis=runAtMillis||currentTime+millis;var funcToSchedule={runAtMillis:runAtMillis,funcToCall:f,recurring:recurring,params:params,timeoutKey:timeoutKey,millis:millis};if(runAtMillis in scheduledFunctions){scheduledFunctions[runAtMillis].push(funcToSchedule)}else{scheduledFunctions[runAtMillis]=[funcToSchedule];scheduledLookup.push(runAtMillis);scheduledLookup.sort(function(a,b){return a-b})}return timeoutKey};self.removeFunctionWithId=function(timeoutKey){for(var runAtMillis in scheduledFunctions){var funcs=scheduledFunctions[runAtMillis];var i=indexOfFirstToPass(funcs,function(func){return func.timeoutKey===timeoutKey});if(i>-1){if(funcs.length===1){delete scheduledFunctions[runAtMillis];deleteFromLookup(runAtMillis)}else{funcs.splice(i,1)}break}}};self.reset=function(){currentTime=0;scheduledLookup=[];scheduledFunctions={};delayedFnCount=0};return self;function indexOfFirstToPass(array,testFn){var index=-1;for(var i=0;i-1){scheduledLookup.splice(i,1)}}function reschedule(scheduledFn){self.scheduleFunction(scheduledFn.funcToCall,scheduledFn.millis,scheduledFn.params,true,scheduledFn.timeoutKey,scheduledFn.runAtMillis+scheduledFn.millis)}function runScheduledFunctions(endTime){if(scheduledLookup.length===0||scheduledLookup[0]>endTime){return}do{currentTime=scheduledLookup.shift();var funcsToRun=scheduledFunctions[currentTime];delete scheduledFunctions[currentTime];for(var i=0;i0&¤tTime!==endTime&&scheduledLookup[0]<=endTime)}}return DelayedFunctionScheduler};getJasmineRequireObj().ExceptionFormatter=function(){function ExceptionFormatter(){this.message=function(error){var message="";if(error.name&&error.message){message+=error.name+": "+error.message}else{message+=error.toString()+" thrown"}if(error.fileName||error.sourceURL){message+=" in "+(error.fileName||error.sourceURL)}if(error.line||error.lineNumber){message+=" (line "+(error.line||error.lineNumber)+")"}return message};this.stack=function(error){return error?error.stack:null}}return ExceptionFormatter};getJasmineRequireObj().Expectation=function(){function Expectation(options){this.util=options.util||{buildFailureMessage:function(){}};this.customEqualityTesters=options.customEqualityTesters||[];this.actual=options.actual;this.addExpectationResult=options.addExpectationResult||function(){};this.isNot=options.isNot;var customMatchers=options.customMatchers||{};for(var matcherName in customMatchers){this[matcherName]=Expectation.prototype.wrapCompare(matcherName,customMatchers[matcherName])}}Expectation.prototype.wrapCompare=function(name,matcherFactory){return function(){var args=Array.prototype.slice.call(arguments,0),expected=args.slice(0),message="";args.unshift(this.actual);var matcher=matcherFactory(this.util,this.customEqualityTesters),matcherCompare=matcher.compare;function defaultNegativeCompare(){var result=matcher.compare.apply(null,args);result.pass=!result.pass;return result}if(this.isNot){matcherCompare=matcher.negativeCompare||defaultNegativeCompare}var result=matcherCompare.apply(null,args);if(!result.pass){if(!result.message){args.unshift(this.isNot);args.unshift(name);message=this.util.buildFailureMessage.apply(null,args)}else{if(Object.prototype.toString.apply(result.message)==="[object Function]"){message=result.message()}else{message=result.message}}}if(expected.length==1){expected=expected[0]}this.addExpectationResult(result.pass,{matcherName:name,passed:result.pass,message:message,actual:this.actual,expected:expected})}};Expectation.addCoreMatchers=function(matchers){var prototype=Expectation.prototype;for(var matcherName in matchers){var matcher=matchers[matcherName];prototype[matcherName]=prototype.wrapCompare(matcherName,matcher)}};Expectation.Factory=function(options){options=options||{};var expect=new Expectation(options);options.isNot=true;expect.not=new Expectation(options);return expect};return Expectation};getJasmineRequireObj().buildExpectationResult=function(){function buildExpectationResult(options){var messageFormatter=options.messageFormatter||function(){},stackFormatter=options.stackFormatter||function(){};var result={matcherName:options.matcherName,message:message(),stack:stack(),passed:options.passed};if(!result.passed){result.expected=options.expected;result.actual=options.actual}return result;function message(){if(options.passed){return"Passed."}else if(options.message){return options.message}else if(options.error){return messageFormatter(options.error)}return""}function stack(){if(options.passed){return""}var error=options.error;if(!error){try{throw new Error(message())}catch(e){error=e}}return stackFormatter(error)}}return buildExpectationResult};getJasmineRequireObj().MockDate=function(){function MockDate(global){var self=this;var currentTime=0;if(!global||!global.Date){self.install=function(){};self.tick=function(){};self.uninstall=function(){};return self}var GlobalDate=global.Date;self.install=function(mockDate){if(mockDate instanceof GlobalDate){currentTime=mockDate.getTime()}else{currentTime=(new GlobalDate).getTime()}global.Date=FakeDate};self.tick=function(millis){millis=millis||0;currentTime=currentTime+millis};self.uninstall=function(){currentTime=0;global.Date=GlobalDate};createDateProperties();return self;function FakeDate(){switch(arguments.length){case 0:return new GlobalDate(currentTime);case 1:return new GlobalDate(arguments[0]);case 2:return new GlobalDate(arguments[0],arguments[1]);case 3:return new GlobalDate(arguments[0],arguments[1],arguments[2]);case 4:return new GlobalDate(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return new GlobalDate(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return new GlobalDate(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);case 7:return new GlobalDate(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6])}}function createDateProperties(){FakeDate.prototype=GlobalDate.prototype;FakeDate.now=function(){if(GlobalDate.now){return currentTime}else{throw new Error("Browser does not support Date.now()")}};FakeDate.toSource=GlobalDate.toSource;FakeDate.toString=GlobalDate.toString;FakeDate.parse=GlobalDate.parse;FakeDate.UTC=GlobalDate.UTC}}return MockDate};getJasmineRequireObj().ObjectContaining=function(j$){function ObjectContaining(sample){this.sample=sample}ObjectContaining.prototype.jasmineMatches=function(other,mismatchKeys,mismatchValues){if(typeof this.sample!=="object"){throw new Error("You must provide an object to objectContaining, not '"+this.sample+"'.")}mismatchKeys=mismatchKeys||[];mismatchValues=mismatchValues||[];var hasKey=function(obj,keyName){return obj!==null&&!j$.util.isUndefined(obj[keyName])};for(var property in this.sample){if(!hasKey(other,property)&&hasKey(this.sample,property)){mismatchKeys.push("expected has key '"+property+"', but missing from actual.")}else if(!j$.matchersUtil.equals(other[property],this.sample[property])){mismatchValues.push("'"+property+"' was '"+(other[property]?j$.util.htmlEscape(other[property].toString()):other[property])+"' in actual, but was '"+(this.sample[property]?j$.util.htmlEscape(this.sample[property].toString()):this.sample[property])+"' in expected.")}}return mismatchKeys.length===0&&mismatchValues.length===0};ObjectContaining.prototype.jasmineToString=function(){return""};return ObjectContaining};getJasmineRequireObj().pp=function(j$){function PrettyPrinter(){this.ppNestLevel_=0;this.seen=[]}PrettyPrinter.prototype.format=function(value){this.ppNestLevel_++;try{if(j$.util.isUndefined(value)){this.emitScalar("undefined")}else if(value===null){this.emitScalar("null")}else if(value===0&&1/value===-Infinity){this.emitScalar("-0")}else if(value===j$.getGlobal()){this.emitScalar("")}else if(value.jasmineToString){this.emitScalar(value.jasmineToString())}else if(typeof value==="string"){this.emitString(value)}else if(j$.isSpy(value)){this.emitScalar("spy on "+value.and.identity())}else if(value instanceof RegExp){this.emitScalar(value.toString())}else if(typeof value==="function"){this.emitScalar("Function")}else if(typeof value.nodeType==="number"){this.emitScalar("HTMLNode")}else if(value instanceof Date){this.emitScalar("Date("+value+")")}else if(j$.util.arrayContains(this.seen,value)){this.emitScalar("")}else if(j$.isArray_(value)||j$.isA_("Object",value)){this.seen.push(value);if(j$.isArray_(value)){this.emitArray(value)}else{this.emitObject(value)}this.seen.pop()}else{this.emitScalar(value.toString())}}finally{this.ppNestLevel_--}};PrettyPrinter.prototype.iterateObject=function(obj,fn){for(var property in obj){if(!Object.prototype.hasOwnProperty.call(obj,property)){continue}fn(property,obj.__lookupGetter__?!j$.util.isUndefined(obj.__lookupGetter__(property))&&obj.__lookupGetter__(property)!==null:false)}};PrettyPrinter.prototype.emitArray=j$.unimplementedMethod_;PrettyPrinter.prototype.emitObject=j$.unimplementedMethod_;PrettyPrinter.prototype.emitScalar=j$.unimplementedMethod_;PrettyPrinter.prototype.emitString=j$.unimplementedMethod_;function StringPrettyPrinter(){PrettyPrinter.call(this);this.string=""}j$.util.inherit(StringPrettyPrinter,PrettyPrinter);StringPrettyPrinter.prototype.emitScalar=function(value){this.append(value)};StringPrettyPrinter.prototype.emitString=function(value){this.append("'"+value+"'")};StringPrettyPrinter.prototype.emitArray=function(array){if(this.ppNestLevel_>j$.MAX_PRETTY_PRINT_DEPTH){this.append("Array"); +return}var length=Math.min(array.length,j$.MAX_PRETTY_PRINT_ARRAY_LENGTH);this.append("[ ");for(var i=0;i0){this.append(", ")}this.format(array[i])}if(array.length>length){this.append(", ...")}this.append(" ]")};StringPrettyPrinter.prototype.emitObject=function(obj){if(this.ppNestLevel_>j$.MAX_PRETTY_PRINT_DEPTH){this.append("Object");return}var self=this;this.append("{ ");var first=true;this.iterateObject(obj,function(property,isGetter){if(first){first=false}else{self.append(", ")}self.append(property);self.append(": ");if(isGetter){self.append("")}else{self.format(obj[property])}});this.append(" }")};StringPrettyPrinter.prototype.append=function(value){this.string+=value};return function(value){var stringPrettyPrinter=new StringPrettyPrinter;stringPrettyPrinter.format(value);return stringPrettyPrinter.string}};getJasmineRequireObj().QueueRunner=function(j$){function once(fn){var called=false;return function(){if(!called){called=true;fn()}}}function QueueRunner(attrs){this.queueableFns=attrs.queueableFns||[];this.onComplete=attrs.onComplete||function(){};this.clearStack=attrs.clearStack||function(fn){fn()};this.onException=attrs.onException||function(){};this.catchException=attrs.catchException||function(){return true};this.userContext=attrs.userContext||{};this.timer=attrs.timeout||{setTimeout:setTimeout,clearTimeout:clearTimeout};this.fail=attrs.fail||function(){}}QueueRunner.prototype.execute=function(){this.run(this.queueableFns,0)};QueueRunner.prototype.run=function(queueableFns,recursiveIndex){var length=queueableFns.length,self=this,iterativeIndex;for(iterativeIndex=recursiveIndex;iterativeIndex0){return attemptAsync(queueableFn)}else{attemptSync(queueableFn)}}var runnerDone=iterativeIndex>=length;if(runnerDone){this.clearStack(this.onComplete)}function attemptSync(queueableFn){try{queueableFn.fn.call(self.userContext)}catch(e){handleException(e,queueableFn)}}function attemptAsync(queueableFn){var clearTimeout=function(){Function.prototype.apply.apply(self.timer.clearTimeout,[j$.getGlobal(),[timeoutId]])},next=once(function(){clearTimeout(timeoutId);self.run(queueableFns,iterativeIndex+1)}),timeoutId;next.fail=function(){self.fail.apply(null,arguments);next()};if(queueableFn.timeout){timeoutId=Function.prototype.apply.apply(self.timer.setTimeout,[j$.getGlobal(),[function(){var error=new Error("Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.");onException(error,queueableFn);next()},queueableFn.timeout()]])}try{queueableFn.fn.call(self.userContext,next)}catch(e){handleException(e,queueableFn);next()}}function onException(e,queueableFn){self.onException(e)}function handleException(e,queueableFn){onException(e,queueableFn);if(!self.catchException(e)){throw e}}};return QueueRunner};getJasmineRequireObj().ReportDispatcher=function(){function ReportDispatcher(methods){var dispatchedMethods=methods||[];for(var i=0;i0){return"failed"}else{return"finished"}};Suite.prototype.execute=function(onComplete){var self=this;this.onStart(this);if(this.disabled){complete();return}var allFns=[];for(var i=0;i=0},buildFailureMessage:function(){var args=Array.prototype.slice.call(arguments,0),matcherName=args[0],isNot=args[1],actual=args[2],expected=args.slice(3),englishyPredicate=matcherName.replace(/[A-Z]/g,function(s){return" "+s.toLowerCase()});var message="Expected "+j$.pp(actual)+(isNot?" not ":" ")+englishyPredicate;if(expected.length>0){for(var i=0;i0){message+=","}message+=" "+j$.pp(expected[i])}}return message+"."}};function eq(a,b,aStack,bStack,customTesters){var result=true;for(var i=0;iexpected}}}}return toBeGreaterThan};getJasmineRequireObj().toBeLessThan=function(){function toBeLessThan(){return{compare:function(actual,expected){return{pass:actual1){throw new Error("toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith")}result.pass=actual.calls.any();result.message=result.pass?"Expected spy "+actual.and.identity()+" not to have been called.":"Expected spy "+actual.and.identity()+" to have been called.";return result}}}return toHaveBeenCalled};getJasmineRequireObj().toHaveBeenCalledWith=function(j$){function toHaveBeenCalledWith(util,customEqualityTesters){return{compare:function(){var args=Array.prototype.slice.call(arguments,0),actual=args[0],expectedArgs=args.slice(1),result={pass:false};if(!j$.isSpy(actual)){throw new Error("Expected a spy, but got "+j$.pp(actual)+".")}if(!actual.calls.any()){result.message=function(){return"Expected spy "+actual.and.identity()+" to have been called with "+j$.pp(expectedArgs)+" but it was never called."};return result}if(util.contains(actual.calls.allArgs(),expectedArgs,customEqualityTesters)){result.pass=true;result.message=function(){return"Expected spy "+actual.and.identity()+" not to have been called with "+j$.pp(expectedArgs)+" but it was."}}else{result.message=function(){return"Expected spy "+actual.and.identity()+" to have been called with "+j$.pp(expectedArgs)+" but actual calls were "+j$.pp(actual.calls.allArgs()).replace(/^\[ | \]$/g,"")+"."}}return result}}}return toHaveBeenCalledWith};getJasmineRequireObj().toMatch=function(){function toMatch(){return{compare:function(actual,expected){var regexp=new RegExp(expected);return{pass:regexp.test(actual)}}}}return toMatch};getJasmineRequireObj().toThrow=function(j$){function toThrow(util){return{compare:function(actual,expected){var result={pass:false},threw=false,thrown;if(typeof actual!="function"){throw new Error("Actual is not a Function")}try{actual()}catch(e){threw=true;thrown=e}if(!threw){result.message="Expected function to throw an exception.";return result}if(arguments.length==1){result.pass=true;result.message=function(){return"Expected function not to throw, but it threw "+j$.pp(thrown)+"."};return result}if(util.equals(thrown,expected)){result.pass=true;result.message=function(){return"Expected function not to throw "+j$.pp(expected)+"."}}else{result.message=function(){return"Expected function to throw "+j$.pp(expected)+", but it threw "+j$.pp(thrown)+"."}}return result}}}return toThrow};getJasmineRequireObj().toThrowError=function(j$){function toThrowError(util){return{compare:function(actual){var threw=false,pass={pass:true},fail={pass:false},thrown;if(typeof actual!="function"){throw new Error("Actual is not a Function")}var errorMatcher=getMatcher.apply(null,arguments);try{actual()}catch(e){threw=true;thrown=e}if(!threw){fail.message="Expected function to throw an Error.";return fail}if(!(thrown instanceof Error)){fail.message=function(){return"Expected function to throw an Error, but it threw "+j$.pp(thrown)+"."};return fail}if(errorMatcher.hasNoSpecifics()){pass.message="Expected function not to throw an Error, but it threw "+fnNameFor(thrown)+".";return pass}if(errorMatcher.matches(thrown)){pass.message=function(){return"Expected function not to throw "+errorMatcher.errorTypeDescription+errorMatcher.messageDescription()+"."};return pass}else{fail.message=function(){return"Expected function to throw "+errorMatcher.errorTypeDescription+errorMatcher.messageDescription()+", but it threw "+errorMatcher.thrownDescription(thrown)+"."};return fail}}};function getMatcher(){var expected=null,errorType=null;if(arguments.length==2){expected=arguments[1];if(isAnErrorType(expected)){errorType=expected;expected=null}}else if(arguments.length>2){errorType=arguments[1];expected=arguments[2];if(!isAnErrorType(errorType)){throw new Error("Expected error type is not an Error.")}}if(expected&&!isStringOrRegExp(expected)){if(errorType){throw new Error("Expected error message is not a string or RegExp.")}else{throw new Error("Expected is not an Error, string, or RegExp.")}}function messageMatch(message){if(typeof expected=="string"){return expected==message}else{return expected.test(message)}}return{errorTypeDescription:errorType?fnNameFor(errorType):"an exception",thrownDescription:function(thrown){var thrownName=errorType?fnNameFor(thrown.constructor):"an exception",thrownMessage="";if(expected){thrownMessage=" with message "+j$.pp(thrown.message)}return thrownName+thrownMessage},messageDescription:function(){if(expected===null){return""}else if(expected instanceof RegExp){return" with a message matching "+j$.pp(expected)}else{return" with message "+j$.pp(expected)}},hasNoSpecifics:function(){return expected===null&&errorType===null},matches:function(error){return(errorType===null||error.constructor===errorType)&&(expected===null||messageMatch(error.message))}}}function fnNameFor(func){return func.name||func.toString().match(/^\s*function\s*(\w*)\s*\(/)[1]}function isStringOrRegExp(potential){return potential instanceof RegExp||typeof potential=="string"}function isAnErrorType(type){if(typeof type!=="function"){return false}var Surrogate=function(){};Surrogate.prototype=type.prototype;return new Surrogate instanceof Error}}return toThrowError};getJasmineRequireObj().interface=function(jasmine,env){var jasmineInterface={describe:function(description,specDefinitions){return env.describe(description,specDefinitions)},xdescribe:function(description,specDefinitions){return env.xdescribe(description,specDefinitions)},fdescribe:function(description,specDefinitions){return env.fdescribe(description,specDefinitions)},it:function(desc,func){return env.it(desc,func)},xit:function(desc,func){return env.xit(desc,func)},fit:function(desc,func){return env.fit(desc,func)},beforeEach:function(beforeEachFunction){return env.beforeEach(beforeEachFunction)},afterEach:function(afterEachFunction){return env.afterEach(afterEachFunction)},beforeAll:function(beforeAllFunction){return env.beforeAll(beforeAllFunction)},afterAll:function(afterAllFunction){return env.afterAll(afterAllFunction)},expect:function(actual){return env.expect(actual)},pending:function(){return env.pending()},fail:function(){return env.fail.apply(env,arguments)},spyOn:function(obj,methodName){return env.spyOn(obj,methodName)},jsApiReporter:new jasmine.JsApiReporter({timer:new jasmine.Timer}),jasmine:jasmine};jasmine.addCustomEqualityTester=function(tester){env.addCustomEqualityTester(tester)};jasmine.addMatchers=function(matchers){return env.addMatchers(matchers)};jasmine.clock=function(){return env.clock};return jasmineInterface};getJasmineRequireObj().version=function(){return"2.1.3"}; +jasmineRequire.html=function(j$){j$.ResultsNode=jasmineRequire.ResultsNode();j$.HtmlReporter=jasmineRequire.HtmlReporter(j$);j$.QueryString=jasmineRequire.QueryString();j$.HtmlSpecFilter=jasmineRequire.HtmlSpecFilter()};jasmineRequire.HtmlReporter=function(j$){var noopTimer={start:function(){},elapsed:function(){return 0}};function HtmlReporter(options){var env=options.env||{},getContainer=options.getContainer,createElement=options.createElement,createTextNode=options.createTextNode,onRaiseExceptionsClick=options.onRaiseExceptionsClick||function(){},timer=options.timer||noopTimer,results=[],specsExecuted=0,failureCount=0,pendingSpecCount=0,htmlReporterMain,symbols,failedSuites=[];this.initialize=function(){clearPrior();htmlReporterMain=createDom("div",{className:"jasmine_html-reporter"},createDom("div",{className:"banner"},createDom("a",{className:"title",href:"http://jasmine.github.io/",target:"_blank"}),createDom("span",{className:"version"},j$.version)),createDom("ul",{className:"symbol-summary"}),createDom("div",{className:"alert"}),createDom("div",{className:"results"},createDom("div",{className:"failures"})));getContainer().appendChild(htmlReporterMain);symbols=find(".symbol-summary")};var totalSpecsDefined;this.jasmineStarted=function(options){totalSpecsDefined=options.totalSpecsDefined||0;timer.start()};var summary=createDom("div",{className:"summary"});var topResults=new j$.ResultsNode({},"",null),currentParent=topResults;this.suiteStarted=function(result){currentParent.addChild(result,"suite");currentParent=currentParent.last()};this.suiteDone=function(result){if(result.status=="failed"){failedSuites.push(result)}if(currentParent==topResults){return}currentParent=currentParent.parent};this.specStarted=function(result){currentParent.addChild(result,"spec")};var failures=[];this.specDone=function(result){if(noExpectations(result)&&typeof console!=="undefined"&&typeof console.error!=="undefined"){console.error("Spec '"+result.fullName+"' has no expectations.")}if(result.status!="disabled"){specsExecuted++}symbols.appendChild(createDom("li",{className:noExpectations(result)?"empty":result.status,id:"spec_"+result.id,title:result.fullName}));if(result.status=="failed"){failureCount++;var failure=createDom("div",{className:"spec-detail failed"},createDom("div",{className:"description"},createDom("a",{title:result.fullName,href:specHref(result)},result.fullName)),createDom("div",{className:"messages"}));var messages=failure.childNodes[1];for(var i=0;i0){statusBarMessage+=pluralize("spec",specsExecuted)+", "+pluralize("failure",failureCount);if(pendingSpecCount){statusBarMessage+=", "+pluralize("pending spec",pendingSpecCount)}statusBarClassName+=failureCount>0?"failed":"passed"}else{statusBarClassName+="skipped";statusBarMessage+="No specs found"}alert.appendChild(createDom("span",{className:statusBarClassName},statusBarMessage));for(i=0;i0){params=paramStr.split("&");for(var i=0;i=0;--i){testedStateHistory.set("currentSerializedState",{x:i})}for(var i=1;i<=10;i++){testedStateHistory.undo();expect(testedStateHistory.get("currentSerializedState")).toEqual({x:i})}expect(testedStateHistory.canUndo()).toBe(false);expect(testedStateHistory.canRedo()).toBe(true);expect(testedStateHistory.get("currentSerializedState")).toEqual({x:10});testedStateHistory.set("maxStackSize",5);for(var i=9;i>=5;--i){testedStateHistory.redo();expect(testedStateHistory.get("currentSerializedState")).toEqual({x:i})}expect(testedStateHistory.canUndo()).toBe(true);expect(testedStateHistory.canRedo()).toBe(false);testedStateHistory.set("maxStackSize",1);testedStateHistory.undo();expect(testedStateHistory.canUndo()).toBe(false);testedStateHistory.redo();expect(testedStateHistory.canRedo()).toBe(false);testedStateHistory.set("maxStackSize",3);testedStateHistory.set("currentSerializedState",{x:100});testedStateHistory.set("currentSerializedState",{x:200});testedStateHistory.set("currentSerializedState",{x:300});testedStateHistory.undo();testedStateHistory.undo();testedStateHistory.undo();expect(testedStateHistory.canUndo()).toBe(false)});it("triggers change:currentSerializedState when needed",function(){var spyNames=["change","change:currentSerializedState"];var spy=jasmine.createSpyObj("listener",spyNames);var expectSpyCallCount=function(){_.each(arguments,function(arg,i){expect(spy[spyNames[i]].calls.count()).toEqual(arg)});for(var i=arguments.length;ia?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b) +},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,"",""],thead:[1,"",""],col:[2,"",""],tr:[2,"",""],td:[3,"",""],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b)) +},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.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(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc="*/".concat("*");try{fc=location.href}catch(qc){fc=l.createElement("a"),fc.href="",fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:"GET",isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":pc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+"").replace(gc,"").replace(lc,ec[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(ec[3]||("http:"===ec[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+pc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Bc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join("&").replace(wc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,"\r\n")}}):{name:b.name,value:c.replace(yc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&"withCredentials"in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Dc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n(" + + + + + + + {{ project.shortTitle }} VIS + + what is this? + + + undo + redo + + + share this state + save or reopen a state + {#data downloads#} + + music recordings + music collections + + + + + + + + + + + {# + + + #} + + + + + + + + + + + + + + {# + + + #} + + + + + + + + + + + + + + + {{ project.shortTitle }} visualisations cannot be drawn without javascript. Please enable it in the browser settings. + The browser you are using is too old to draw interactive visualisations. Please update Internet Explorer or download an alternative browser (e.g. Chrome or Firefox). + + + + + + + + + + + + + {# emulate quicker load on first launch #} + +{% if (enableJasmine) %}{% endif %} +{# {{ 'badbrowser' | trans | raw }}#} +{% javascripts output='vendor.js' filter="?uglifyjs2" + '@DMLVendorAssetsBundle/Resources/assets/jquery/2.1.1/jquery.min.js' + '@DMLVendorAssetsBundle/Resources/assets/jquery.bemhelpers/2.1.3-modif/jquery.bemhelpers.js' + '@DMLVendorAssetsBundle/Resources/assets/jquery.sticky-kit/1.0.4/jquery.sticky-kit.min.js' + '@DMLVendorAssetsBundle/Resources/assets/jquery.hotkeys/0.8/jquery.hotkeys.js' + '@DMLVendorAssetsBundle/Resources/assets/jquery.mousewheel/3.1.12/jquery.mousewheel.min.js' + '@DMLVendorAssetsBundle/Resources/assets/jquery.textrange/1.3.0/jquery.textrange.js' + '@DMLVendorAssetsBundle/Resources/assets/jquery.preventMacBackScroll/modif/jquery.preventMacBackScroll.js' + '@DMLVendorAssetsBundle/Resources/assets/jquery.jplayer/2.9.2/jquery.jplayer.js' + + '@DMLVendorAssetsBundle/Resources/assets/jquery.ui/1.11.0/jquery.ui.min.js' + '@DMLVendorAssetsBundle/Resources/assets/scrollfix/0.1/scrollfix.js' + '@DMLVendorAssetsBundle/Resources/assets/jquery.scroll-to/dev/jquery.scroll-to.js' + + '@DMLVendorAssetsBundle/Resources/assets/js-logger/0.9.14/js-logger.js' + '@DMLVendorAssetsBundle/Resources/assets/underscore/1.8.2/underscore-min.js' + '@DMLVendorAssetsBundle/Resources/assets/underscore.string/2.3.3/underscore.string.min.js' + '@DMLVendorAssetsBundle/Resources/assets/backbone/1.1.2_modif/backbone.js' + '@DMLVendorAssetsBundle/Resources/assets/backbone.marionette/2.3.2/backbone.marionette.min.js' + '@DMLVendorAssetsBundle/Resources/assets/backbone.marionette/dev/TemplateCache.loadTemplate_fixed.js' + + '@DMLVendorAssetsBundle/Resources/assets/vega/2.2.6/d3.min.js' + '@DMLVendorAssetsBundle/Resources/assets/vega/2.2.6/d3.geo-projection.min.js' + '@DMLVendorAssetsBundle/Resources/assets/vega/2.2.6/topojson.js' + '@DMLVendorAssetsBundle/Resources/assets/vega/2.2.6/d3.layout.cloud.js' + '@DMLVendorAssetsBundle/Resources/assets/vega/2.2.6/vega.js' + +%} +{% if embedJs %}{% else %}{% endif %} +{% endjavascripts %} + +{# % javascripts output='vendor_ui.js' filter="?uglifyjs2" combine=true +%} +{% if embedJs %}{% else %}{% endif %} +{% endjavascripts %} + +{% javascripts output='vendor_backbone.js' filter="?uglifyjs2" combine=true +%} +{% if embedJs %}{% else %}{% endif %} +{% endjavascripts %#} + +{% javascripts output='app.js' filter="?uglifyjs2" + + '@DMLMainVisBundle/Resources/assets/legal.js' + + '@DMLMainVisBundle/Resources/assets/lib/jquery.eventsugar/jquery.eventsugar.js' + '@DMLMainVisBundle/Resources/assets/lib/jquery.ui/combobox.js' + '@DMLMainVisBundle/Resources/assets/lib/underscore.mixins/underscore.isEventAnAttemptToOpenANewTab.js' + '@DMLMainVisBundle/Resources/assets/lib/underscore.mixins/underscore.isSimpleObject.js' + '@DMLMainVisBundle/Resources/assets/lib/underscore.mixins/underscore.uniqueId.js' + '@DMLMainVisBundle/Resources/assets/lib/vega/vega.expr.centroid.js' + '@DMLMainVisBundle/Resources/assets/lib/vega/vega.filter.centroid.js' + + '@DMLMainVisBundle/Resources/assets/marionette/*.js' + '@DMLMainVisBundle/Resources/assets/marionette/*/*.js' + '@DMLMainVisBundle/Resources/assets/marionette/*/*/*.js' + '@DMLMainVisBundle/Resources/assets/marionette/*/*/*/*.js' +%} +{% if embedJs %}{% else %}{% endif %} +{% endjavascripts %} + +{# + +%} +#} +{# + +#} +{# + +#} + + +{% if (enableJasmine) %} +{% javascripts output='testing.js' filter="?uglifyjs2" + '@DMLVendorAssetsBundle/Resources/assets/jasmine/2.1.3/lib/jasmine-2.1.3/jasmine.js' + '@DMLVendorAssetsBundle/Resources/assets/jasmine/2.1.3/lib/jasmine-2.1.3/jasmine-html_modif.js' + + '@DMLMainVisBundle/Resources/assets/jasmine/boot.js' + '@DMLMainVisBundle/Resources/assets/jasmine/helpers.js' + '@DMLMainVisBundle/Resources/assets/jasmine/*/*.js' + '@DMLMainVisBundle/Resources/assets/jasmine/*/*/*.js' + '@DMLMainVisBundle/Resources/assets/jasmine/*/*/*/*.js' + %} + {% if embedJs %} + + {% else %} + + {% endif %} +{% endjavascripts %} +{% endif %} +{% include 'DMLMainVisBundle:Components/templates:_.html.twig' %} +{% include 'KachkaevCountersBundle::counters.html.twig' %} + +