text:
/* DHTMLX TOOLBAR, DHX WEB, 2009 */

/* COMMON PART */
.dhx_toolbar_base_18_dhx_web,
.dhx_toolbar_base_24_dhx_web,
.dhx_toolbar_base_32_dhx_web,
.dhx_toolbar_base_48_dhx_web {
	white-space: nowrap;
	overflow: hidden;
	background-image: url('../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif');
	background-repeat: repeat-x;
	position: relative;
	padding-left: 5px;
	padding-right: 5px;
	line-height: normal;
	cursor: default;
}
.dhx_toolbar_base_18_dhx_web div.dhxtoolbar_hdrline_ll,
.dhx_toolbar_base_24_dhx_web div.dhxtoolbar_hdrline_ll,
.dhx_toolbar_base_32_dhx_web div.dhxtoolbar_hdrline_ll,
.dhx_toolbar_base_48_dhx_web div.dhxtoolbar_hdrline_ll {
	display: none;
}
.dhx_toolbar_base_18_dhx_web div.dhxtoolbar_hdrline_l,
.dhx_toolbar_base_24_dhx_web div.dhxtoolbar_hdrline_l,
.dhx_toolbar_base_32_dhx_web div.dhxtoolbar_hdrline_l,
.dhx_toolbar_base_48_dhx_web div.dhxtoolbar_hdrline_l {
	display: none;
}
.dhx_toolbar_base_18_dhx_web div.dhxtoolbar_hdrline_rr,
.dhx_toolbar_base_24_dhx_web div.dhxtoolbar_hdrline_rr,
.dhx_toolbar_base_32_dhx_web div.dhxtoolbar_hdrline_rr,
.dhx_toolbar_base_48_dhx_web div.dhxtoolbar_hdrline_rr {
	display: none;
}
.dhx_toolbar_base_18_dhx_web div.dhxtoolbar_hdrline_r,
.dhx_toolbar_base_24_dhx_web div.dhxtoolbar_hdrline_r,
.dhx_toolbar_base_32_dhx_web div.dhxtoolbar_hdrline_r,
.dhx_toolbar_base_48_dhx_web div.dhxtoolbar_hdrline_r {
	display: none;
}
.dhx_toolbar_base_18_dhx_web div.float_left,
.dhx_toolbar_base_24_dhx_web div.float_left,
.dhx_toolbar_base_32_dhx_web div.float_left,
.dhx_toolbar_base_48_dhx_web div.float_left {
	float: left;
}
.dhx_toolbar_base_18_dhx_web div.float_right,
.dhx_toolbar_base_24_dhx_web div.float_right,
.dhx_toolbar_base_32_dhx_web div.float_right,
.dhx_toolbar_base_48_dhx_web div.float_right {
	float: right;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn {
	float: left;
	color: #000000;
	border-left: #ececec 1px solid;
	border-right: #ececec 1px solid;
	margin: 5px 0px 100px 1px;
	padding: 0px 2px;
	line-height: normal;
	-moz-user-select: -moz-none;
	cursor: default;
	position: relative; /* needed for slider's pen */
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn.dis,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn.dis,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn.dis,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn.dis {
	color: #999999 !important;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn.over,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn.over,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn.over,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn.over {
	border-left: #ffffff 1px solid;
	border-right: #ffffff 1px solid;
	background-image: url(../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif);
	background-repeat: repeat-x;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn.pres,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn.pres,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn.pres,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn.pres {
	border-left: #ffffff 1px solid;
	border-right: #ffffff 1px solid;
	background-image: url(../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif);
	background-repeat: repeat-x;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn.pres_dis,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn.pres_dis,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn.pres_dis,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn.pres_dis {
	color: #999999;
	border-left: #909090 1px solid;
	border-right: #909090 1px solid;
	background-image: url(../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif);
	background-repeat: repeat-x;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn img,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn img,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn img,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn img {
	float: left;
	margin: 2px 1px 0px 1px;
	cursor: default;
	-moz-user-select: none;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn div,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn div,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn div,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn div {
	float: left;
	font-family: Tahoma;
	font-size: 12px;
	margin: 0px 2px;
	vertical-align: middle;
	line-height: normal;
	cursor: default;
	-moz-user-select: none;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_arw,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_arw,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_arw,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_arw {
	float: left;
	margin: 5px 0px 100px 0px;
	color: #000000;
	border-left: none;
	border-right: #ececec 1px solid;
	line-height: normal;
	cursor: default;
	-moz-user-select: none;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_arw.over,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_arw.over,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_arw.over,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_arw.over {
	border-right: #ffffff 1px solid;
	background-image: url('../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif');
	background-repeat: repeat-x;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_arw.pres,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_arw.pres,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_arw.pres,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_arw.pres {
	border-right: #ffffff 1px solid;
	background-image: url('../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif');
	background-repeat: repeat-x;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_arw div.arwimg,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_arw div.arwimg,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_arw div.arwimg,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_arw div.arwimg {
	float: left;
	background-image: url('../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif');
	background-repeat: no-repeat;
	line-height: normal;
	font-size: 12px;
	font-family: Tahoma;
}
div.dhx_toolbar_poly_18_dhx_web,
div.dhx_toolbar_poly_24_dhx_web,
div.dhx_toolbar_poly_32_dhx_web,
div.dhx_toolbar_poly_48_dhx_web {
	position: absolute;
	margin: 0px;
	padding-top: 1px;
	border: #ffffff 1px solid;
	background-color: #ececec;
	overflow: hidden;
	cursor: default;
	line-height: normal;
	box-shadow: 2px 3px 13px #666666;
	-moz-box-shadow: 2px 3px 13px #666666;
	-webkit-box-shadow: 2px 3px 13px #666666;
	-khtml-box-shadow: 2px 3px 13px #666666;
	filter:progid:DXImageTransform.Microsoft.Shadow(color=#666666,direction=135);
	-moz-user-select: none;
}
div.dhx_toolbar_poly_18_dhx_web table.buttons_cont tr,
div.dhx_toolbar_poly_24_dhx_web table.buttons_cont tr,
div.dhx_toolbar_poly_32_dhx_web table.buttons_cont tr,
div.dhx_toolbar_poly_48_dhx_web table.buttons_cont tr {
	line-height: normal
}
div.dhx_toolbar_poly_18_dhx_web table.buttons_cont td,
div.dhx_toolbar_poly_24_dhx_web table.buttons_cont td,
div.dhx_toolbar_poly_32_dhx_web table.buttons_cont td,
div.dhx_toolbar_poly_48_dhx_web table.buttons_cont td {
	line-height: normal
}
div.dhx_toolbar_poly_18_dhx_web table.buttons_cont tr.tr_btn.tr_btn_over,
div.dhx_toolbar_poly_24_dhx_web table.buttons_cont tr.tr_btn.tr_btn_over,
div.dhx_toolbar_poly_32_dhx_web table.buttons_cont tr.tr_btn.tr_btn_over,
div.dhx_toolbar_poly_48_dhx_web table.buttons_cont tr.tr_btn.tr_btn_over {
	background-image: url('../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif');
	background-repeat: repeat-x;
}
div.dhx_toolbar_poly_18_dhx_web table.buttons_cont tr.tr_btn.tr_btn_selected,
div.dhx_toolbar_poly_24_dhx_web table.buttons_cont tr.tr_btn.tr_btn_selected,
div.dhx_toolbar_poly_32_dhx_web table.buttons_cont tr.tr_btn.tr_btn_selected,
div.dhx_toolbar_poly_48_dhx_web table.buttons_cont tr.tr_btn.tr_btn_selected {
	background-image: url('../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif');
	background-repeat: repeat-x;
}
div.dhx_toolbar_poly_18_dhx_web table.buttons_cont td.td_btn_sep,
div.dhx_toolbar_poly_24_dhx_web table.buttons_cont td.td_btn_sep,
div.dhx_toolbar_poly_32_dhx_web table.buttons_cont td.td_btn_sep,
div.dhx_toolbar_poly_48_dhx_web table.buttons_cont td.td_btn_sep {
	font-size: 1px;
	height: 4px;
	vertical-align: top;
}
div.dhx_toolbar_poly_18_dhx_web td.td_btn_sep div.btn_sep,
div.dhx_toolbar_poly_24_dhx_web td.td_btn_sep div.btn_sep,
div.dhx_toolbar_poly_32_dhx_web td.td_btn_sep div.btn_sep,
div.dhx_toolbar_poly_48_dhx_web td.td_btn_sep div.btn_sep {
	font-size: 1px;
	cursor: default;
	height: 4px;
	width: 100%;
	background-image: url('../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif');
	background-repeat: repeat-x;
	-moz-user-select: none;
}
div.dhx_toolbar_poly_18_dhx_web table.buttons_cont td.td_btn_img,
div.dhx_toolbar_poly_24_dhx_web table.buttons_cont td.td_btn_img,
div.dhx_toolbar_poly_32_dhx_web table.buttons_cont td.td_btn_img,
div.dhx_toolbar_poly_48_dhx_web table.buttons_cont td.td_btn_img {
	font-size: 1px;
	text-align: center;
	vertical-align: middle;
}
div.dhx_toolbar_poly_18_dhx_web td.td_btn_img img.btn_sel_img,
div.dhx_toolbar_poly_24_dhx_web td.td_btn_img img.btn_sel_img,
div.dhx_toolbar_poly_32_dhx_web td.td_btn_img img.btn_sel_img,
div.dhx_toolbar_poly_48_dhx_web td.td_btn_img img.btn_sel_img {
	position: relative;
	margin-left: 2px;
	margin-right: 2px;
	-moz-user-select: none;
}
div.dhx_toolbar_poly_18_dhx_web table.buttons_cont td.td_btn_txt,
div.dhx_toolbar_poly_24_dhx_web table.buttons_cont td.td_btn_txt,
div.dhx_toolbar_poly_32_dhx_web table.buttons_cont td.td_btn_txt,
div.dhx_toolbar_poly_48_dhx_web table.buttons_cont td.td_btn_txt {
	font-size: 1px;
	vertical-align: middle;
	padding-left: 1px;
	padding-right: 10px;
}
div.dhx_toolbar_poly_18_dhx_web td.td_btn_txt div.btn_sel_text,
div.dhx_toolbar_poly_24_dhx_web td.td_btn_txt div.btn_sel_text,
div.dhx_toolbar_poly_32_dhx_web td.td_btn_txt div.btn_sel_text,
div.dhx_toolbar_poly_48_dhx_web td.td_btn_txt div.btn_sel_text {
	float: left;
	font-family: Tahoma;
	font-size: 12px;
	color: #000000;
	line-height: normal;
	white-space: nowrap;
}
div.dhx_toolbar_poly_18_dhx_web tr.tr_btn_disabled td.td_btn_txt div.btn_sel_text,
div.dhx_toolbar_poly_24_dhx_web tr.tr_btn_disabled td.td_btn_txt div.btn_sel_text,
div.dhx_toolbar_poly_32_dhx_web tr.tr_btn_disabled td.td_btn_txt div.btn_sel_text,
div.dhx_toolbar_poly_48_dhx_web tr.tr_btn_disabled td.td_btn_txt div.btn_sel_text {
	color: #999999 !important;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_sep,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_sep,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_sep,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_sep {
	float: left;
	width: 3px;
	font-size: 1px;
	margin-left: 3px;
	margin-right: 2px;
	background-image: url('../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif');
	background-repeat: no-repeat;
	-moz-user-select: none;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_text,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_text,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_text,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_text {
	float: left;
	vertical-align: middle;
	font-family: Tahoma;
	font-size: 12px;
	color: #000000;
	margin: 5px 0px 0px 1px;
	padding: 0px 4px;
	line-height: normal;
	-moz-user-select: none;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn .inp,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn .inp,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn .inp,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn .inp {
	position: relative;
	float: left;
	border: #bbbbbb 1px solid;
	font-family: Tahoma;
	font-size: 12px;
	line-height: normal;
	direction: ltr;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn div.sl_bg_l,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn div.sl_bg_l,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn div.sl_bg_l,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn div.sl_bg_l {
	background-image: url('../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif');
	background-repeat: no-repeat;
	width: 2px;
	font-size: 1px;
	margin-right: 0px;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn div.sl_bg_m,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn div.sl_bg_m,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn div.sl_bg_m,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn div.sl_bg_m {
	background-image: url('../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif');
	background-repeat: repeat-x;
	font-size: 1px;
	margin-left: 0px;
	margin-right: 0px;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn div.sl_bg_r,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn div.sl_bg_r,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn div.sl_bg_r,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn div.sl_bg_r {
	background-image: url('../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif');
	background-repeat: no-repeat;
	width: 2px;
	font-size: 1px;
	margin-left: 0px;
}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn div.sl_pen,
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn div.sl_pen,
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn div.sl_pen,
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn div.sl_pen {
	position: absolute;
	width: 13px;
	height: 22px;
	top: 0px;
	border: none;
	cursor: default;
	background-image: url('../imgs/dhxtoolbar_dhx_web/dhxtoolbar_imgs.gif');
	background-repeat: no-repeat;
	line-height: normal;
	-moz-user-select: none;
}
.dhx_toolbar_base_18_dhx_web div.dhxtoolbar_spacer.float_right,
.dhx_toolbar_base_24_dhx_web div.dhxtoolbar_spacer.float_right,
.dhx_toolbar_base_32_dhx_web div.dhxtoolbar_spacer.float_right,
.dhx_toolbar_base_48_dhx_web div.dhxtoolbar_spacer.float_right {
	float: right;
}
.dhx_toolbar_base_18_dhx_web div.dhxtoolbar_spacer.float_left,
.dhx_toolbar_base_24_dhx_web div.dhxtoolbar_spacer.float_left,
.dhx_toolbar_base_32_dhx_web div.dhxtoolbar_spacer.float_left,
.dhx_toolbar_base_48_dhx_web div.dhxtoolbar_spacer.float_left {
	float: left;
}
dhx_toolbar_base_18_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_ll,
dhx_toolbar_base_24_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_ll,
dhx_toolbar_base_32_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_ll,
dhx_toolbar_base_48_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_ll {
	display: none;
}
dhx_toolbar_base_18_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_rr,
dhx_toolbar_base_24_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_rr,
dhx_toolbar_base_32_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_rr,
dhx_toolbar_base_48_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_rr {
	display: none;
}
.dhx_toolbar_base_18_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_l,
.dhx_toolbar_base_24_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_l,
.dhx_toolbar_base_32_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_l,
.dhx_toolbar_base_48_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_l {
	left: 0px !important;
}
.dhx_toolbar_base_18_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_r,
.dhx_toolbar_base_24_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_r,
.dhx_toolbar_base_32_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_r,
.dhx_toolbar_base_48_dhx_web.in_layoutcell div.dhxtoolbar_hdrline_r {
	right: 0px !important;
}
.dhx_toolbar_base_18_dhx_web.in_acccell div.dhxtoolbar_hdrline_ll,
.dhx_toolbar_base_24_dhx_web.in_acccell div.dhxtoolbar_hdrline_ll,
.dhx_toolbar_base_32_dhx_web.in_acccell div.dhxtoolbar_hdrline_ll,
.dhx_toolbar_base_48_dhx_web.in_acccell div.dhxtoolbar_hdrline_ll {
	display: none;
}
.dhx_toolbar_base_18_dhx_web.in_acccell div.dhxtoolbar_hdrline_rr,
.dhx_toolbar_base_24_dhx_web.in_acccell div.dhxtoolbar_hdrline_rr,
.dhx_toolbar_base_32_dhx_web.in_acccell div.dhxtoolbar_hdrline_rr,
.dhx_toolbar_base_48_dhx_web.in_acccell div.dhxtoolbar_hdrline_rr {
	display: none;
}
.dhx_toolbar_base_18_dhx_web.in_acccell div.dhxtoolbar_hdrline_l,
.dhx_toolbar_base_24_dhx_web.in_acccell div.dhxtoolbar_hdrline_l,
.dhx_toolbar_base_32_dhx_web.in_acccell div.dhxtoolbar_hdrline_l,
.dhx_toolbar_base_48_dhx_web.in_acccell div.dhxtoolbar_hdrline_l {
	left: 0px !important;
}
.dhx_toolbar_base_18_dhx_web.in_acccell div.dhxtoolbar_hdrline_r,
.dhx_toolbar_base_24_dhx_web.in_acccell div.dhxtoolbar_hdrline_r,
.dhx_toolbar_base_32_dhx_web.in_acccell div.dhxtoolbar_hdrline_r,
.dhx_toolbar_base_48_dhx_web.in_acccell div.dhxtoolbar_hdrline_r {
	right: 0px !important;
}
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_18_dhx_web div.dhxtoolbar_hdrline_ll,
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_24_dhx_web div.dhxtoolbar_hdrline_ll,
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_32_dhx_web div.dhxtoolbar_hdrline_ll,
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_48_dhx_web div.dhxtoolbar_hdrline_ll {
	display: none;
}
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_18_dhx_web div.dhxtoolbar_hdrline_rr,
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_24_dhx_web div.dhxtoolbar_hdrline_rr,
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_32_dhx_web div.dhxtoolbar_hdrline_rr,
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_48_dhx_web div.dhxtoolbar_hdrline_rr {
	display: none;
}
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_18_dhx_web div.dhxtoolbar_hdrline_l,
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_24_dhx_web div.dhxtoolbar_hdrline_l,
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_32_dhx_web div.dhxtoolbar_hdrline_l,
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_48_dhx_web div.dhxtoolbar_hdrline_l {
	left: 0px !important;
}
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_18_dhx_web div.dhxtoolbar_hdrline_r,
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_24_dhx_web div.dhxtoolbar_hdrline_r,
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_32_dhx_web div.dhxtoolbar_hdrline_r,
.dhx_tabbar_zone_dhx_web .dhx_toolbar_base_48_dhx_web div.dhxtoolbar_hdrline_r {
	right: 0px !important;
}
.dhtmlx_skin_dhx_web div.dhtmlx_wins_body_inner .dhx_toolbar_base_18_dhx_web,
.dhtmlx_skin_dhx_web div.dhtmlx_wins_body_inner .dhx_toolbar_base_24_dhx_web,
.dhtmlx_skin_dhx_web div.dhtmlx_wins_body_inner .dhx_toolbar_base_32_dhx_web,
.dhtmlx_skin_dhx_web div.dhtmlx_wins_body_inner .dhx_toolbar_base_48_dhx_web {
	border: none;
}
.dhx_acc_base_dhx_web .dhx_toolbar_base_18_dhx_web,
.dhx_acc_base_dhx_web .dhx_toolbar_base_24_dhx_web,
.dhx_acc_base_dhx_web .dhx_toolbar_base_32_dhx_web,
.dhx_acc_base_dhx_web .dhx_toolbar_base_48_dhx_web {
	border: none;
}
table.dhtmlxLayoutPolyContainer_dhx_web td.dhtmlxLayoutSinglePoly .dhx_toolbar_base_18_dhx_web,
table.dhtmlxLayoutPolyContainer_dhx_web td.dhtmlxLayoutSinglePoly .dhx_toolbar_base_24_dhx_web,
table.dhtmlxLayoutPolyContainer_dhx_web td.dhtmlxLayoutSinglePoly .dhx_toolbar_base_32_dhx_web,
table.dhtmlxLayoutPolyContainer_dhx_web td.dhtmlxLayoutSinglePoly .dhx_toolbar_base_48_dhx_web {
	border: none;
}

/* CUSTOM PART */

/* ICON SIZE 18 */

.dhx_toolbar_base_18_dhx_web {height:32px; background-position: 0px -0px;}
.dhx_toolbar_base_18_dhx_web.in_layoutcell {height: 41px;background-position: 0px -0px;}
.dhx_toolbar_base_18_dhx_web.in_acccell {height: 41px;background-position: 0px -0px;}
.dhx_tabbar_zone_dhx_skyblue .dhx_toolbar_base_18_dhx_web {height: 41px;background-position: 0px -0px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn {height: 22px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_arw {height: 22px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn.over {background-position: 0px -41px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn.pres {background-position: 0px -41px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_arw.over {background-position: 0px -41px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_arw.pres {background-position: 0px -41px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn.pres_dis {background-position: 0px -63px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_arw div.arwimg {width: 11px; height: 22px; background-position: 0px -85px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_arw.dis div.arwimg {background-position: -11px -85px;}
div.dhx_toolbar_poly_18_dhx_web table.buttons_cont tr.tr_btn {height: 24px;}
div.dhx_toolbar_poly_18_dhx_web table.buttons_cont tr.tr_btn.tr_btn_over {background-position: 0px -107px;}
div.dhx_toolbar_poly_18_dhx_web table.buttons_cont tr.tr_btn.tr_btn_selected {background-position: 0px -107px;}
div.dhx_toolbar_poly_18_dhx_web td.td_btn_sep div.btn_sep {background-position: 0px -131px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_sep {height: 22px; background-position: 0px -135px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn div.sl_bg_l {background-position: -3px -135px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn.dis div.sl_bg_l {background-position: -5px -135px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn div.sl_bg_r {background-position: -7px -135px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn.dis div.sl_bg_r {background-position: -9px -135px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn div.sl_bg_m {background-position: 0px -167px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn.dis div.sl_bg_m {background-position: 0px -189px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn div.sl_pen {height: 22px;background-position: 0px -211px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn div.sl_pen.over {background-position: 0px -233px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn.dis div.sl_pen {background-position: 0px -255px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn img {width: 18px; height: 18px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn div {height: 22px;line-height: 22px;}
div.dhx_toolbar_poly_18_dhx_web table.buttons_cont td.td_btn_img {width: 22px;}
div.dhx_toolbar_poly_18_dhx_web td.td_btn_img img.btn_sel_img {width: 18px;height: 18px;}
.dhx_toolbar_base_18_dhx_web.in_window,.dhx_toolbar_base_18_dhx_web.in_layout,.dhx_toolbar_base_18_dhx_web.in_tabbarcell {height:41px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_text {height: 22px;line-height: 22px;margin: 5px 0px 0px 1px;}
.dhx_toolbar_base_18_dhx_web div.dhx_toolbar_btn .inp {padding: 1px;margin-top: 2px;}

/* ICON SIZE 24 */

.dhx_toolbar_base_24_dhx_web {height:38px; background-position: 0px -277px;}
.dhx_toolbar_base_24_dhx_web.in_layoutcell {height: 47px;background-position: 0px -277px;}
.dhx_toolbar_base_24_dhx_web.in_acccell {height: 47px;background-position: 0px -277px;}
.dhx_tabbar_zone_dhx_skyblue .dhx_toolbar_base_24_dhx_web {height: 47px;background-position: 0px -277px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn {height: 28px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_arw {height: 28px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn.over {background-position: 0px -324px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn.pres {background-position: 0px -324px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_arw.over {background-position: 0px -324px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_arw.pres {background-position: 0px -324px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn.pres_dis {background-position: 0px -352px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_arw div.arwimg {width: 13px; height: 28px; background-position: 0px -380px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_arw.dis div.arwimg {background-position: -13px -380px;}
div.dhx_toolbar_poly_24_dhx_web table.buttons_cont tr.tr_btn {height: 30px;}
div.dhx_toolbar_poly_24_dhx_web table.buttons_cont tr.tr_btn.tr_btn_over {background-position: 0px -408px;}
div.dhx_toolbar_poly_24_dhx_web table.buttons_cont tr.tr_btn.tr_btn_selected {background-position: 0px -408px;}
div.dhx_toolbar_poly_24_dhx_web td.td_btn_sep div.btn_sep {background-position: 0px -438px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_sep {height: 28px; background-position: 0px -442px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn div.sl_bg_l {background-position: -3px -442px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn.dis div.sl_bg_l {background-position: -5px -442px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn div.sl_bg_r {background-position: -7px -442px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn.dis div.sl_bg_r {background-position: -9px -442px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn div.sl_bg_m {background-position: 0px -480px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn.dis div.sl_bg_m {background-position: 0px -508px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn div.sl_pen {height: 28px;background-position: 0px -536px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn div.sl_pen.over {background-position: 0px -564px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn.dis div.sl_pen {background-position: 0px -592px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn img {width: 24px; height: 24px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn div {height: 28px;line-height: 28px;}
div.dhx_toolbar_poly_24_dhx_web table.buttons_cont td.td_btn_img {width: 28px;}
div.dhx_toolbar_poly_24_dhx_web td.td_btn_img img.btn_sel_img {width: 24px;height: 24px;}
.dhx_toolbar_base_24_dhx_web.in_window,.dhx_toolbar_base_24_dhx_web.in_layout,.dhx_toolbar_base_24_dhx_web.in_tabbarcell {height:47px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_text {height: 28px;line-height: 28px;margin: 5px 0px 0px 1px;}
.dhx_toolbar_base_24_dhx_web div.dhx_toolbar_btn .inp {padding: 2px;margin-top: 4px;}

/* ICON SIZE 32 */

.dhx_toolbar_base_32_dhx_web {height:46px; background-position: 0px -620px;}
.dhx_toolbar_base_32_dhx_web.in_layoutcell {height: 55px;background-position: 0px -620px;}
.dhx_toolbar_base_32_dhx_web.in_acccell {height: 55px;background-position: 0px -620px;}
.dhx_tabbar_zone_dhx_skyblue .dhx_toolbar_base_32_dhx_web {height: 55px;background-position: 0px -620px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn {height: 36px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_arw {height: 36px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn.over {background-position: 0px -675px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn.pres {background-position: 0px -675px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_arw.over {background-position: 0px -675px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_arw.pres {background-position: 0px -675px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn.pres_dis {background-position: 0px -711px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_arw div.arwimg {width: 15px; height: 36px; background-position: 0px -747px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_arw.dis div.arwimg {background-position: -15px -747px;}
div.dhx_toolbar_poly_32_dhx_web table.buttons_cont tr.tr_btn {height: 38px;}
div.dhx_toolbar_poly_32_dhx_web table.buttons_cont tr.tr_btn.tr_btn_over {background-position: 0px -783px;}
div.dhx_toolbar_poly_32_dhx_web table.buttons_cont tr.tr_btn.tr_btn_selected {background-position: 0px -783px;}
div.dhx_toolbar_poly_32_dhx_web td.td_btn_sep div.btn_sep {background-position: 0px -821px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_sep {height: 36px; background-position: 0px -825px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn div.sl_bg_l {background-position: -3px -825px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn.dis div.sl_bg_l {background-position: -5px -825px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn div.sl_bg_r {background-position: -7px -825px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn.dis div.sl_bg_r {background-position: -9px -825px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn div.sl_bg_m {background-position: 0px -871px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn.dis div.sl_bg_m {background-position: 0px -907px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn div.sl_pen {height: 36px;background-position: 0px -943px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn div.sl_pen.over {background-position: 0px -979px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn.dis div.sl_pen {background-position: 0px -1015px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn img {width: 32px; height: 32px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn div {height: 36px;line-height: 36px;}
div.dhx_toolbar_poly_32_dhx_web table.buttons_cont td.td_btn_img {width: 36px;}
div.dhx_toolbar_poly_32_dhx_web td.td_btn_img img.btn_sel_img {width: 32px;height: 32px;}
.dhx_toolbar_base_32_dhx_web.in_window,.dhx_toolbar_base_32_dhx_web.in_layout,.dhx_toolbar_base_32_dhx_web.in_tabbarcell {height:55px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_text {height: 36px;line-height: 36px;margin: 5px 0px 0px 1px;}
.dhx_toolbar_base_32_dhx_web div.dhx_toolbar_btn .inp {padding: 4px;margin-top: 6px;}

/* ICON SIZE 48 */

.dhx_toolbar_base_48_dhx_web {height:62px; background-position: 0px -1051px;}
.dhx_toolbar_base_48_dhx_web.in_layoutcell {height: 71px;background-position: 0px -1051px;}
.dhx_toolbar_base_48_dhx_web.in_acccell {height: 71px;background-position: 0px -1051px;}
.dhx_tabbar_zone_dhx_skyblue .dhx_toolbar_base_48_dhx_web {height: 71px;background-position: 0px -1051px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn {height: 52px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_arw {height: 52px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn.over {background-position: 0px -1122px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn.pres {background-position: 0px -1122px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_arw.over {background-position: 0px -1122px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_arw.pres {background-position: 0px -1122px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn.pres_dis {background-position: 0px -1174px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_arw div.arwimg {width: 17px; height: 52px; background-position: 0px -1226px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_arw.dis div.arwimg {background-position: -17px -1226px;}
div.dhx_toolbar_poly_48_dhx_web table.buttons_cont tr.tr_btn {height: 54px;}
div.dhx_toolbar_poly_48_dhx_web table.buttons_cont tr.tr_btn.tr_btn_over {background-position: 0px -1278px;}
div.dhx_toolbar_poly_48_dhx_web table.buttons_cont tr.tr_btn.tr_btn_selected {background-position: 0px -1278px;}
div.dhx_toolbar_poly_48_dhx_web td.td_btn_sep div.btn_sep {background-position: 0px -1332px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_sep {height: 52px; background-position: 0px -1336px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn div.sl_bg_l {background-position: -3px -1336px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn.dis div.sl_bg_l {background-position: -5px -1336px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn div.sl_bg_r {background-position: -7px -1336px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn.dis div.sl_bg_r {background-position: -9px -1336px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn div.sl_bg_m {background-position: 0px -1398px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn.dis div.sl_bg_m {background-position: 0px -1450px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn div.sl_pen {height: 52px;background-position: 0px -1502px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn div.sl_pen.over {background-position: 0px -1554px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn.dis div.sl_pen {background-position: 0px -1606px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn img {width: 48px; height: 48px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn div {height: 52px;line-height: 52px;}
div.dhx_toolbar_poly_48_dhx_web table.buttons_cont td.td_btn_img {width: 52px;}
div.dhx_toolbar_poly_48_dhx_web td.td_btn_img img.btn_sel_img {width: 48px;height: 48px;}
.dhx_toolbar_base_48_dhx_web.in_window,.dhx_toolbar_base_48_dhx_web.in_layout,.dhx_toolbar_base_48_dhx_web.in_tabbarcell {height:71px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_text {height: 52px;line-height: 52px;margin: 5px 0px 0px 1px;}
.dhx_toolbar_base_48_dhx_web div.dhx_toolbar_btn .inp {padding: 8px;margin-top: 10px;}

/* STATIC PART FOR ALL SIZES */

/* label for slider */
div.dhx_toolbar_slider_label_dhx_web {
	position: absolute;
	border: #ffffff 1px solid;
	background-color: #acdaf0;
	font-family: Tahoma;
	font-size: 12px;
	color: #000000;
	font-weight: normal;
	padding: 2px 6px;
	cursor: default;
	-moz-user-select: none;
	z-index: 8422;
	box-shadow: 2px 3px 13px #666666;
	-moz-box-shadow: 2px 3px 13px #666666;
	-webkit-box-shadow: 2px 3px 13px #666666;
	-khtml-box-shadow: 2px 3px 13px #666666;
	filter:progid:DXImageTransform.Microsoft.Shadow(color=#666666,direction=135);
	-moz-user-select: none;
}

/* maxopen test */
.dhxtoolbar_maxopen_test {
	position: absolute;
	width: 200px;
	height: 50px;
	overflow-x: none;
	overflow-y: auto;
	left: -300px;
	top: 100px;
	border: 1px solid white;
	visibility: hidden;
}
.dhxtoolbar_maxopen_test2 {
	height: 200px;
}


text:
// This is an open source non-commercial project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com

/* TotalCell.cs --
 * Ars Magna project, http://arsmagna.ru
 * -------------------------------------------------------
 * Status: poor
 */

#region Using directives

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;

using AM;
using AM.Text;

using CodeJam;

using JetBrains.Annotations;

using MoonSharp.Interpreter;

using Newtonsoft.Json;

#endregion

namespace ManagedIrbis.Reports
{
    /// <summary>
    ///
    /// </summary>
    [PublicAPI]
    [MoonSharpUserData]
    public class TotalCell
        : ReportCell
    {
        #region Properties

        /// <summary>
        /// Band index.
        /// </summary>
        [JsonProperty("band")]
        [XmlAttribute("band")]
        public int BandIndex { get; set; }

        /// <summary>
        /// Cell index.
        /// </summary>
        [JsonProperty("cell")]
        [XmlAttribute("cell")]
        public int CellIndex
        {
            get; set;
        }

        /// <summary>
        /// Function.
        /// </summary>
        [JsonProperty("function")]
        [XmlAttribute("function")]
        public TotalFunction Function { get; set; }

        /// <summary>
        /// Format.
        /// </summary>
        [CanBeNull]
        [JsonProperty("format")]
        [XmlAttribute("format")]
        public string Format { get; set; }

        #endregion

        #region Construction

        /// <summary>
        /// Constructor.
        /// </summary>
        public TotalCell()
        {
        }

        /// <summary>
        /// Constructor.
        /// </summary>
        public TotalCell
            (
                int bandIndex,
                int cellIndex,
                TotalFunction function
            )
        {
            BandIndex = bandIndex;
            CellIndex = cellIndex;
            Function = function;
        }

        /// <summary>
        /// Constructor.
        /// </summary>
        public TotalCell
            (
                int bandIndex,
                int cellIndex,
                TotalFunction function,
                [CanBeNull] string format
            )
        {
            BandIndex = bandIndex;
            CellIndex = cellIndex;
            Function = function;
            Format = format;
        }

        #endregion

        #region Private members

        /// <inheritdoc cref="ReportCell.Compute"/>
        public override string Compute
            (
                ReportContext context
            )
        {
            Code.NotNull(context, "context");

            OnBeforeCompute(context);

            ReportBand band = Band
                .ThrowIfNull("Band not set");
            CompositeBand parent = (CompositeBand) band.Parent
                .ThrowIfNull("Parent not set");
            band = parent.Body[BandIndex];
            ReportCell cell = band.Cells[CellIndex];
            string format = Format;

            string result = null;

            int count = context.Records.Count;

            if (Function == TotalFunction.Count)
            {
                result = context.Records.Count.ToInvariantString();
            }
            else
            {
                int countNonEmpty = 0;
                double accumulator = 0;

                for (int i = 0; i < count; i++)
                {
                    context.Index = i;
                    context.CurrentRecord = context.Records[i];

                    string value = cell.Compute(context);

                    switch (Function)
                    {
                        case TotalFunction.CountNonEmpty:
                            if (!string.IsNullOrEmpty(value))
                            {
                                countNonEmpty++;
                            }
                            result
                                = countNonEmpty.ToInvariantString();
                            break;

                        case TotalFunction.Maximum:
                            if (string.IsNullOrEmpty(result))
                            {
                                result = value;
                            }
                            if (NumberText.Compare
                                (
                                    result,
                                    value
                                ) < 0)
                            {
                                result = value;
                            }
                            break;

                        case TotalFunction.Minimum:
                            if (string.IsNullOrEmpty(result))
                            {
                                result = value;
                            }
                            if (NumberText.Compare
                                (
                                    result,
                                    value
                                ) > 0)
                            {
                                result = value;
                            }
                            break;

                        case TotalFunction.Sum:
                            double number;
                            if (NumericUtility.TryParseDouble
                                (
                                    value,
                                    out number
                                ))
                            {
                                accumulator += number;
                                if (string.IsNullOrEmpty(format))
                                {
                                    result = accumulator
                                        .ToInvariantString();
                                }
                                else
                                {
                                    result = accumulator
                                        .ToString
                                        (
                                            format,
                                            CultureInfo.InvariantCulture
                                        );
                                }
                            }
                            break;
                    }
                }
            }

            context.CurrentRecord = null;
            context.Index = -1;

            OnAfterCompute(context);

            return result;
        }

        /// <inheritdoc cref="ReportCell.Render"/>
        public override void Render
            (
                ReportContext context
            )
        {
            Code.NotNull(context, "context");

            ReportDriver driver = context.Driver;

            driver.BeginCell(context, this);

            string text = Compute(context);
            driver.Write(context, text);

            driver.EndCell(context, this);
        }

        #endregion

        #region Public methods

        #endregion
    }
}

redpajama_set_name: RedPajamaGithub


text:
package com.github.ferstl.depgraph.dependency;

import org.hamcrest.Matchers;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import com.github.ferstl.depgraph.graph.Edge;
import com.github.ferstl.depgraph.graph.GraphBuilder;
import com.github.ferstl.depgraph.graph.Node;
import com.github.ferstl.depgraph.graph.TestFormatter;
import static com.github.ferstl.depgraph.dependency.DependencyNodeIdRenderer.versionlessId;
import static com.github.ferstl.depgraph.dependency.DependencyNodeUtil.createDependencyNode;
import static com.github.ferstl.depgraph.dependency.DependencyNodeUtil.createDependencyNodeWithConflict;
import static org.hamcrest.MatcherAssert.assertThat;

public abstract class AbstractGraphStyleConfigurerTest {

  private final DependencyNodeIdRenderer versionlessIdRenderer = versionlessId();
  private GraphStyleConfigurer graphStyleConfigurer;
  private TestFormatter formatter;
  private DependencyNode from;
  private DependencyNode to;
  private String fromId;
  private String toId;
  private DependencyNode toWithConflict;

  @BeforeEach
  void before() {
    this.graphStyleConfigurer = createGraphStyleConfigurer();
    this.formatter = new TestFormatter();
    this.from = createDependencyNode("group1", "artifact1", "version1");
    this.to = createDependencyNode("group2", "artifact2", "version2");
    this.toWithConflict = createDependencyNodeWithConflict("group2", "artifact2", "version2");
    this.fromId = this.versionlessIdRenderer.render(this.from);
    this.toId = this.versionlessIdRenderer.render(this.to);

  }

  @Test
  void showGroupIds() {
    // arrange
    GraphBuilder<DependencyNode> graphBuilder = GraphBuilder.create(this.versionlessIdRenderer);
    this.graphStyleConfigurer
        .showGroupIds(true)
        .configure(graphBuilder)
        .graphFormatter(this.formatter);

    // act
    graphBuilder.addEdge(this.from, this.to);
    graphBuilder.toString();

    // assert
    assertThat(this.formatter.nodes, Matchers.<Node>containsInAnyOrder(
        new Node<>(this.fromId, getNodeNameForGroupIdOnly("group1"), this.from),
        new Node<>(this.toId, getNodeNameForGroupIdOnly("group2"), this.to)));

    assertThat(this.formatter.edges, Matchers.containsInAnyOrder(new Edge(this.fromId, this.toId, getEdgeNameForNonConflictingVersion("version2"))));
  }

  @Test
  void showArtifactIds() {
    // arrange
    GraphBuilder<DependencyNode> graphBuilder = GraphBuilder.create(this.versionlessIdRenderer);
    this.graphStyleConfigurer
        .showArtifactIds(true)
        .configure(graphBuilder)
        .graphFormatter(this.formatter);

    // act
    graphBuilder.addEdge(this.from, this.to);
    graphBuilder.toString();

    // assert
    assertThat(this.formatter.nodes, Matchers.<Node>containsInAnyOrder(
        new Node<>(this.fromId, getNodeNameForArtifactIdOnly("artifact1"), this.from),
        new Node<>(this.versionlessIdRenderer.render(this.to), getNodeNameForArtifactIdOnly("artifact2"), this.to)));

    assertThat(this.formatter.edges, Matchers.containsInAnyOrder(new Edge(this.fromId, this.toId, getEdgeNameForNonConflictingVersion("version2"))));
  }

  @Test
  void showVersionsOnNodes() {
    // arrange
    GraphBuilder<DependencyNode> graphBuilder = GraphBuilder.create(this.versionlessIdRenderer);
    this.graphStyleConfigurer
        .showVersionsOnNodes(true)
        .configure(graphBuilder)
        .graphFormatter(this.formatter);

    // act
    graphBuilder.addEdge(this.from, this.to);
    graphBuilder.toString();

    // assert
    assertThat(this.formatter.nodes, Matchers.<Node>containsInAnyOrder(
        new Node<>(this.fromId, getNodeNameForVersionOnly("version1"), this.from),
        new Node<>(this.toId, getNodeNameForVersionOnly("version2"), this.to)));

    assertThat(this.formatter.edges, Matchers.containsInAnyOrder(new Edge(this.fromId, this.toId, getEdgeNameForNonConflictingVersion("version2"))));
  }

  @Test
  void showVersionsOnNodesWithConflict() {
    // arrange
    GraphBuilder<DependencyNode> graphBuilder = GraphBuilder.create(this.versionlessIdRenderer);
    this.graphStyleConfigurer
        .showVersionsOnNodes(true)
        .configure(graphBuilder)
        .graphFormatter(this.formatter);

    // act
    graphBuilder.addEdge(this.from, this.toWithConflict);
    graphBuilder.toString();

    // assert
    assertThat(this.formatter.nodes, Matchers.<Node>containsInAnyOrder(
        new Node<>(this.fromId, getNodeNameForVersionOnly("version1"), this.from),
        new Node<>(this.toId, getNodeNameForVersionOnly("version2"), this.to)));

    assertThat(this.formatter.edges, Matchers.containsInAnyOrder(new Edge(this.fromId, this.toId, getEdgeNameForConflictingVersion("version2-alpha", false))));
  }

  @Test
  void showVersionsOnEdgesWithoutConflict() {
    // arrange
    GraphBuilder<DependencyNode> graphBuilder = GraphBuilder.create(this.versionlessIdRenderer);
    this.graphStyleConfigurer
        .showVersionsOnEdges(true)
        .configure(graphBuilder)
        .graphFormatter(this.formatter);

    // act
    graphBuilder.addEdge(this.from, this.to);
    graphBuilder.toString();

    // assert
    assertThat(this.formatter.nodes, Matchers.<Node>containsInAnyOrder(
        new Node<>(this.fromId, getEmptyNodeName(), this.from),
        new Node<>(this.toId, getEmptyNodeName(), this.to)));

    assertThat(this.formatter.edges, Matchers.containsInAnyOrder(new Edge(this.fromId, this.toId, getEdgeNameForNonConflictingVersion("version2"))));
  }

  @Test
  void showVersionsOnEdgesWithConflict() {
    // arrange
    GraphBuilder<DependencyNode> graphBuilder = GraphBuilder.create(this.versionlessIdRenderer);
    this.graphStyleConfigurer
        .showVersionsOnEdges(true)
        .configure(graphBuilder)
        .graphFormatter(this.formatter);

    // act
    graphBuilder.addEdge(this.from, this.toWithConflict);
    graphBuilder.toString();

    // assert
    assertThat(this.formatter.nodes, Matchers.<Node>containsInAnyOrder(
        new Node<>(this.fromId, getEmptyNodeName(), this.from),
        new Node<>(this.toId, getEmptyNodeName(), this.toWithConflict)));

    assertThat(this.formatter.edges, Matchers.containsInAnyOrder(new Edge(this.fromId, this.toId, getEdgeNameForConflictingVersion("version2-alpha", true))));
  }

  @Test
  void showAll() {
    // arrange
    GraphBuilder<DependencyNode> graphBuilder = GraphBuilder.create(this.versionlessIdRenderer);
    this.graphStyleConfigurer
        .showGroupIds(true)
        .showArtifactIds(true)
        .showVersionsOnNodes(true)
        .showVersionsOnEdges(true)
        .configure(graphBuilder)
        .graphFormatter(this.formatter);

    // act
    graphBuilder.addEdge(this.from, this.toWithConflict);
    graphBuilder.toString();

    // assert
    assertThat(this.formatter.nodes, Matchers.<Node>containsInAnyOrder(
        new Node<>(this.fromId, getNodeNameForAllAttributes("group1", "artifact1", "version1"), this.from),
        new Node<>(this.toId, getNodeNameForAllAttributes("group2", "artifact2", "version2"), this.to)));

    assertThat(this.formatter.edges, Matchers.containsInAnyOrder(new Edge(this.fromId, this.toId, getEdgeNameForConflictingVersion("version2-alpha", true))));
  }

  @Test
  void showNothing() {
    // arrange
    GraphBuilder<DependencyNode> graphBuilder = GraphBuilder.create(this.versionlessIdRenderer);
    this.graphStyleConfigurer.configure(graphBuilder)
        .graphFormatter(this.formatter);

    // act
    graphBuilder.addEdge(this.from, this.to);
    graphBuilder.toString();

    // assert
    assertThat(this.formatter.nodes, Matchers.<Node>containsInAnyOrder(
        new Node<>(this.fromId, getEmptyNodeName(), this.from),
        new Node<>(this.toId, getEmptyNodeName(), this.to)));

    assertThat(this.formatter.edges, Matchers.containsInAnyOrder(new Edge(this.fromId, this.toId, "")));
  }

  protected abstract GraphStyleConfigurer createGraphStyleConfigurer();

  protected abstract String getNodeNameForGroupIdOnly(String groupId);

  protected abstract String getNodeNameForArtifactIdOnly(String artifactId);

  protected abstract String getNodeNameForVersionOnly(String version);

  protected abstract String getEdgeNameForNonConflictingVersion(String version);

  protected abstract String getEdgeNameForConflictingVersion(String conflictingVersion, boolean showVersion);

  protected abstract String getNodeNameForAllAttributes(String groupId, String artifactId, String version);

  protected abstract String getEmptyNodeName();
}


text:
/*
 *  CFICUConverters.h
 *  CoreFoundation
 *
 *  Created by Aki Inoue on 07/12/04.
 *  Copyright (c) 2007-2013, Apple Inc. All rights reserved.
 *
 */

#include <CoreFoundation/CFString.h>

CF_PRIVATE const char *__CFStringEncodingGetICUName(CFStringEncoding encoding);

CF_PRIVATE CFStringEncoding __CFStringEncodingGetFromICUName(const char *icuName);

CF_PRIVATE CFIndex __CFStringEncodingICUToBytes(const char *icuName, uint32_t flags, const UniChar *characters, CFIndex numChars, CFIndex *usedCharLen, uint8_t *bytes, CFIndex maxByteLen, CFIndex *usedByteLen);
CF_PRIVATE CFIndex __CFStringEncodingICUToUnicode(const char *icuName, uint32_t flags, const uint8_t *bytes, CFIndex numBytes, CFIndex *usedByteLen, UniChar *characters, CFIndex maxCharLen, CFIndex *usedCharLen);
CF_PRIVATE CFIndex __CFStringEncodingICUCharLength(const char *icuName, uint32_t flags, const uint8_t *bytes, CFIndex numBytes);
CF_PRIVATE CFIndex __CFStringEncodingICUByteLength(const char *icuName, uint32_t flags, const UniChar *characters, CFIndex numChars);

// The caller is responsible for freeing the memory (use CFAllocatorDeallocate)
CF_PRIVATE CFStringEncoding *__CFStringEncodingCreateICUEncodings(CFAllocatorRef allocator, CFIndex *numberOfIndex);


text:
package de.v13dev.designpatterns.state;

public class StartState implements IState {

    private final Context context;

    public StartState(Context context) {
        this.context = context;
    }

    @Override
    public String action() {
        this.context.setCurrentState(this.context.getSecondState());
        return "StartState";
    }

}


text:
require('./angular-locale_vun-tz');
module.exports = 'ngLocale';


text:
<!DOCTYPE html>

<meta charset="UTF-8">
<title>Geo Location</title>


text:
<!doctype html>

	<meta charset="utf-8">

	<link rel="stylesheet" href="../../../../docs/style.css">

timelinefx:timelinefx.CheckCollision

Function CheckCollision:tlCollisionResult( source:tlBox, target:tlBox )

Check for a collision between 2 Boundaries
You can use this function to check for collisions between any type of boundary: tlBox, tlCircle, tlLine and tlPolygon. The tlCollisionResult
can then be used to determine what you want to do if a collision happened (or will happen). See PreventOverlap to make boundaries block or push
each other.

Parameters

source
tlBox object

target
tlBox object


text:
<?php

class UserEventTest extends PHPUnit_Framework_TestCase {

    public function tearDown()
    {
        Mockery::close();
    }

    public function testUserRegister()
    {

        $user = Mockery::mock('User');
        $user->shouldReceive('getEmail')
            ->once()
            ->andReturn('test@test.pl');

        $mailer = Mockery::mock('Mailer[sendActivationMessage]');
        $mailer->shouldReceive('sendActivationMessage')
            ->once()
            ->andReturn(TRUE);

        $event = new UserEventHandler($user, $mailer);

        $this->assertEquals(TRUE, $event->onUserRegister());
        $this->assertEquals('test@test.pl', $mailer->getEmail());
    }

    /*
    public function testUserRegisterNativeMock()
    {
        $mock = $this->getMock('Mailer');
        $mock->expects($this->once())
            ->method('sendActivationMessage')
            ->will($this->returnValue(TRUE));

        $event = new UserEventHandler($mock);

        $this->assertEquals(TRUE, $event->onUserRegister());
    }*/

}


text:
========
proxenos
========

.. image:: https://img.shields.io/pypi/v/proxenos.svg
   :target: https://pypi.python.org/pypi/proxenos

.. image:: https://img.shields.io/pypi/pyversions/proxenos.svg
   :target: https://pypi.python.org/pypi/proxenos

.. image:: https://travis-ci.org/darvid/proxenos.svg?branch=master
   :target: https://travis-ci.org/darvid/proxenos

.. image:: https://img.shields.io/coveralls/darvid/proxenos.svg
   :target: https://coveralls.io/github/darvid/proxenos

.. image:: https://badges.gitter.im/python-proxenos/Lobby.svg
   :alt: Join the chat at https://gitter.im/python-proxenos/Lobby
   :target: https://gitter.im/python-proxenos/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge

A Python toolkit for Rendezvous/Highest Random Weight (HRW) hash based routing.

.. code-block:: pycon

   >>> import proxenos.mappers.consul
   >>> import proxenos.rendezvous
   >>> mapper = proxenos.mappers.consul.ConsulClusterMapper(
   ...     host='localhost', port=8500)
   >>> mapper.update()
   >>> mapper.cluster
   {SocketAddress(host=IPAddress('::'), port=8000),
    SocketAddress(host=IPAddress('::'), port=8001),
    SocketAddress(host=IPAddress('::'), port=8300),
    SocketAddress(host=IPAddress('::'), port=8500)}
   >>> mapper.select('github.com', proxenos.rendezvous.HashMethod.SIPHASH)
   SocketAddress(host=IPAddress('::'), port=8001)

.. code-block:: shell

   $ proxenos select -b consul -h localhost -p 8500 github.com
   0.0.0.0:8300

Features
========

* Support for multiple service discovery backends possible. *Currently
  only support for Consul is implemented, but other backends coming
  eventually.*
* Supports many different hash functions and PRFs. The default hashing
  method is the `SipHash <https://131002.net/siphash/>`_ PRF.
* Provides a command-line interface for quickly testing/debugging
  node selection.

Installation
============

.. code-block:: shell

   $ pip install proxenos[consul]
   $ # If you'd like Murmur3 support, use:
   $ pip install proxenos[consul,murmur]

Configuration
=============

Proxenos can be configured through environment variables.

* **PROXENOS_MMH_SEED** (int): The seed used for MurMur3 hashes.
* **PROXENOS_MMH_OPTIMIZE** (str): Set to ``x64`` or ``auto``.
* **PROXENOS_PRF** (str): The default hashing method to use. Defaults to
  ``siphash``. Can be set to one of ``md5``, ``sha1``, ``sha224``,
  ``sha256``, ``sha384``, ``sha512``, ``mmh_32``, ``mmh_64``,
  ``mmh_128``, or ``siphash``.
* **PROXENOS_SIPHASH_KEY** (str): The 128-bit SipHash key. A default
  key is provided, but users are advised to generate their own.

Notes
=====

**proxenos** uses Python's PRNG for calculating the weight of nodes in
a cluster, rather than using a linear congruential generator (LCG_)
as described in the `original paper on Rendezvous hashing`__. Seeded
weights generated are limited to ``sys.maxsize``, which means the
resulting weights will differ depending on the platform architecture.

.. _LCG: https://en.wikipedia.org/wiki/Linear_congruential_generator
.. _thaler_ravishankar_1996: http://www.eecs.umich.edu/techreports/cse/96/CSE-TR-316-96.pdf

__ thaler_ravishankar_1996_

Similar projects
================

* `clandestined <https://github.com/ewdurbin/clandestined-python>`_
* `nikhilgarg28/rendezvous <https://github.com/nikhilgarg28/rendezvous>`_


text:
name              'unifi'
maintainer        'Sous Chefs'
maintainer_email  'help@sous-chefs.org'
license           'Apache-2.0'
description       'Installs/Configures Ubiquiti UniFi server.'
version           '2.0.4'
source_url        'https://github.com/sous-chefs/unifi'
issues_url        'https://github.com/sous-chefs/unifi/issues'
chef_version      '>= 13.0'

supports 'ubuntu'
supports 'debian'

depends 'java'


text:
<?xml version="1.0" ?>

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<!-- Test schema file for SimpleQParserPlugin. -->

<schema name="simpleqp" version="1.0">
  <types>
    <fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>

    <!-- basic text field: no offsets -->
    <fieldtype name="text" class="solr.TextField">
      <analyzer>
        <tokenizer class="solr.MockTokenizerFactory" pattern="whitespace"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.ASCIIFoldingFilterFactory"/>
      </analyzer>
    </fieldtype>

    <!-- basic text field: except it will use the keyword analyzer -->
    <fieldtype name="text-keyword" class="solr.TextField">
      <analyzer>
        <tokenizer class="solr.MockTokenizerFactory" pattern="keyword"/>
      </analyzer>
    </fieldtype>

    <!-- basic text field: except it will use the keyword analyzer -->
    <fieldtype name="text-query" class="solr.TextField">
      <analyzer type="index">
        <tokenizer class="solr.MockTokenizerFactory" pattern="whitespace"/>
      </analyzer>
      <!-- only lower case at query time, so we can check the query analyzer is used -->
      <analyzer type="query">
        <tokenizer class="solr.MockTokenizerFactory" pattern="whitespace"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldtype>
  </types>

  <fields>
    <field name="id" type="int" indexed="true" stored="true" multiValued="false" required="false"/>
    <field name="text0" type="text" indexed="true" stored="true"/>
    <field name="text1" type="text" indexed="true" stored="true"/>
    <field name="text-keyword0" type="text-keyword" indexed="true" stored="true"/>
    <field name="text-query0" type="text-query" indexed="true" stored="true"/>
  </fields>

  <defaultSearchField>text0</defaultSearchField>
  <uniqueKey>id</uniqueKey>
</schema>


text:
gerdoo
======

A graph database library in go.
It's meant to be used as a library,
no stand alone server is planned for now,
staty tuned.


text:
namespace MockEverythingTests.Inspection.Demo
{
    [Demo("Hello, World!")]
    public class DecoratedCustomClass
    {
    }
}


text:
@import XCTest;
#import "LVClassToTest.h"
@import LVForgivingAssert;

@interface LVClassToTest_TestCase : XCTestCase

@end

@implementation LVClassToTest_TestCase

- (void)test_methodThatAsserts
{
    // first we test the right behaviour
    XCTAssertTrue([LVClassToTest methodThatAsserts:@"some string"]);

    // next, we force an assert exception and test this in debug configuration
    NSString *nilString;
    XCTAssertThrows([LVClassToTest methodThatAsserts:nilString]);

    // last, we test the behaviour in release environment without switching our configuration for the tests by ignoring the NSAssert
    LVIgnoreAssert(^{
        XCTAssertFalse([LVClassToTest methodThatAsserts:nilString]);
    });

    // after the macro the method throws as expected again
    XCTAssertThrows([LVClassToTest methodThatAsserts:nilString]);
}

@end


text:
package com.dth.service.transfer;

import com.dth.entity.WordOccurrence;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class CsvImportWords implements ImportWords {

    private final BufferedReader reader;
    private final String delimiter;

    public CsvImportWords(BufferedReader reader) {
        this(reader, ",");
    }

    public CsvImportWords(BufferedReader reader, String delimiter) {
        this.reader = reader;
        this.delimiter = delimiter;
    }

    @Override
    public List<WordOccurrence> importWords() throws TransferFailedException {
        List<WordOccurrence> words = new ArrayList<>(1000);

        try {
            String line;
            while ((line = reader.readLine()) != null) {
                String[] values = line.split(delimiter);
                words.add(new WordOccurrence(values[0], Integer.parseInt(values[1])));
            }
        } catch (IOException ex) {
            throw new TransferFailedException(ex);
        }

        return words;
    }

    @Override
    public void close() throws IOException {
        reader.close();
    }
}


text:
@echo off
echo.
echo  Montando...
jekyll build -d ../thetimetunnel.github.io
pause >nul


text:
	   var HttPRequest = false;

	   function doCallAjax(class_code,class_name,class_section,class_group) {
		  HttPRequest = false;
		  if (window.XMLHttpRequest) { // Mozilla, Safari,...
			 HttPRequest = new XMLHttpRequest();
			 if (HttPRequest.overrideMimeType) {
				HttPRequest.overrideMimeType('text/html');
			 }
		  } else if (window.ActiveXObject) { // IE
			 try {
				HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
			 } catch (e) {
				try {
				   HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			 }
		  }

		  if (!HttPRequest) {
			 alert('Cannot create XMLHTTP instance');
			 return false;
		  }

		  var url = 'AjaxGetFill.php';
		  var pmeters = "class_code=" + encodeURI( document.getElementById(class_code).value);

			HttPRequest.open('POST',url,true);

			HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			HttPRequest.setRequestHeader("Content-length", pmeters.length);
			HttPRequest.setRequestHeader("Connection", "close");
			HttPRequest.send(pmeters);

			HttPRequest.onreadystatechange = function()
			{

				//if(HttPRequest.readyState == 3)  // Loading Request
				//{
					//document.getElementById(faddress1).innerHTML = "..";
				//}

				if(HttPRequest.readyState == 4) // Return Request
				{
					var myProduct = HttPRequest.responseText;
					if(myProduct != "")
					{
						var myArr = myProduct.split("|");
						document.getElementById(class_name).value = myArr[0];
						document.getElementById(class_section).value = myArr[1];
						document.getElementById(class_group).value = myArr[2];
					}
				}

			}

	   }


text:
#import <React/RCTViewComponentView.h>

/**
 * UIView class for root <ModalHostView> component.
 */
@interface RCTModalHostViewComponentView : RCTViewComponentView

/**
 * Subclasses may override this method and present the modal on different view controller.
 * Default implementation presents the modal on `[self reactViewController]`.
 */
- (void)presentViewController:(UIViewController *)modalViewController
                     animated:(BOOL)animated
                   completion:(void (^)(void))completion;

/**
 * Subclasses may override this method.
 * Default implementation calls `[UIViewController dismissViewControllerAnimated:completion:]`.
 */
- (void)dismissViewController:(UIViewController *)modalViewController animated:(BOOL)animated;

@end


text:
Introduction
============

.. toctree::
   :maxdepth: 1

   installation.rst
   gettingstarted.rst
   sessions.rst
   use_jadx.rst


text:
FOUNDATION_EXPORT double Pods_CDBiCloudReadyDocumentsContainer_ExampleVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_CDBiCloudReadyDocumentsContainer_ExampleVersionString[];


text:
// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

'use strict';

/**
 * chrome.storage based class with an async interface that is interchangeable
 * with other lib.Storage.* implementations.
 */
lib.Storage.Chrome = function(storage) {
  this.storage_ = storage;
  this.observers_ = [];

  chrome.storage.onChanged.addListener(this.onChanged_.bind(this));
};

/**
 * Called by the storage implementation when the storage is modified.
 */
lib.Storage.Chrome.prototype.onChanged_ = function(changes, areaname) {
  if (chrome.storage[areaname] != this.storage_)
    return;

  for (var i = 0; i < this.observers_.length; i++) {
    this.observers_[i](changes);
  }
};

/**
 * Register a function to observe storage changes.
 *
 * @param {function(map)} callback The function to invoke when the storage
 *     changes.
 */
lib.Storage.Chrome.prototype.addObserver = function(callback) {
  this.observers_.push(callback);
};

/**
 * Unregister a change observer.
 *
 * @param {function} observer A previously registered callback.
 */
lib.Storage.Chrome.prototype.removeObserver = function(callback) {
  var i = this.observers_.indexOf(callback);
  if (i != -1)
    this.observers_.splice(i, 1);
};

/**
 * Delete everything in this storage.
 *
 * @param {function(map)} callback The function to invoke when the delete
 *     has completed.
 */
lib.Storage.Chrome.prototype.clear = function(opt_callback) {
  this.storage_.clear();

  if (opt_callback)
    setTimeout(opt_callback, 0);
};

/**
 * Return the current value of a storage item.
 *
 * @param {string} key The key to look up.
 * @param {function(value) callback The function to invoke when the value has
 *     been retrieved.
 */
lib.Storage.Chrome.prototype.getItem = function(key, callback) {
  this.storage_.get(key, callback);
};
/**
 * Fetch the values of multiple storage items.
 *
 * @param {Array} keys The keys to look up.
 * @param {function(map) callback The function to invoke when the values have
 *     been retrieved.
 */

lib.Storage.Chrome.prototype.getItems = function(keys, callback) {
  this.storage_.get(keys, callback);
};

/**
 * Set a value in storage.
 *
 * @param {string} key The key for the value to be stored.
 * @param {*} value The value to be stored.  Anything that can be serialized
 *     with JSON is acceptable.
 * @param {function()} opt_callback Optional function to invoke when the
 *     set is complete.  You don't have to wait for the set to complete in order
 *     to read the value, since the local cache is updated synchronously.
 */
lib.Storage.Chrome.prototype.setItem = function(key, value, opt_callback) {
  var obj = {};
  obj[key] = value;
  this.storage_.set(obj, opt_callback);
};

/**
 * Set multiple values in storage.
 *
 * @param {Object} map A map of key/values to set in storage.
 * @param {function()} opt_callback Optional function to invoke when the
 *     set is complete.  You don't have to wait for the set to complete in order
 *     to read the value, since the local cache is updated synchronously.
 */
lib.Storage.Chrome.prototype.setItems = function(obj, opt_callback) {
  this.storage_.set(obj, opt_callback);
};

/**
 * Remove an item from storage.
 *
 * @param {string} key The key to be removed.
 * @param {function()} opt_callback Optional function to invoke when the
 *     remove is complete.  You don't have to wait for the set to complete in
 *     order to read the value, since the local cache is updated synchronously.
 */
lib.Storage.Chrome.prototype.removeItem = function(key, opt_callback) {
  this.storage_.remove(key, opt_callback);
};

/**
 * Remove multiple items from storage.
 *
 * @param {Array} keys The keys to be removed.
 * @param {function()} opt_callback Optional function to invoke when the
 *     remove is complete.  You don't have to wait for the set to complete in
 *     order to read the value, since the local cache is updated synchronously.
 */
lib.Storage.Chrome.prototype.removeItems = function(keys, opt_callback) {
  this.storage_.remove(keys, opt_callback);
};


text:
cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [
    {
        "file": "plugins/com.phonegap.plugins.fileopener/www/fileopener.js",
        "id": "com.phonegap.plugins.fileopener.FileOpener",
        "clobbers": [
            "window.plugins.fileOpener"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.device/www/device.js",
        "id": "org.apache.cordova.device.device",
        "clobbers": [
            "device"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.dialogs/www/notification.js",
        "id": "org.apache.cordova.dialogs.notification",
        "merges": [
            "navigator.notification"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.statusbar/www/statusbar.js",
        "id": "org.apache.cordova.statusbar.statusbar",
        "clobbers": [
            "window.StatusBar"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.inappbrowser/www/inappbrowser.js",
        "id": "org.apache.cordova.inappbrowser.inappbrowser",
        "clobbers": [
            "window.open"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/DirectoryEntry.js",
        "id": "org.apache.cordova.file.DirectoryEntry",
        "clobbers": [
            "window.DirectoryEntry"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/DirectoryReader.js",
        "id": "org.apache.cordova.file.DirectoryReader",
        "clobbers": [
            "window.DirectoryReader"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/Entry.js",
        "id": "org.apache.cordova.file.Entry",
        "clobbers": [
            "window.Entry"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/File.js",
        "id": "org.apache.cordova.file.File",
        "clobbers": [
            "window.File"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/FileEntry.js",
        "id": "org.apache.cordova.file.FileEntry",
        "clobbers": [
            "window.FileEntry"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/FileError.js",
        "id": "org.apache.cordova.file.FileError",
        "clobbers": [
            "window.FileError"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/FileReader.js",
        "id": "org.apache.cordova.file.FileReader",
        "clobbers": [
            "window.FileReader"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/FileSystem.js",
        "id": "org.apache.cordova.file.FileSystem",
        "clobbers": [
            "window.FileSystem"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/FileUploadOptions.js",
        "id": "org.apache.cordova.file.FileUploadOptions",
        "clobbers": [
            "window.FileUploadOptions"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/FileUploadResult.js",
        "id": "org.apache.cordova.file.FileUploadResult",
        "clobbers": [
            "window.FileUploadResult"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/FileWriter.js",
        "id": "org.apache.cordova.file.FileWriter",
        "clobbers": [
            "window.FileWriter"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/Flags.js",
        "id": "org.apache.cordova.file.Flags",
        "clobbers": [
            "window.Flags"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/LocalFileSystem.js",
        "id": "org.apache.cordova.file.LocalFileSystem",
        "clobbers": [
            "window.LocalFileSystem"
        ],
        "merges": [
            "window"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/Metadata.js",
        "id": "org.apache.cordova.file.Metadata",
        "clobbers": [
            "window.Metadata"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/ProgressEvent.js",
        "id": "org.apache.cordova.file.ProgressEvent",
        "clobbers": [
            "window.ProgressEvent"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/fileSystems.js",
        "id": "org.apache.cordova.file.fileSystems"
    },
    {
        "file": "plugins/org.apache.cordova.file/www/requestFileSystem.js",
        "id": "org.apache.cordova.file.requestFileSystem",
        "clobbers": [
            "window.requestFileSystem"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/resolveLocalFileSystemURI.js",
        "id": "org.apache.cordova.file.resolveLocalFileSystemURI",
        "merges": [
            "window"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/ios/FileSystem.js",
        "id": "org.apache.cordova.file.iosFileSystem",
        "merges": [
            "FileSystem"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file/www/fileSystems-roots.js",
        "id": "org.apache.cordova.file.fileSystems-roots",
        "runs": true
    },
    {
        "file": "plugins/org.apache.cordova.file/www/fileSystemPaths.js",
        "id": "org.apache.cordova.file.fileSystemPaths",
        "merges": [
            "cordova"
        ],
        "runs": true
    },
    {
        "file": "plugins/org.apache.cordova.file-transfer/www/FileTransferError.js",
        "id": "org.apache.cordova.file-transfer.FileTransferError",
        "clobbers": [
            "window.FileTransferError"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.file-transfer/www/FileTransfer.js",
        "id": "org.apache.cordova.file-transfer.FileTransfer",
        "clobbers": [
            "window.FileTransfer"
        ]
    }
];
module.exports.metadata =
// TOP OF METADATA
{
    "com.phonegap.plugins.fileopener": "0.1.0",
    "org.apache.cordova.device": "0.2.9",
    "org.apache.cordova.dialogs": "0.2.6",
    "org.apache.cordova.statusbar": "0.1.3",
    "org.apache.cordova.inappbrowser": "0.5.0",
    "org.apache.cordova.file": "1.2.0",
    "org.apache.cordova.file-transfer": "0.4.4"
}
// BOTTOM OF METADATA
});


text:
require 'test_helper'

class SimpleStringTest < ActiveSupport::TestCase
  # test "the truth" do
  #   assert true
  # end
end


text:
#include <iostream>

#include "glad/glad.h"
#include "GLFW/glfw3.h"

#include "cgmath.h"

#include "CMisc.h"
#include "CObject.h"
#include "CShader.h"
#include "CEnvironment.h"
#include "CMovable.h"
#include "CModel.h"
#include "CPerspective.h"
#include "CView.h"
#include "CTexture.h"

using namespace std;

CEnvironment *CEnvironment::m_instance = NULL;

CEnvironment::CEnvironment(void)
{

}

CEnvironment::~CEnvironment(void)
{

}

CEnvironment *CEnvironment::GetInstance(void)
{
	if (!m_instance) {
		try {
			m_instance = new CEnvironment();
		}
		catch (...) {
			return NULL;
		}
	}

	return m_instance;
}

void CEnvironment::Destroy(void)
{
	delete this;
	m_instance = NULL;
}

int CEnvironment::Load(void)
{

	return 0;
}

int CEnvironment::Render(void)
{
	mat4 mvp;

	mvp = CPerspective::GetInstance()->Matrix() * CView::GetInstance()->Matrix() * CModel::GetInstance()->Matrix();

	glUniformMatrix4fv(CShader::GetInstance()->MVPId(), 1, GL_TRUE, (const GLfloat *)mvp);
	StatusPrint();

	glDrawElements(GL_TRIANGLE_STRIP, 4, GL_UNSIGNED_INT, (void *)(sizeof(GLuint) * 46));
	StatusPrint();

	return 0;
}

/* End of a file */


text:
/* line 1, /Users/sam/p/reactvore/app/styles/_typography.scss */
p {
  margin-bottom: 1em; }

/* line 5, /Users/sam/p/reactvore/app/styles/_typography.scss */
.heading {
  margin-bottom: 0.618em; }
  /* line 8, /Users/sam/p/reactvore/app/styles/_typography.scss */
  .heading.-large, h1 {
    font-size: 24px;
    font-weight: bold;
    line-height: 30px; }
  /* line 14, /Users/sam/p/reactvore/app/styles/_typography.scss */
  .heading.-medium, h2 {
    font-size: 16px;
    font-weight: normal;
    line-height: 20px; }
  /* line 20, /Users/sam/p/reactvore/app/styles/_typography.scss */
  .heading.-small, h3 {
    font-size: 12px;
    font-weight: bold;
    line-height: 13.33333px; }
  /* line 26, /Users/sam/p/reactvore/app/styles/_typography.scss */
  .heading.-smallest {
    font-size: 10px;
    font-weight: bold; }

/* line 1, /Users/sam/p/reactvore/app/styles/_base.scss */
body {
  font-family: Helvetica, sans-serif;
  color: #333;
  background-color: #eee;
  padding: 20px; }

/* line 8, /Users/sam/p/reactvore/app/styles/_base.scss */
.container {
  padding: 20px 0px; }

/* line 12, /Users/sam/p/reactvore/app/styles/_base.scss */
.footer {
  height: 100px;
  line-height: 100px; }

/* line 17, /Users/sam/p/reactvore/app/styles/_base.scss */
.form-horizontal .control-label {
  padding-top: 7px;
  margin-bottom: 0;
  text-align: left !important; }

/* line 1, /Users/sam/p/reactvore/app/styles/elements/_header.scss */
header {
  height: 50px;
  background: #eeeeee; }

/* line 1, /Users/sam/p/reactvore/app/styles/elements/_footer.scss */
footer {
  height: 100px;
  line-height: 100px; }

/*# sourceMappingURL=sass */


text:
/* This file was generated by SableCC (http://www.sablecc.org/). */

package org.acre.lang.node;

import org.acre.lang.analysis.*;

public final class TNil extends Token
{
    public TNil(String text)
    {
        setText(text);
    }

    public TNil(String text, int line, int pos)
    {
        setText(text);
        setLine(line);
        setPos(pos);
    }

    public Object clone()
    {
      return new TNil(getText(), getLine(), getPos());
    }

    public void apply(Switch sw)
    {
        ((Analysis) sw).caseTNil(this);
    }
}


text:
package io.engagingspaces.graphql.discovery.impl;

import io.vertx.core.AsyncResult;
import io.vertx.core.Handler;
import io.vertx.core.impl.Action;
import io.vertx.core.json.JsonObject;
import io.vertx.core.logging.Logger;
import io.vertx.core.logging.LoggerFactory;
import io.vertx.servicediscovery.Record;
import io.vertx.servicediscovery.ServiceDiscovery;
import io.vertx.servicediscovery.ServiceDiscoveryOptions;
import io.vertx.servicediscovery.ServiceReference;
import io.vertx.servicediscovery.spi.ServiceExporter;
import io.vertx.servicediscovery.spi.ServiceImporter;

import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.function.Function;

/**
 * Wrapper for {@link ServiceDiscovery} that delegates calls to
 * {@link ServiceDiscovery#close()} to a {@link io.engagingspaces.graphql.discovery.Registrar} and
 * forwards all other method calls to the wrapped service discovery instance.
 *
 * @author Arnold Schrijver
 */
class ManagedServiceDiscovery implements ServiceDiscovery {

    private static final Logger LOG = LoggerFactory.getLogger(ManagedServiceDiscovery.class);

    private final ServiceDiscovery unmanagedDiscoveryInstance;
    private final Action<Void>  closeAction;

    private ManagedServiceDiscovery(ServiceDiscovery unmanagedDiscoveryInstance, Action<Void> closeAction) {
        this.unmanagedDiscoveryInstance = unmanagedDiscoveryInstance;
        this.closeAction = closeAction;
    }

    /**
     * Creates a managed service discovery of the provided one.
     *
     * @param discovery   the service discovery that is managed
     * @param closeAction the action to perform when the discovery is closed
     * @return the managed service discovery instance
     */
    @SuppressWarnings("unchecked")
    public static <T extends ServiceDiscovery> T of(ServiceDiscovery discovery, Action<Void>  closeAction) {
        Objects.requireNonNull(discovery, "Service discovery cannot be null");
        if (discovery instanceof ManagedServiceDiscovery) {
            return (T) discovery;
        }
        return (T) new ManagedServiceDiscovery(discovery, closeAction);
    }

    /**
     * Closes the wrapped unmanaged service discovery ({@link ServiceDiscovery#close()})) without invoking the
     * close handler of the managed instance.
     *
     * @param managedDiscovery the managed discovery
     */
    protected static void closeUnmanaged(ManagedServiceDiscovery managedDiscovery) {
        managedDiscovery.unmanagedDiscoveryInstance.close();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ServiceReference getReference(Record record) {
        return unmanagedDiscoveryInstance.getReference(record);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ServiceReference getReferenceWithConfiguration(Record record, JsonObject configuration) {
        return unmanagedDiscoveryInstance.getReferenceWithConfiguration(record, configuration);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean release(ServiceReference reference) {
        return unmanagedDiscoveryInstance.release(reference);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ServiceDiscovery registerServiceImporter(ServiceImporter importer, JsonObject configuration) {
        return unmanagedDiscoveryInstance.registerServiceImporter(importer, configuration);
    }

    @Override
    public ServiceDiscovery registerServiceImporter(ServiceImporter importer, JsonObject configuration,
                                                    Handler<AsyncResult<Void>> completionHandler) {
        return unmanagedDiscoveryInstance.registerServiceImporter(importer, configuration, completionHandler);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ServiceDiscovery registerServiceExporter(ServiceExporter exporter, JsonObject configuration) {
        return unmanagedDiscoveryInstance.registerServiceExporter(exporter, configuration);
    }

    @Override
    public ServiceDiscovery registerServiceExporter(ServiceExporter exporter, JsonObject configuration,
                                                    Handler<AsyncResult<Void>> completionHandler) {
        return unmanagedDiscoveryInstance.registerServiceExporter(exporter, configuration, completionHandler);
    }

    /**
     * {@inheritDoc}
     *

     * Note: This service discovery is being managed by a
     * {@link io.engagingspaces.graphql.discovery.Registrar}. Upon closing any related resources will
     * be released by the registrar.
     */
    @Override
    public void close() {
        if (closeAction == null) {
            LOG.warn("Managed service discovery does not have a close handler. Closing normally...");
            unmanagedDiscoveryInstance.close();
        } else {
            closeAction.perform();
        }
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void publish(Record record, Handler<AsyncResult<Record>> resultHandler) {
        unmanagedDiscoveryInstance.publish(record, resultHandler);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void unpublish(String id, Handler<AsyncResult<Void>> resultHandler) {
        unmanagedDiscoveryInstance.unpublish(id, resultHandler);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void getRecord(JsonObject filter, Handler<AsyncResult<Record>> resultHandler) {
        unmanagedDiscoveryInstance.getRecord(filter, resultHandler);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void getRecord(Function<Record, Boolean> filter, Handler<AsyncResult<Record>> resultHandler) {
        unmanagedDiscoveryInstance.getRecord(filter, resultHandler);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void getRecord(Function<Record, Boolean> filter, boolean includeOutOfService,
                          Handler<AsyncResult<Record>> resultHandler) {
        unmanagedDiscoveryInstance.getRecord(filter, includeOutOfService, resultHandler);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void getRecords(JsonObject filter, Handler<AsyncResult<List<Record>>> resultHandler) {
        unmanagedDiscoveryInstance.getRecords(filter, resultHandler);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void getRecords(Function<Record, Boolean> filter, Handler<AsyncResult<List<Record>>> resultHandler) {
        unmanagedDiscoveryInstance.getRecords(filter, resultHandler);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void getRecords(Function<Record, Boolean> filter, boolean includeOutOfService,
                           Handler<AsyncResult<List<Record>>> resultHandler) {
        unmanagedDiscoveryInstance.getRecords(filter, includeOutOfService, resultHandler);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void update(Record record, Handler<AsyncResult<Record>> resultHandler) {
        unmanagedDiscoveryInstance.update(record, resultHandler);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Set<ServiceReference> bindings() {
        return unmanagedDiscoveryInstance.bindings();
    }

    @Override
    public ServiceDiscoveryOptions options() {
        return unmanagedDiscoveryInstance.options();
    }
}


text:
package com.google.gerrit.reviewdb.server;

import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.client.AccountGroup;
import com.google.gerrit.reviewdb.client.AccountGroupMember;
import com.google.gwtorm.server.Access;
import com.google.gwtorm.server.OrmException;
import com.google.gwtorm.server.PrimaryKey;
import com.google.gwtorm.server.Query;
import com.google.gwtorm.server.ResultSet;

public interface AccountGroupMemberAccess
    extends Access<AccountGroupMember, AccountGroupMember.Key> {
  @Override
  @PrimaryKey("key")
  AccountGroupMember get(AccountGroupMember.Key key) throws OrmException;

  @Query("WHERE key.accountId = ?")
  ResultSet<AccountGroupMember> byAccount(Account.Id id) throws OrmException;

  @Query("WHERE key.groupId = ?")
  ResultSet<AccountGroupMember> byGroup(AccountGroup.Id id) throws OrmException;
}


text:
import { List, Map } from 'immutable';
import { PlayerState } from '../player-reducer';
import { PlayerTimesState } from '../player-times-reducer';
import {
  getPlayer,
  getPlayerIsPlaying,
  getPlayerTimes,
  getPlayerTrack,
  getPlayerTrackId,
  getPlayerTracklist,
  getPlayerTracklistCursor,
  getPlayerTracklistId
} from '../selectors';

describe('player', () => {
  describe('selectors', () => {
    let state;
    let track;
    let tracklist;

    beforeEach(() => {
      track = {id: 1};
      tracklist = {
        id: 'tracklist/1',
        trackIds: new List([1, 2, 3])
      };

      state = {
        player: new PlayerState({
          isPlaying: true,
          trackId: 1,
          tracklistId: 'tracklist/1',
          volume: 10
        }),
        playerTimes: new PlayerTimesState(),
        tracklists: new Map({'tracklist/1': tracklist}),
        tracks: new Map().set(1, track)
      };
    });

    describe('getPlayer()', () => {
      it('should return PlayerState', () => {
        expect(getPlayer(state)).toBe(state.player);
      });
    });

    describe('getPlayerIsPlaying()', () => {
      it('should return PlayerState.isPlaying', () => {
        expect(getPlayerIsPlaying(state)).toBe(true);
      });
    });

    describe('getPlayerTimes()', () => {
      it('should return PlayerTimesState', () => {
        expect(getPlayerTimes(state)).toBe(state.playerTimes);
      });
    });

    describe('getPlayerTrack()', () => {
      it('should return track corresponding to PlayerState.trackId', () => {
        expect(getPlayerTrack(state)).toBe(track);
      });
    });

    describe('getPlayerTrackId()', () => {
      it('should return PlayerState.trackId', () => {
        expect(getPlayerTrackId(state)).toBe(1);
      });
    });

    describe('getPlayerTracklist()', () => {
      it('should return tracklist corresponding to PlayerState.tracklistId', () => {
        expect(getPlayerTracklist(state)).toBe(tracklist);
      });
    });

    describe('getPlayerTracklistId()', () => {
      it('should return PlayerState.tracklistId', () => {
        expect(getPlayerTracklistId(state)).toBe('tracklist/1');
      });
    });

    describe('getPlayerTracklistCursor()', () => {
      it('should return cursor derived from player tracklist.trackIds and PlayerState.trackId', () => {
        let cursor = getPlayerTracklistCursor(state); // trackIds: [1] 2 3

        expect(cursor).toEqual({
          previousTrackId: null,
          selectedTrackId: 1,
          nextTrackId: 2
        });

        state.player = state.player.set('trackId', 2);
        cursor = getPlayerTracklistCursor(state); // trackIds: 1 [2] 3

        expect(cursor).toEqual({
          previousTrackId: 1,
          selectedTrackId: 2,
          nextTrackId: 3
        });

        state.player = state.player.set('trackId', 3);
        cursor = getPlayerTracklistCursor(state); // trackIds: 1 2 [3]

        expect(cursor).toEqual({
          previousTrackId: 2,
          selectedTrackId: 3,
          nextTrackId: null
        });
      });
    });
  });
});


text:
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.resourcemanager.logic.models;

import com.azure.core.http.rest.PagedIterable;
import com.azure.core.http.rest.Response;
import com.azure.core.util.Context;

/** Resource collection API of WorkflowRunActionRepetitions. */
public interface WorkflowRunActionRepetitions {
    /**
     * Get all of a workflow run action repetitions.
     *
     * @param resourceGroupName The resource group name.
     * @param workflowName The workflow name.
     * @param runName The workflow run name.
     * @param actionName The workflow action name.
     * @throws IllegalArgumentException thrown if parameters fail the validation.
     * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
     * @return all of a workflow run action repetitions.
     */
    PagedIterable<WorkflowRunActionRepetitionDefinition> list(
        String resourceGroupName, String workflowName, String runName, String actionName);

    /**
     * Get all of a workflow run action repetitions.
     *
     * @param resourceGroupName The resource group name.
     * @param workflowName The workflow name.
     * @param runName The workflow run name.
     * @param actionName The workflow action name.
     * @param context The context to associate with this operation.
     * @throws IllegalArgumentException thrown if parameters fail the validation.
     * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
     * @return all of a workflow run action repetitions.
     */
    PagedIterable<WorkflowRunActionRepetitionDefinition> list(
        String resourceGroupName, String workflowName, String runName, String actionName, Context context);

    /**
     * Get a workflow run action repetition.
     *
     * @param resourceGroupName The resource group name.
     * @param workflowName The workflow name.
     * @param runName The workflow run name.
     * @param actionName The workflow action name.
     * @param repetitionName The workflow repetition.
     * @throws IllegalArgumentException thrown if parameters fail the validation.
     * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
     * @return a workflow run action repetition.
     */
    WorkflowRunActionRepetitionDefinition get(
        String resourceGroupName, String workflowName, String runName, String actionName, String repetitionName);

    /**
     * Get a workflow run action repetition.
     *
     * @param resourceGroupName The resource group name.
     * @param workflowName The workflow name.
     * @param runName The workflow run name.
     * @param actionName The workflow action name.
     * @param repetitionName The workflow repetition.
     * @param context The context to associate with this operation.
     * @throws IllegalArgumentException thrown if parameters fail the validation.
     * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
     * @return a workflow run action repetition.
     */
    Response<WorkflowRunActionRepetitionDefinition> getWithResponse(
        String resourceGroupName,
        String workflowName,
        String runName,
        String actionName,
        String repetitionName,
        Context context);

    /**
     * Lists a workflow run expression trace.
     *
     * @param resourceGroupName The resource group name.
     * @param workflowName The workflow name.
     * @param runName The workflow run name.
     * @param actionName The workflow action name.
     * @param repetitionName The workflow repetition.
     * @throws IllegalArgumentException thrown if parameters fail the validation.
     * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
     * @return the expression traces.
     */
    PagedIterable<ExpressionRoot> listExpressionTraces(
        String resourceGroupName, String workflowName, String runName, String actionName, String repetitionName);

    /**
     * Lists a workflow run expression trace.
     *
     * @param resourceGroupName The resource group name.
     * @param workflowName The workflow name.
     * @param runName The workflow run name.
     * @param actionName The workflow action name.
     * @param repetitionName The workflow repetition.
     * @param context The context to associate with this operation.
     * @throws IllegalArgumentException thrown if parameters fail the validation.
     * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
     * @return the expression traces.
     */
    PagedIterable<ExpressionRoot> listExpressionTraces(
        String resourceGroupName,
        String workflowName,
        String runName,
        String actionName,
        String repetitionName,
        Context context);
}


text:
<?php require_once( 'templates/header.php' ); ?>

<?php require_once( 'templates/login/form.php' ); ?>

<?php require_once( 'templates/footer.php' ) ?>


text:
FactoryGirl.define do

  factory :course do
    title  { |n| "Course Title #{n}" }
    abbrev { |n| 'Course Title'.split(' ').map{|w| w[0]}.join + n.to_s }
    association :creator, factory: :user

    trait :featured do
      featured true
    end
  end

end


text:
#ifndef skgpu_graphite_VulkanUtils_DEFINED
#define skgpu_graphite_VulkanUtils_DEFINED

#include "include/gpu/vk/VulkanTypes.h"
#include "src/gpu/graphite/Log.h"
#include "src/gpu/vk/VulkanInterface.h"

// Helper macros to call functions on the VulkanInterface
#define VULKAN_CALL(IFACE, X) (IFACE)->fFunctions.f##X

// TODO: This needs to add checks for device lost on calls. See Ganesh version
#define VULKAN_CALL_RESULT(IFACE, RESULT, X)                               \
    do {                                                                   \
        (RESULT) = VULKAN_CALL(IFACE, X);                                  \
        SkASSERT(VK_SUCCESS == RESULT || VK_ERROR_DEVICE_LOST == RESULT);  \
        if (RESULT != VK_SUCCESS) {                                        \
            SKGPU_LOG_E("Failed vulkan call. Error: %d," #X "\n", RESULT); \
        }                                                                  \
    } while (false)

// same as VULKAN_CALL but checks for success
#define VULKAN_CALL_ERRCHECK(IFACE, X)                   \
    VkResult SK_MACRO_APPEND_LINE(ret);                  \
    VULKAN_CALL_RESULT(IFACE, SK_MACRO_APPEND_LINE(ret), X)

#define VULKAN_CALL_RESULT_NOCHECK(IFACE, RESULT, X) \
    do {                                             \
        (RESULT) = VULKAN_CALL(IFACE, X);            \
    } while (false)

#endif // skgpu_graphite_VulkanUtils_DEFINED


text:
layout: song
title: 'Tuning Tip: how to change your pitch away from 440hz'
category: tip_technique
slug: "359"
tags: [Tips & Techniques, Tuning]
yt_video_id: NbWTLjkh7Bo
hidden_tags: [tuning, concert pitch, pitch reference, 453hz, 453, 451, hz]
date_published: 2021-04-30
---

## Video lesson

{% include youtube_embed.html yt_id = page.yt_video_id %}

## Editor's notes

Hey there friends! Quick lesson here on the topic of tuning: specifically, showing you how to tune your guitar away from "pitch standard" of A4 = 440hz. This is something you'll occasionally need to do if you want to play along with certain popular songs - such as "Mary Jane's Last Dance" by Tom Petty (which uses ~453hz instead of 440hz). Another example is "Don't Look Back in Anger" which uses ~451hz instead of 440hz.

In my video, I'll walk through the process of changing the setting in your tuning app (so things aren't based on 440hz). Specifically I am using the app "Tunable" which I've used happily for years, and recommend. Every tuning app will have this setting in a different place -- if they have it at all (a good tuner absolutely should let you do this). Certain tuners, such as clip-on tuners or built-in tuners may be "fixed" at pitch standard A4 = 440hz, which means you'll need to find another way to make this happen.

## Why does this happen?

As per my understanding, this happens because songs can either be sped up in post-production (which raises the pitch), or perhaps all the instruments were simply "out of tune" (relative to 440hz) when things were recorded. For example, if my low E-string is slightly sharp (or flat) by an arbitrary amount -- and then I tune all strings relative to that low E-string... then I'll technically be "in tune" with myself, but won't be in "pitch standard" (where A4 = 440hz).

## "Pitch Standard" vs "Standard Tuning"

I really want to make sure this is clear! As I say in the video, "pitch standard" (A4 = 440hz) is entirely separate from the concept of "Standard Tuning" (e.g. where your guitar strings are E-A-D-G-B-E, from thickest to thinnest).

- You can change just ONE of these -- e.g., tune at 453hz instead of 440hz, but stay in standard tuning (where you're tuning your strings to E-A-D-G-B-E).
- Alternatively, you could tune to Drop D tuning (D-A-D-G-B-E) or "tune down 1/2 step" (Eb Ab Db Gb Bb Eb) and STAY in "pitch standard". 99% of the time, this is what's happening when you leave standard tuning (you're leaving the 440hz setting as-is)
- Of course, you could change the hertz (e.g. to 451hz) AND leave standard tuning -- but this is probably incredibly rare.

In close.... 99.9% of the time, any guitar you pick up will be in "pitch standard" where A4 = 440hz. This is the default tuning that most tuners use (e.g., it's what makes an "E" an E, an "A" an A, etc).

## My lesson for Mary Jane's Last Dance

Get the PDF here if you're interested. Here's my video lesson. Note my video lesson is recored with my guitar in "pitch standard" (440hz), just for practicality's sake.

Here's Tom Petty's album version, which is recorded at ~453hz:

## More in this topic

Listen to people smarter than me talk about this! For example, here's a video from Adam Neely and another from Rick Beato. Admittedly, these covers the topic of 432hz, which dominates this discussion as to the "why use the standard of 440hz?" question.