text:
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1.5;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

footer.entry-meta .cat-links:before, footer.entry-meta .tag-links:before, footer.entry-meta .comments-link:before, footer.entry-meta .edit-link:before, .post-navigation .nav-previous:before {
  background: transparent url("https://2015.la.wordcamp.org/files/2015/05/icons-sm.png");
  background-repeat: no-repeat;
  content: '';
  display: inline-block;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  margin-right: .14815rem;
  overflow: hidden;
  height: 16px;
  vertical-align: text-top;
  width: 16px;
}

.post-navigation .nav-next:after {
  background: transparent url("https://2015.la.wordcamp.org/files/2015/05/icons-sm.png");
  background-repeat: no-repeat;
  content: '';
  display: inline-block;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  margin-left: .14815rem;
  overflow: hidden;
  height: 16px;
  vertical-align: text-top;
  width: 16px;
}

footer.entry-meta .cat-links:before {
  background-position: 0 0;
}

footer.entry-meta .tag-links:before {
  background-position: 0 -16px;
}

footer.entry-meta .comments-link:before {
  background-position: 0 -32px;
}

footer.entry-meta .edit-link:before {
  background-position: 0 -48px;
}

.post-navigation .nav-previous:before {
  background-position: 0 -64px;
}

.post-navigation .nav-next:after {
  background-position: 0 -80px;
}

html {
  font-size: 0.75rem;
}

@media print, screen and (min-width: 4768px) {
  html {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  html {
    font-size: 1.125rem;
  }
}
body {
  background: #ece3db;
  background-image: url("https://2015.la.wordcamp.org/files/2015/05/otis-redding.png");
  color: #604b43;
  font-family: "Roboto", sans-serif !important;
  font-size: 1rem;
}

img {
  height: auto;
  max-width: 100%;
}

a {
  color: #45a87c;
  text-decoration: none;
}

a:hover {
  color: #e97067;
}

input[type='text'], input[type='email'], textarea {
  font-family: inherit;
  font-size: inherit;
}

input[type='submit'] {
  background: #45a87c !important;
  border: 0 none;
  border-radius: 4px;
  color: #e6f2f0;
  cursor: pointer;
  font-size: 1.125rem;
  font-weight: 700;
  padding: .44444rem 1rem;
  text-transform: uppercase;
  -moz-transition: all 300ms;
  -o-transition: all 300ms;
  -webkit-transition: all 300ms;
  transition: all 300ms;
}

input[type='submit']:hover {
  background: #e97067;
  color: #fff;
}

.assistive-text {
  clip: rect(1px 1px 1px 1px);
  position: absolute !important;
}

.site-header {
  background: #45a87c;
  background-size: cover;
  border-top: none !important;
  box-shadow: inset 0 10px 60px rgba(126, 99, 88, 0.5);
  margin-bottom: 0;
  position: relative;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .site-header {
    margin-bottom: 7.75rem;
  }
}

.site-header hgroup {
  padding: 5% 0;
}

.site-header img {
  max-width: 80%;
}

.menu-primary-nav-container {
  width: 800px;
  margin: auto;
  display: block;
}

.main-navigation {
  background: #fff;
  bottom: -4.375rem;
  font-family: "Roboto", sans-serif !important;
  left: 0;
  position: absolute;
  text-align: left;
  width: 100%;
}

.main-navigation ul {
  margin: 0 auto;
  max-width: 62rem;
  padding: 0 1rem;
}

.main-navigation ul li.current-menu-item > a, .main-navigation ul li.current_page_item > a, .main-navigation ul li.current_page_ancestor > a, .main-navigation ul li.current-menu-parent > a {
  color: #7e6358;
}

.main-navigation ul > li {
  display: inline-block;
}

.main-navigation ul > li a {
  color: #364652 !important;
  display: block;
  padding: 1.6875rem .66667rem 1.6875rem 0;
  text-decoration: none;
  text-transform: none !important;
  -moz-transition: color 300ms;
  -o-transition: color 300ms;
  -webkit-transition: color 300ms;
  transition: color 300ms;
}

.main-navigation ul > li a:before {
  color: #364652 !important;
  content: '|';
  margin-right: 0.75rem;
}

.main-navigation ul > li.current-menu-item a,
.main-navigation ul > li a:hover {
  color: #2e99c9 !important;
}

.main-navigation ul > li.nav-register-now a {
  color: #fff !important;
}
.main-navigation ul > li.nav-register-now a:before {
  content: '' !important;
}

.main-navigation ul > li:first-child a:before {
  content: "";
}

.main-navigation ul > li.menu-item-has-children {
  position: relative;
}

.main-navigation ul > li.menu-item-has-children > a {
  padding-right: 1rem;
}

.main-navigation ul > li.menu-item-has-children > a:after {
  content: '';
  position: absolute;
  top: 50%;
  right: .2963rem;
  margin-top: -2px;
  height: 0;
  width: 0;
  border: 4px solid transparent;
  border-top-color: #45a87c !important;
}

.main-navigation ul > li.menu-item-has-children > a:hover:after {
  border-top-color: #e97067;
}

.main-navigation ul li:hover ul {
  display: block;
}

.main-navigation ul ul {
  background: rgba(255, 255, 255, 0.9);
  display: none;
  padding: .66667rem 1.125rem;
  position: absolute;
  top: 4em;
  width: auto;
}

.main-navigation ul ul li {
  display: block;
}

.main-navigation ul ul a {
  padding: .75rem 0;
  white-space: nowrap;
}

.main-navigation ul ul a:before {
  content: '';
  margin-right: 0;
}

.main-small-navigation {
  background: rgba(255, 255, 255, 0.95);
  position: relative !important;
  width: 100%;
}

.main-small-navigation .menu-primary-container > ul {
  border-bottom: 5px solid #45a87c !important;
  display: none;
}

.main-small-navigation .menu-toggle {
  cursor: pointer;
  display: inline-block;
  font-size: 1.125rem;
  padding: 1rem;
  width: auto;
  height: 20px;
}

.main-small-navigation ul {
  text-align: left;
  padding: 0 1rem 1rem;
}

.main-small-navigation a {
  border-bottom: 1px solid #e3d6ca;
  display: block;
  padding: 0.75rem 0;
}

#after-header-widgets {
  margin: 1.6875rem auto;
  max-width: 62rem;
}

#after-header-widgets:after {
  clear: both;
  content: '';
  display: table;
}

#after-header-widgets .widget {
  float: left;
  margin: 0 auto 1rem;
  padding: 0 1rem;
  width: 50%;

}

@media screen and (min-width: 576px) {
  #after-header-widgets .widget {
    width: 25%;
  }
}
#after-header-widgets .textwidget h4 {
  font-size: 1.5rem;
  margin: 0 0 0.75rem;
}

#after-header-widgets .textwidget img {
  border-radius: 2px;
  -moz-box-shadow: 0 0 12px rgba(126, 99, 88, 0.1);
  -webkit-box-shadow: 0 0 12px rgba(126, 99, 88, 0.1);
  box-shadow: 0 0 12px rgba(126, 99, 88, 0.1);
  cursor: pointer;
  display: block;
  margin: 0 auto;
  -moz-transition: all 300ms;
  -o-transition: all 300ms;
  -webkit-transition: all 300ms;
  transition: all 300ms;
}

#after-header-widgets .textwidget img:hover {
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

#after-header-widgets .textwidget p:last-child {
  margin-bottom: 0;
}

#after-header-widgets .widget:nth-child(1) img {
  border-top: 5px solid #45a87c !important;
  -webkit-box-shadow: 4px 4px 3px -1px rgba(0,0,0,0.06);
  -moz-box-shadow: 4px 4px 3px -1px rgba(0,0,0,0.06);
  box-shadow: 4px 4px 3px -1px rgba(0,0,0,0.06);
}

#after-header-widgets .widget:nth-child(2) img {
  border-top: 5px solid #f5b635 !important;
  -webkit-box-shadow: 4px 4px 3px -1px rgba(0,0,0,0.06);
  -moz-box-shadow: 4px 4px 3px -1px rgba(0,0,0,0.06);
  box-shadow: 4px 4px 3px -1px rgba(0,0,0,0.06);
}

#after-header-widgets .widget:nth-child(3) img {
  border-top: 5px solid #d44e20 !important;
  -webkit-box-shadow: 4px 4px 3px -1px rgba(0,0,0,0.06);
  -moz-box-shadow: 4px 4px 3px -1px rgba(0,0,0,0.06);
  box-shadow: 4px 4px 3px -1px rgba(0,0,0,0.06);
}

#after-header-widgets .widget:nth-child(4) img {
  border-top: 5px solid #64479e !important;
  -webkit-box-shadow: 4px 4px 3px -1px rgba(0,0,0,0.06);
  -moz-box-shadow: 4px 4px 3px -1px rgba(0,0,0,0.06);
  box-shadow: 4px 4px 3px -1px rgba(0,0,0,0.06);
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto", sans-serif !important;
}

#main {
  background: url("https://2015.la.wordcamp.org/files/2015/05/logo-prefooter.png") 50% 100% no-repeat;
  margin: 3.375rem auto 2.25rem;
  max-width: 62rem;
  padding-bottom: 7.59375rem;
}

#main:after {
  clear: both;
  content: '';
  display: table;
}

#primary {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 1rem;
}

@media screen and (min-width: 576px) {
  #primary {
    float: left;
    width: 70%;
  }
}
#secondary {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 1rem;
}

@media screen and (min-width: 576px) {
  #secondary {
    float: right;
    width: 30%;
  }
}
article.post, article.page {
  background-color: #fff;
  background-image: url("https://2015.la.wordcamp.org/files/2015/05/divider-post.png"), url("https://2015.la.wordcamp.org/files/2015/05/divider-post-after.png");
  background-position: 0 0, 50% 100%;
  background-repeat: no-repeat, no-repeat;
  border-radius: 2px;
  -moz-box-shadow: 0 0 12px rgba(126, 99, 88, 0.1);
  -webkit-box-shadow: 0 0 12px rgba(126, 99, 88, 0.1);
  box-shadow: 0 0 12px rgba(126, 99, 88, 0.1);
  margin-bottom: 2.53125rem;
  padding: 2.53125rem;
  padding-top: 9.84375rem;
  padding-bottom: 123px;
}

.entry-header {
  margin-bottom: 1.5rem;
}

.entry-title {
  font-size: 2.53125rem;
  line-height: 1.125;
  margin-bottom: .66667rem;
  -moz-transition: color 300ms;
  -o-transition: color 300ms;
  -webkit-transition: color 300ms;
  transition: color 300ms;
}

.entry-title a {
  color: inherit;
  text-decoration: none;
}

.entry-title a:hover {
  color: #45a87c !important;
}

.entry-title + .entry-meta {
  color: #cfc0ba;
  font-family: "Roboto", sans-serif !important;
  font-size: 1.5rem;
}

.entry-title + .entry-meta a {
  color: #fdc17b;
  text-decoration: none;
  -moz-transition: color 300ms;
  -o-transition: color 300ms;
  -webkit-transition: color 300ms;
  transition: color 300ms;
}

.entry-title + .entry-meta a:hover {
  color: #df3124;
}

.entry-content blockquote {
  font-size: 1.6875rem;
  margin: 2.25rem 1rem;
}

.comment-content blockquote {
  font-size: 1.5rem;
  margin: 1.5rem 0.75rem;
}

.entry-content p, .comment-content p, .entry-content address {
  line-height: 1.5;
  margin: 0 0 1rem;
}

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6, .comment-content h1, .comment-content h2, .comment-content h3, .comment-content h4, .comment-content h5, .comment-content h6 {
  line-height: 1.125;
  margin: 2.25rem 0 0.75rem;
}

.entry-content h1, .comment-content h1 {
  font-size: 2.53125rem;
}

.entry-content h2, .comment-content h2 {
  font-size: 2.25rem;
}

.entry-content h3, .comment-content h3 {
  font-size: 1.6875rem;
}

.entry-content h4, .comment-content h4 {
  font-size: 1.5rem;
}

.entry-content h5, .comment-content h5 {
  font-size: 1.125rem;
}

.entry-content h6, .comment-content h6 {
  font-size: 1rem;
}

.entry-content a, .comment-content a {
  color: #e97067;
  text-decoration: none;
  -moz-transition: color 300ms;
  -o-transition: color 300ms;
  -webkit-transition: color 300ms;
  transition: color 300ms;
}

.entry-content a:hover, .comment-content a:hover {
  color: #62aa9f;
}

.entry-content strong, .comment-content strong {
  font-weight: 700;
}

.entry-content em, .comment-content em {
  font-style: italic;
}

.entry-content blockquote, .comment-content blockquote {
  border-bottom: 1px solid #1aaacd;
  border-top: 1px solid #1aaacd;
  font-family: "Roboto", sans-serif !important;
  padding: 1rem;
}

.entry-content blockquote p:last-child, .comment-content blockquote p:last-child {
  margin-bottom: 0;
}

.entry-content ul, .comment-content ul {
  list-style-type: square;
  margin: 0 0 1rem 2.53125rem;
}

.entry-content ol, .comment-content ol {
  list-style-type: decimal;
  margin: 0 0 1rem 2.53125rem;
}

.entry-content li, .comment-content li {
  line-height: 1.5;
  margin-bottom: 0.33333rem;
}

.entry-content label, .comment-content label {
  display: block;
  font-weight: normal !important;
  font-size: 1rem !important;
  line-height: 1.125;
  margin: 0.75rem 0 0.33333rem;
}

.entry-content label span, .comment-content label span {
  color: #e97067;
  font-size: .75rem;
  padding-left: 0.33333rem;
}

.entry-content input[type='text'], .entry-content input[type='email'], .entry-content textarea, .comment-content input[type='text'], .comment-content input[type='email'], .comment-content textarea {
  background: #f6f2ef;
  border: 1px solid #e3d6ca;
  border-radius: 4px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: .5rem;
  -moz-transition: all 300ms;
  -o-transition: all 300ms;
  -webkit-transition: all 300ms;
  transition: all 300ms;
  width: 66% !important;
}

.entry-content input[type='text']:focus, .entry-content input[type='email']:focus, .entry-content textarea:focus, .comment-content input[type='text']:focus, .comment-content input[type='email']:focus, .comment-content textarea:focus {
  background: #fff0df;
  border-color: #fdc17b;
  outline: none;
}

.entry-content .contact-submit, .comment-content .contact-submit {
  margin: 1rem 0;
  text-align: center;
}

footer.entry-meta {
  border-bottom: 1px solid #fdcd94;
  border-top: 1px solid #fdcd94;
  color: #cfc0ba;
  line-height: 1.5;
  margin: 2.25rem 0 0;
  padding: 0.5rem 0;
}

footer.entry-meta .sep {
  margin: 0 0.33333rem;
}

.post-navigation {
  line-height: 1.5;
  margin-bottom: 1.6875rem;
  padding: 0 2.53125rem;
}

.post-navigation:after {
  clear: both;
  content: '';
  display: table;
}

.post-navigation .nav-previous a, .post-navigation .nav-next a {
  color: #7e6358;
}

.post-navigation .nav-previous a:hover, .post-navigation .nav-next a:hover {
  color: #e97067;
}

.post-navigation .nav-previous .meta-nav, .post-navigation .nav-next .meta-nav {
  display: none;
}

.post-navigation .nav-previous {
  float: left;
}

.post-navigation .nav-next {
  float: right;
}

.comments-area {
  background: #fff;
  border-top: 10px solid #fdc17b;
  border-radius: 2px;
  -moz-box-shadow: 0 0 12px rgba(126, 99, 88, 0.1);
  -webkit-box-shadow: 0 0 12px rgba(126, 99, 88, 0.1);
  box-shadow: 0 0 12px rgba(126, 99, 88, 0.1);
  margin-bottom: 1.6875rem;
  padding: 2.53125rem;
}

.comments-area .comments-title {
  font-size: 2.25rem;
  line-height: 1.125;
  margin-bottom: 2.25rem;
}

.comments-area .comment-author {
  line-height: 1.5;
}

.comments-area .comment-author .avatar {
  border: 3px solid #e97067;
  border-radius: 100%;
  float: right;
}

.comments-area .comment-meta {
  font-size: .75rem;
  line-height: 1.5;
  margin: 0 0 1.125rem;
}

.commentlist li {
  border-bottom: 1px solid #fdcd94;
  margin: 0 0 1.6875rem;
  padding: 0 0 1.6875rem;
}

.commentlist li li {
  border-bottom: 0 none;
  border-top: 1px solid #fdcd94;
  margin: 1.6875rem 0 0 1.5rem;
  padding: 1.6875rem 0 0;
}

.comment-reply-link {
  background: #45a87c !important;
  border: 0 none;
  border-radius: 4px;
  color: #e6f2f0;
  cursor: pointer;
  display: inline-block;
  font-size: .75rem;
  font-weight: 700;
  padding: .44444rem .75rem;
  text-transform: uppercase;
  -moz-transition: all 300ms;
  -o-transition: all 300ms;
  -webkit-transition: all 300ms;
  transition: all 300ms;
}

.comment-reply-link:hover {
  background: #e97067;
  color: #fff;
}

.comment-reply-title {
  font-size: 1.6875rem;
  margin: 0 0 1rem;
}

#commentform {
	max-width: 600px;
}

#commentform > p {
  margin-bottom: 0.566rem;
}

#commentform label {
  display: block;
  margin-bottom: 0.566rem;
}

#commentform textarea,
#commentform input {
    -webkit-appearance: none;
	border-radius: 0;
}

#commentform input:not(#submit),
#commentform textarea {
	padding: 0.566rem 0.833rem;
    width: 100%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
	border: 1px solid rgb(169, 169, 169);
	border-radius: 0;
	-webkit-border-radius: 0;
	box-shadow: none;
	-webkit-box-shadow: none;
}

#commentform .form-submit {
	margin-top: 1.389em;
	text-align: right;
	width: 100%;
}

#commentform #submit {
	border-radius: 4px;
	-webkit-border-radius: 4px;
	box-shadow: none;
}

#primary-sidebar .widget {
  background: none !important;
  margin: 0 0 1.5rem !important;
  padding-bottom: 1rem !important;
}

#primary-sidebar input[type='text'], #primary-sidebar input[type='email'] {
  background: rgba(255, 255, 255, 0.8);
  border: 0 none;
  border-radius: 4px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: .5rem;
  -moz-transition: all 300ms;
  -o-transition: all 300ms;
  -webkit-transition: all 300ms;
  transition: all 300ms;
  width: 100%;
  margin: 0 0 1rem;
}

#primary-sidebar input[type='text']:focus, #primary-sidebar input[type='email']:focus {
  background: #fff;
  outline: none;
}

#primary-sidebar input[type='submit'] {
  display: block !important;
  margin: 0 auto;
}

#primary-sidebar #subscribe-submit {
  text-align: center;
}

.widget p {
  line-height: 1.5;
  margin: 0 0 1rem;
}

.widget .widget-title {
  border-bottom: 1px solid #d1bca9;
  font-family: "Roboto", sans-serif !important;
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 0 .66667rem;
  padding: 0 0 .66667rem;
  text-transform: uppercase;
}

.widget li {
  border-bottom: 1px solid #d1bca9;
  line-height: 1.5;
  margin: 0 0 .5rem;
  padding-bottom: 0.5rem;
}

.widget li a {
  color: #45a87c !important;
  text-decoration: none;
  -moz-transition: color 300ms;
  -o-transition: color 300ms;
  -webkit-transition: color 300ms;
  transition: color 300ms;
}

.widget li a:hover {
  color: #e97067;
}

.site-footer {
  background: #fff;
}

#footer-widgets {
  margin: 0 auto;
  max-width: 62rem;
  padding: 1.125rem;
}

#footer-widgets:after {
  clear: both;
  content: '';
  display: table;
}

#footer-widget-1, #footer-widget-2, #footer-widget-3 {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 1rem;
}

@media screen and (min-width: 576px) {
  #footer-widget-1, #footer-widget-2, #footer-widget-3 {
    float: left;
    width: 33.33333%;
  }
}
@media print, screen and (min-width: 4768px) {
  #footer-widget-1, #footer-widget-2, #footer-widget-3 {
    width: 20%;
  }
}
#footer-widget-4 {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 1rem;
}

@media screen and (min-width: 576px) {
  #footer-widget-4 {
    clear: both;
    margin-top: 1rem;
  }
}
@media print, screen and (min-width: 4768px) {
  #footer-widget-4 {
    clear: none;
    float: right;
    margin-top: 0;
    width: 40%;
  }
}
.site-info {
  background: #0e5a6a;
  background-image: url("https://2015.la.wordcamp.org/files/2015/05/binding-dark.png");
  padding: 3.79688rem 1rem;
  text-align: center;
}

.site-info .site-info-generator {
  background: url("https://2016.belgrade.wordcamp.org/files/2016/03/wordcamp-belgrade-logo.png") 50% 0 no-repeat !important;
  color: #fff;
  display: block;
  padding-top: 10rem !important;
  background-size: 100px auto !important;
}

.site-info .site-info-generator:hover {
  color: #f5b635 !important;
}

.site-info .site-info-network {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #0e5a6a;
  cursor: pointer;
  font-size: .75rem;
  height: 78px;
  left: 1.125rem;
  padding: 7px 10px 0;
  position: absolute;
  text-decoration: none;
  top: 0;
  width: 95px;
}

.site-info .site-info-network:hover {
  color: #e97067;
}

body div.sharedaddy h3.sd-title {
  font-size: 1.125rem;
  margin: 1rem 0 0.75rem;
}

body div.sharedaddy h3.sd-title:before {
  border-top: 0 none;
  margin-bottom: 0;
}

.wcorg-organizer {
  border-bottom: 1px solid #e3d6ca;
}

.wcorg-organizer:first-child {
  border-top: 1px solid #e3d6ca;
}

.wcorg-organizer .wcorg-organizer-description:after {
  clear: both;
  content: '';
  display: table;
}

.wcorg-organizer .avatar {
  float: left;
  margin: 0 1rem 1rem 0;
}

.wcorg-organizer div.sharedaddy {
  display: none;
}

.speaker {
  border-bottom: 1px solid #e3d6ca;
}

.speaker:first-child {
  border-top: 1px solid #e3d6ca;
}

.speaker .speaker-bio > p:first-of-type {
  font-family: "Roboto", sans-serif !important;
  font-size: 1rem;
  margin-bottom: 1rem;
}

.speaker .speaker-bio:after {
  clear: both;
  content: '';
  display: table;
}

.speaker .avatar {
  float: left;
  margin: 0 1rem 1rem 0;
}

.speaker div.sharedaddy {
  display: none;
}

.wcpt-schedule {
  margin: 1.125rem 0;
  background: #fffcf9;
}

.wcpt-schedule th, .wcpt-schedule td {
  padding: 0.75rem;
}

.wcpt-schedule th {
  background: #0e5a6a;
  border: 1px solid #fff;
  color: #fff;
  font-family: "Open Sans", sans-serif !important;
}

.wcpt-schedule .wcpt-time {
  background: #fff0df;
  border: 1px solid #fff;
  font-family: "Open Sans", sans-serif !important;
}

.wcpt-schedule .wcpt-session-type-session {
  background: #fffcf9;
  border: 1px solid #fff;
}

.wcpt-schedule .global-session .wcpt-time {
  background: #45a87c !important;
  color: #fff;
}

.wcpt-schedule .global-session .wcpt-session-type-custom {
  background: #d6e9e6;
  border: 1px solid #fff;
}

.wcpt-schedule .wcpt-session-title {
  display: block;
  line-height: 1.125;
  margin-bottom: 1rem;
}

.wcpt-schedule .wcpt-session-speakers {
  font-size: .75rem;
  line-height: 1.125;
}

.wcpt-schedule .wcpt-session-speakers a {
  color: #45a87c !important;
}

.wcpt-schedule a {
  color: #1aaacd;
}

.wcpt-schedule a:hover {
  color: #e97067;
}

table.wcpt-schedule tbody tr:nth-child(odd) {
  background: #fffcf9 !important;
}

.sponsor-level-title {
  color: #0e5a6a;
  padding: 0.5rem;
}

.sponsor {
  border-bottom: 1px solid #e3d6ca;
}

.sponsor .sharedaddy {
  display: none;
}

.sponsor .sponsor-title img {
  max-width: 60%;
}

.sponsor .sponsor-description > p:first-of-type {
  font-family: "Roboto", sans-serif !important;
  font-size: 1rem;
  margin-bottom: 1rem;
}

.site-title {
  width: 271px;
  height: 125px;
  background: url("https://2015.la.wordcamp.org/files/2015/05/logo.png");
  margin: 0 auto;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  -webkit-background-size: 100% auto;
  -moz-background-size: 100% auto;
  background-size: 100% auto;
}

@media print, screen and (min-width: 768px) {
  .site-title {
    width: 452px;
    height: 208px;
  }
}
@media screen and (min-width: 1024px) {
  .site-title {
    width: 543px;
    height: 250px;
  }
}
.site-description {
  display: none;
}

.menu-primary-nav-container {
  max-width: 960px !important;
  margin: auto;
  display: block;
  width: 100%;
}

.wcb_widget_sponsors .sponsor-level {
  background: rgba(255, 255, 255, 0.4);
  border-radius: 2px;
  border-top: 5px solid #fdc17b;
  -moz-box-shadow: 0 0 12px rgba(126, 99, 88, 0.05);
  -webkit-box-shadow: 0 0 12px rgba(126, 99, 88, 0.05);
  box-shadow: 0 0 12px rgba(126, 99, 88, 0.05);
  padding: 1rem;
  margin-bottom: 1rem;
}

.wcb_widget_sponsors .sponsor-level-title {
  border-bottom: 0 none;
  border-top: 0 none;
  color: #0e5a6a;
  font-size: 1.5rem;
  margin: 0;
  padding: 0;
  text-align: center;
}

.wcb_widget_sponsors .sponsor-logo {
  margin: 1rem 0 0;
}

.wcb_widget_sponsors .sponsor-logo img {
  display: block;
}

.tix_tickets_table + p, .tix-ticket-form + p {
  margin-top: 1rem;
}

.tix_tickets_table th, .tix-ticket-form th {
  border-bottom: 5px solid #2e99c9 !important;
  font-family: 'Open Sans', serif !important;
  font-size: 0.825rem !important;
}

.tix_tickets_table td, .tix-ticket-form td {
  border-bottom: 1px solid #d1bca9;
  line-height: 1.25;
  padding: 1rem 0.5rem;
}

strong.tix-ticket-title {
  color: #0e5a6a;
  display: block;
  font-family: 'Open Sans', serif;
  font-weight: 400;
  margin: 0;
}

span.tix-ticket-excerpt {
  display: block;
  font-size: .75rem;
  line-height: 1.5;
}

td.tix-column-price, td.tix-column-quantity {
  background: #fff8f0;
  text-align: right;
}

td.tix-column-remaining {
  text-align: center;
}

.tix_tickets_table .tix-row-total td, .tix-ticket-form .tix-row-total td {
  border-bottom: 0 none;
  text-align: right;
}

.entry-content .tix_tickets_table label {
  display: inline;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  margin: 0;
}

.tix-error, .tix-notice, .tix-info {
  margin-bottom: 1rem;
}

.site-title {
  background: url("https://2016.belgrade.wordcamp.org/files/2016/03/wordcamp-belgrade-logo.png") center center no-repeat;
  height: 400px !important;
}

.site-header {
  background: url("https://2016.belgrade.wordcamp.org/files/2016/03/wcbgd-header-bg.jpg") center center no-repeat;
  background-size: cover;
  border-top: none;
}

article.post, article.page {
  background-color: #fff;
  background-image: none !important;
}

#main {
  background: none !important;
}

.site-info .site-info-generator {
  background: none;
}

body {
  font-family: "Open Sans", sans-serif !important;
  line-height: 1.4 !important;
  color: #768289 !important;
}

.site {
  background: #ebebeb url("https://2017.belgrade.wordcamp.org/files/2017/03/pattern-01-1.png") center center repeat !important;
}

.nav-register-now {
  position: fixed !important;
  bottom: 20px;
  right: 40px;
  padding: 0 !important;
  z-index: 1;
}
.nav-register-now a {
  font-size: 1rem;
  padding: 12px 20px 12px 36px !important;
  width: 188px;
  border-radius: 2px;
  text-align: center;
  -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
  background-color: #007acc !important;
  border: 2px solid #007acc;
  color: #fff !important;
  transition: all .25s ease;
}
.nav-register-now a:hover {
  background-color: #005c99 !important;
  border: 2px solid #005c99;
}
.nav-register-now a:before {
  content: "";
  width: 20px;
  height: 20px;
  display: block;
  position: absolute;
  background-image: url("https://2016.belgrade.wordcamp.org/files/2016/03/ticket-icon.png");
  background-size: 100%;
  left: 18px;
  top: 13px;
}

.tix-column-description {
  width: 60%;
}

.tix_tickets_table thead tr th:first-child {
  width: 60%;
}

.comment .avatar, .tix_tickets_table td {
  vertical-align: middle;
}

table {
  border-collapse: separate;
  border-spacing: 0;
  border-width: 1px 0 0 1px;
  margin: 0 0 1.75em;
  table-layout: fixed;
  width: 100%;
}

th {
  font-size: 14px;
}

table tbody td, table thead th {
  padding: 15px;
}

hr, table tbody tr:nth-child(odd) {
  background: #eef2f2;
}

.tix-last {
  font-weight: bold;
}

#tix-attendees .tix-field {
  box-shadow: none;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.entry-title + .entry-meta,
.entry-content > p:first-of-type,
strong.tix-ticket-title {
  font-family: 'Open Sans', serif !important;
  font-weight: 600 !important;
}

.entry-title + .entry-meta {
  font-size: 1rem !important;
  color: inherit !important;
  font-weight: normal !important;
}
.entry-title + .entry-meta a {
  color: #f08f51 !important;
}

.entry-title {
  color: #364652;
}
.entry-title a:hover {
  color: #2e99c9 !important;
}

.entry-content a, .comment-content a {
  color: #2e99c9 !important;
  font-weight: 600 !important;
}
.entry-content a:hover, .comment-content a:hover {
  color: #364652 !important;
}

.menu-main-menu-container {
  text-align: center;
}

.main-navigation ul {
  display: inline-block;
  margin: 0 auto;
}

.site-description {
  display: block !important;
  color: #fff;
  font-weight: 300 !important;
}

.entry-content, .entry-summary {
  line-height: 1.4;
}

article.post,
article.page {
  padding: 30px !important;
}
@media screen and (min-width: 768px) {
  article.post,
  article.page {
    padding: 50px !important;
  }
}
@media screen and (min-width: 960px) {
  article.post,
  article.page {
    padding: 70px !important;
  }
}

footer.entry-meta .cat-links:before,
footer.entry-meta .comments-link:before {
  display: none !important;
}

footer.entry-meta {
  border-bottom: 1px solid #b7b7b7 !important;
  border-top: 1px solid #b7b7b7 !important;
  color: inherit !important;
  line-height: 1.5 !important;
  margin: 3rem 0 0 !important;
  padding: 1.5rem 0 !important;
}

.site-info {
  background: #364652 !important;
}

.wcorg-speaker-description img {
  float: left;
  margin: 0 20px 20px 0;
}

.site .avatar {
  border-radius: 50%;
}

@media screen and (min-width: 44.375em) {
  .wcorg-speaker-description p {
    margin-left: 120px !important;
  }
}
#tix-attendees .tix-columns-2 li {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #tix-attendees .tix-columns-2 li {
    width: 50%;
  }
}

.sponsor-level .sponsor-logo:hover img {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}
.sponsor-level .sponsor-logo img {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}

body.single-wcb_sponsor .entry-title {
  display: none !important;
}


text:
<readable><title>509123893_07b8ea82a9</title><content>
Two cute little girls enjoying corn on the cob .
Two girls enjoy corn on the cob while sitting on a curb .
Two little girls sitting on the edge of a street eating corn on the cob .
Two young girls are sitting on the street eating corn .
Two young girls eating corn on the cob on a sidewalk without shoes .
</content></readable>

redpajama_set_name: RedPajamaGithub


text: select abs() from db_root order by 1;


text:
package androidx.media3.exoplayer.audio;

import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.database.ContentObserver;
import android.media.AudioManager;
import android.net.Uri;
import android.os.Handler;
import androidx.annotation.Nullable;
import androidx.media3.common.util.Assertions;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.common.util.Util;

/**
 * Receives broadcast events indicating changes to the device's audio capabilities, notifying a
 * {@link Listener} when audio capability changes occur.
 */
@UnstableApi
public final class AudioCapabilitiesReceiver {

  /** Listener notified when audio capabilities change. */
  public interface Listener {

    /**
     * Called when the audio capabilities change.
     *
     * @param audioCapabilities The current audio capabilities for the device.
     */
    void onAudioCapabilitiesChanged(AudioCapabilities audioCapabilities);
  }

  private final Context context;
  private final Listener listener;
  private final Handler handler;
  @Nullable private final BroadcastReceiver receiver;
  @Nullable private final ExternalSurroundSoundSettingObserver externalSurroundSoundSettingObserver;

  @Nullable /* package */ AudioCapabilities audioCapabilities;
  private boolean registered;

  /**
   * @param context A context for registering the receiver.
   * @param listener The listener to notify when audio capabilities change.
   */
  public AudioCapabilitiesReceiver(Context context, Listener listener) {
    context = context.getApplicationContext();
    this.context = context;
    this.listener = Assertions.checkNotNull(listener);
    handler = Util.createHandlerForCurrentOrMainLooper();
    receiver = Util.SDK_INT >= 21 ? new HdmiAudioPlugBroadcastReceiver() : null;
    Uri externalSurroundSoundUri = AudioCapabilities.getExternalSurroundSoundGlobalSettingUri();
    externalSurroundSoundSettingObserver =
        externalSurroundSoundUri != null
            ? new ExternalSurroundSoundSettingObserver(
                handler, context.getContentResolver(), externalSurroundSoundUri)
            : null;
  }

  /**
   * Registers the receiver, meaning it will notify the listener when audio capability changes
   * occur. The current audio capabilities will be returned. It is important to call {@link
   * #unregister} when the receiver is no longer required.
   *
   * @return The current audio capabilities for the device.
   */
  @SuppressWarnings("InlinedApi")
  public AudioCapabilities register() {
    if (registered) {
      return Assertions.checkNotNull(audioCapabilities);
    }
    registered = true;
    if (externalSurroundSoundSettingObserver != null) {
      externalSurroundSoundSettingObserver.register();
    }
    @Nullable Intent stickyIntent = null;
    if (receiver != null) {
      IntentFilter intentFilter = new IntentFilter(AudioManager.ACTION_HDMI_AUDIO_PLUG);
      stickyIntent = Util.registerReceiverNotExported(context, receiver, intentFilter, handler);
    }
    audioCapabilities = AudioCapabilities.getCapabilities(context, stickyIntent);
    return audioCapabilities;
  }

  /**
   * Unregisters the receiver, meaning it will no longer notify the listener when audio capability
   * changes occur.
   */
  public void unregister() {
    if (!registered) {
      return;
    }
    audioCapabilities = null;
    if (receiver != null) {
      context.unregisterReceiver(receiver);
    }
    if (externalSurroundSoundSettingObserver != null) {
      externalSurroundSoundSettingObserver.unregister();
    }
    registered = false;
  }

  private void onNewAudioCapabilities(AudioCapabilities newAudioCapabilities) {
    if (registered && !newAudioCapabilities.equals(audioCapabilities)) {
      audioCapabilities = newAudioCapabilities;
      listener.onAudioCapabilitiesChanged(newAudioCapabilities);
    }
  }

  private final class HdmiAudioPlugBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
      if (!isInitialStickyBroadcast()) {
        onNewAudioCapabilities(AudioCapabilities.getCapabilities(context, intent));
      }
    }
  }

  private final class ExternalSurroundSoundSettingObserver extends ContentObserver {

    private final ContentResolver resolver;
    private final Uri settingUri;

    public ExternalSurroundSoundSettingObserver(
        Handler handler, ContentResolver resolver, Uri settingUri) {
      super(handler);
      this.resolver = resolver;
      this.settingUri = settingUri;
    }

    public void register() {
      resolver.registerContentObserver(settingUri, /* notifyForDescendants= */ false, this);
    }

    public void unregister() {
      resolver.unregisterContentObserver(this);
    }

    @Override
    public void onChange(boolean selfChange) {
      onNewAudioCapabilities(AudioCapabilities.getCapabilities(context));
    }
  }
}


text:
subjects_file=faltantes_freesurfer.txt

while read subj; do
  ./10-Transpose_bval_files.sh $subj
done < $subjects_file


text:
package org.wso2.carbon.registry.synchronization.operation;

import org.apache.axiom.om.*;
import org.apache.axiom.om.util.Base64;
import org.apache.commons.io.FileUtils;
import org.wso2.carbon.registry.core.Registry;
import org.wso2.carbon.registry.core.exceptions.RegistryException;
import org.wso2.carbon.registry.core.jdbc.DumpConstants;
import org.wso2.carbon.registry.core.utils.RegistryUtils;
import org.wso2.carbon.registry.synchronization.SynchronizationConstants;
import org.wso2.carbon.registry.synchronization.SynchronizationException;
import org.wso2.carbon.registry.synchronization.UserInputCallback;
import org.wso2.carbon.registry.synchronization.Utils;
import org.wso2.carbon.registry.synchronization.message.Message;
import org.wso2.carbon.registry.synchronization.message.MessageCode;

import javax.xml.namespace.QName;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import java.io.*;
import java.net.UnknownHostException;
import java.util.zip.ZipInputStream;

/**
 * This command is used to perform a check-in operation which will upload the files and directories
 * from the local filesystem into the provided registry instance.
 */
@SuppressWarnings({"ResultOfMethodCallIgnored", "unused"})
public class CheckInCommand {

    private static boolean ignoreConflicts = Boolean.parseBoolean(
            System.getProperty(SynchronizationConstants.REGISTRY_IGNORE_CONFLICTS, "false"));

    private String inputFile = null;
    private String workingLocation = null;
    private String registryUrl = null;
    private String checkInPath = null;
    private String username = null;
    private boolean silentUpdate = true;
    private boolean cleanRegistry = false;
    private boolean updated = false;

    ////////////////////////////////////////////////////////
    // Fields maintaining status of command execution
    ////////////////////////////////////////////////////////

    private int sentCount = -1;

    /**
     * Creates an instance of a check-in command which can be executed against a provided registry
     * instance.
     *
     * @param inputFile          if the content is to be uploaded from a single meta file, this
     *                           parameter can be used to specify the path to the meta file.
     * @param workingLocation         if the content is to be uploaded from a directory on the
     *                           filesystem, this parameter can be used to specify the path to the
     *                           corresponding location.
     * @param userUrl            aggregate URL containing a concatenation of the registry URL and
     *                           the resource path that is capable of referencing a remote resource.
     *                           This url will contain only the resource path if the resource was
     *                           local to the given registry instance.
     * @param username           the name of the user (which should be a valid username on the
     *                           target server on which the provided registry instance is running)
     *                           that performs this operation.
     * @param silentUpdate       to ignore the conflicts and perform silent update on the server
     *                           side.
     * @param cleanRegistry      whether the embedded registry instance must be cleaned after the
     *                           execution of the operation.
     * @param testContentChanged when this parameter is set to true, check-in will only happen if
     *                           the content has changed.
     *
     * @throws SynchronizationException if the operation failed.
     */
    public CheckInCommand(String inputFile,
                          String workingLocation,
                          String userUrl,
                          String username,
                          boolean silentUpdate,
                          boolean cleanRegistry,
                          boolean testContentChanged) throws SynchronizationException {
        // now if the user url is different to the registry url we are going to consider that as
        // well.

        this.inputFile = inputFile;
        if(workingLocation.endsWith(File.separator)){
            workingLocation = workingLocation.substring(0, workingLocation.length() -1);
        }
        this.workingLocation = workingLocation;
        String userUrl1 = userUrl;
        this.username = username;
        this.silentUpdate = silentUpdate;
        this.cleanRegistry = cleanRegistry;
        boolean testContentChanged1 = testContentChanged;

        // get the update details form the meta element of the current checkout
        OMElement metaOMElement = Utils.getMetaOMElement(workingLocation);
        if (metaOMElement != null) {
            checkInPath = metaOMElement.getAttributeValue(new QName(DumpConstants.RESOURCE_PATH));
        }

        if (userUrl != null) {
            registryUrl = Utils.getRegistryUrl(userUrl);
            String suggestedCheckInPath = Utils.getPath(userUrl);
            if (suggestedCheckInPath == null || suggestedCheckInPath.equals("")) {
                suggestedCheckInPath = "/";
                // we are converting the root path to the current directory of the file system
            }
            if (!suggestedCheckInPath.equals(checkInPath)) {
                testContentChanged1 = false;
                checkInPath = suggestedCheckInPath;
            }
        } else {
            if (metaOMElement == null) {
                throw new SynchronizationException(MessageCode.CHECKOUT_BEFORE_CHECK_IN);
            }
            registryUrl = metaOMElement.getAttributeValue(new QName("registryUrl"));
        }
    }

    /**
     * Method to obtain the count of files sent.
     *
     * @return the count of files sent.
     */
    public int getSentCount() {
        return sentCount;
    }

    /**
     * This method will execute the check-in command utilizing the various parameters passed when
     * creating the instance of the command. This method accepts the users preference if a deletion
     * of a file or directory is required in the process.
     *
     * @param registry the registry instance to be used.
     * @param callback the instance of a callback that can be used to determine the user's
     *                 preference before deleting an existing file or directory during the update
     *                 after the check-in has been done. If this parameter is null, the default
     *                 behaviour of deleting the existing file will be used.
     * @return whether the resources updated in the registry
     *
     * @throws SynchronizationException if the operation failed.
     */
    public boolean execute(Registry registry, UserInputCallback callback)
            throws SynchronizationException {
        if (inputFile != null) {
            // restore a single file.
            restoreFromFile(registry);
        } else {
            restoreFromFileSystem(registry, callback);
        }
        return updated;
    }

    /**
     * This method will execute the check-in command utilizing the various parameters passed when
     * creating the instance of the command.
     *
     * @param registry the registry instance to be used.
     *
     * @return whether the resources updated in the registry
     *
     * @throws SynchronizationException if the operation failed.
     */
    public boolean execute(Registry registry) throws SynchronizationException {
        return execute(registry, null);
    }

    // Restores the given resources and collections from a dump file.
    private void restoreFromFile(Registry registry) throws SynchronizationException {
        String workingLocation = this.workingLocation;

        if (workingLocation != null) {
            inputFile = workingLocation + File.separator + inputFile;
        }

        // do the restoring
        try {
            ZipInputStream zis = new ZipInputStream(new FileInputStream(inputFile));
            zis.getNextEntry();
            Reader reader = new InputStreamReader(zis);
            registry.restore(checkInPath, reader);
        } catch (FileNotFoundException e) {
            throw new SynchronizationException(MessageCode.FILE_DOES_NOT_EXIST, e,
                    new String[]{"Output file" + inputFile});
        } catch (Exception e) {
            if(e.getCause() instanceof UnknownHostException) {
                  throw new SynchronizationException(MessageCode.ERROR_IN_CONNECTING_REGISTRY, e,
                        new String[] {" registry url:" + registryUrl});
            }
            throw new SynchronizationException(MessageCode.ERROR_IN_RESTORING, e,
                    new String[]{"path: " + checkInPath,
                            "registry url: " + registryUrl,
                            "username: " + username});
        }

        if (cleanRegistry && registryUrl == null) {
            Utils.cleanEmbeddedRegistry();
        }
    }

    // Restores the given resources and collections from files and folders on the filesystem.
    private void restoreFromFileSystem(Registry registry, UserInputCallback callback)
            throws SynchronizationException {
        sentCount = 0;

        // we are doing the check-in through a temp file. (so assumed enough spaces are there)
        File tempFile = null;
        boolean deleteTempFileFailed = false;
        XMLStreamWriter xmlWriter = null;
        Writer writer = null;
        try {
            try {
                tempFile = File.createTempFile(SynchronizationConstants.DUMP_META_FILE_NAME,
                        SynchronizationConstants.META_FILE_EXTENSION);

                try {
                    writer = new FileWriter(tempFile);
                    // wrap the writer with an xml stream writer
                    xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(writer);
                    // prepare the dump xml
                    xmlWriter.writeStartDocument();
                    createMetaElement(xmlWriter, workingLocation, checkInPath, callback);
                    xmlWriter.writeEndDocument();
                } finally {
                    try {
                        if (xmlWriter != null) {
                            xmlWriter.close();
                        }
                    } finally {
                        if (writer != null) {
                            writer.close();
                        }
                    }
                }
            } catch (IOException e) {
                throw new SynchronizationException(
                        MessageCode.ERROR_IN_CREATING_TEMP_FILE_FOR_DUMP,
                        e);
            } catch (XMLStreamException e) {
                throw new SynchronizationException(
                        MessageCode.ERROR_IN_CREATING_XML_STREAM_WRITER, e);
            }

            // do the restoring if the file system is actually updated
            if(updated) {
                try {
                    Reader reader = null;
                    try {
                        reader = new FileReader(tempFile);
                        registry.restore(checkInPath, reader);
                    } finally {
                        if (reader != null) {
                            reader.close();
                        }
                    }
                } catch (IOException e) {
                    throw new SynchronizationException(
                            MessageCode.ERROR_IN_READING_TEMP_FILE_OF_DUMP, e);
                } catch (RegistryException e) {
                    throw new SynchronizationException(MessageCode.ERROR_IN_RESTORING, e,
                            new String[]{"path: " + checkInPath,
                                    "registry url: " + registryUrl,
                                    "username: " + username});
                }
            }
        } finally {
            if (tempFile != null) {
                // Our intention here is to delete the temporary file. We are not bothered whether
                // this operation fails.
                deleteTempFileFailed = !FileUtils.deleteQuietly(tempFile);
            }
        }
        if (deleteTempFileFailed) {
            throw new SynchronizationException(MessageCode.ERROR_IN_CLEANING_UP,
                    new String[]{"file path: " + tempFile.getAbsolutePath()});
        }

        if (cleanRegistry && registryUrl == null) {
            Utils.cleanEmbeddedRegistry();
        }
    }

    // Creates the dump element from the given file or directory.
    private void createMetaElement(XMLStreamWriter xmlWriter, String filePath, String path,
                                   UserInputCallback callback)
            throws SynchronizationException, XMLStreamException {
        File file = new File(filePath);
        if (file.isDirectory()) {
            createDirectoryMetaElement(xmlWriter, filePath, path, callback);
        } else {
            String metaFilePath = Utils.getMetaFilePath(file.getPath());
            createResourceMetaElement(xmlWriter, file, metaFilePath, path, callback);
        }
    }

    // Creates the dump element from the given directory. If the path is not given it is retrieved
    // from the meta file.
    private void createDirectoryMetaElement(XMLStreamWriter xmlWriter, String filePath, String path,
                                            UserInputCallback callback)
            throws SynchronizationException, XMLStreamException {
        // first get the meta file of the directory.
        String metaDirectoryPath = filePath + File.separator +
                SynchronizationConstants.META_DIRECTORY;
        String metaFilePath = metaDirectoryPath + File.separator +
                SynchronizationConstants.META_FILE_PREFIX +
                SynchronizationConstants.META_FILE_EXTENSION;

        // confirm the existence of the meta file.
        OMElement metaElement = Utils.getOMElementFromMetaFile(metaFilePath);
        if (metaElement == null) {
            return;
        }

        // alerting non-backward compatibility...
        String checkoutPathAttribute = metaElement.getAttributeValue(new QName("checkoutPath"));
        if (checkoutPathAttribute != null) {
            throw new SynchronizationException(MessageCode.CHECKOUT_OLD_VERSION);
        }

        // we are re-adjusting the name of the resource to make sure the file name and the resource
        // name is equal
        String resourceName = RegistryUtils.getResourceName(path);
        metaElement.addAttribute(DumpConstants.RESOURCE_NAME, resourceName, null);

        OMFactory factory = OMAbstractFactory.getOMFactory();

        OMAttribute status;
        if((status = metaElement.getAttribute(new QName(DumpConstants.RESOURCE_STATUS))) != null){
            if(DumpConstants.RESOURCE_ADDED.equals(status.getAttributeValue())){
                metaElement = Utils.updateDefaultAddMetaFile(metaElement, path, username, true);
            }
        }

        if(status != null && !DumpConstants.RESOURCE_DELETED.equals(status.getAttributeValue())){
            metaElement.removeAttribute(factory.createOMAttribute(DumpConstants.RESOURCE_STATUS, null, status.getAttributeValue()));
            Utils.updateMetaFile(metaFilePath, metaElement);
            metaElement.addAttribute(DumpConstants.RESOURCE_STATUS, status.getAttributeValue(), null);
        }

        // now write the meta data of the meta element to the writer (except children)
        Utils.writeMetaElement(xmlWriter, metaElement);
        if(status != null){
            if (callback != null) {
                callback.displayMessage(new Message(MessageCode.SENT, new String[]{filePath}));
            }
            sentCount++;
            updated = true;
        }

        // now add the child element to the meta element
        xmlWriter.writeStartElement(DumpConstants.CHILDREN);

        File metaDirFile = new File(metaDirectoryPath);
        String[] metaFiles = metaDirFile.list(new FilenameFilter(){
            public boolean accept(File file, String s) {
                if(!s.equals("~.xml")){
                    return true;
                }
                return false;
            }
        });
        if (metaFiles != null) {
            for(String childMetaFileName : metaFiles){
                String childFileName = Utils.decodeFilename(childMetaFileName.
                        substring(1, childMetaFileName.length() - 4));
                String childFilePath = metaDirFile.getParent() + File.separator + childFileName;
                createResourceMetaElement(xmlWriter, new File(childFilePath),
                        metaDirectoryPath + File.separator + childMetaFileName, path, callback);
            }
        }

        File directory = new File(filePath);
        String[] childrenNames = directory.list(new FilenameFilter() {
            public boolean accept(File file, String s) {
                if(file.isDirectory()){
                    if(s.equals(SynchronizationConstants.META_DIRECTORY)) {
                        return false;
                    }
                    return true;
                }
                return false;
            }
        });
        if (childrenNames != null) {
            for (String childFileName : childrenNames) {
                // Get childFileName of file or directory
                String childResourceName = Utils.decodeFilename(childFileName);

                if (childResourceName.endsWith(SynchronizationConstants.MINE_FILE_POSTFIX) ||
                        childResourceName.endsWith(SynchronizationConstants.SERVER_FILE_POSTFIX)) {
                    // there is an conflicts
                    throw new SynchronizationException(MessageCode.RESOLVE_CONFLICTS);
                }

                String childPath = path + "/" + childResourceName;
                String childFilePath = filePath + File.separator + childFileName;
                createDirectoryMetaElement(xmlWriter, childFilePath, childPath, callback);
            }
        }

        if(status != null && DumpConstants.RESOURCE_DELETED.equals(status.getAttributeValue())){
            FileUtils.deleteQuietly(directory);
        }

        xmlWriter.writeEndElement(); // to end children tag.
        xmlWriter.writeEndElement(); // to end resource tag.
        xmlWriter.flush();
    }

    private void createResourceMetaElement(XMLStreamWriter xmlWriter,
                                           File resourceFile,
                                           String metaFilePath,
                                           String path,
                                           UserInputCallback callback)
            throws XMLStreamException, SynchronizationException {
        String fileName = resourceFile.getName();
        String filePath = resourceFile.getPath();
        // confirm the existence of the meta file.
        OMElement metaElement = Utils.getOMElementFromMetaFile(metaFilePath);
        if (metaElement == null) {
            return;
        }
        // we are re-adjusting the name of the resource to make sure the file name and the
        // resource name is equal
        metaElement.addAttribute(DumpConstants.RESOURCE_NAME, fileName, null);
        if (!silentUpdate && !ignoreConflicts) {
            // we only set the ignoreConflicts attribute if it is failing. This will enforce a
            // check for conflicts at the server side.
            metaElement.addAttribute(DumpConstants.IGNORE_CONFLICTS, "false", null);
        }

        OMFactory factory = OMAbstractFactory.getOMFactory();
        OMAttribute status;
        if((status = metaElement.getAttribute(new QName(DumpConstants.RESOURCE_STATUS))) != null){
            if(DumpConstants.RESOURCE_ADDED.equals(status.getAttributeValue())){
                metaElement = Utils.updateDefaultAddMetaFile(metaElement,
                        path + File.separator + fileName, username, false);
            } else if(DumpConstants.RESOURCE_DELETED.equals(status.getAttributeValue())){
                FileUtils.deleteQuietly(new File(metaFilePath));
                FileUtils.deleteQuietly(resourceFile);
            }
        }  else if(Utils.fileContentChanged(resourceFile)) {
            status = metaElement.addAttribute(
                    DumpConstants.RESOURCE_STATUS, DumpConstants.RESOURCE_UPDATED, null);
        }

        if(status != null && !DumpConstants.RESOURCE_DELETED.equals(status.getAttributeValue())){
            metaElement.removeAttribute(factory.createOMAttribute(
                    DumpConstants.RESOURCE_STATUS, null, status.getAttributeValue()));
            metaElement.addAttribute("md5", Utils.getMD5(resourceFile), null);
            Utils.updateMetaFile(metaFilePath, metaElement);
            metaElement.addAttribute(DumpConstants.RESOURCE_STATUS, status.getAttributeValue(), null);
        }

        // now write the meta data of the meta element to the writer (except children)
        Utils.writeMetaElement(xmlWriter, metaElement);
        if(status != null){
            if (callback != null) {
                callback.displayMessage(new Message(MessageCode.SENT, new String[]{filePath}));
            }
            sentCount++;
            updated = true;
        }

        // adding the content if resource is not deleted
        if(status == null ||
                (status != null &&
                        !DumpConstants.RESOURCE_DELETED.equals(status.getAttributeValue()))){
            byte[] content = Utils.getBytesFromFile(resourceFile);
            String encodedContent = Base64.encode(content);

            OMElement contentEle = factory.createOMElement(new QName(DumpConstants.CONTENT));
            OMText contentText = factory.createOMText(encodedContent);
            contentEle.addChild(contentText);
            contentEle.serialize(xmlWriter);
        }
        xmlWriter.writeEndElement(); // to end resource tag.
        xmlWriter.flush();
    }
}


text:
VCAP(Cloudfoundry) Client Library for Node.js

## Install

    npm install vcap

## Fire.js Ignitable

For Fire.js Ignitables check [firebaseco/vcap-expressions](https://github.com/firebaseco/vcap-expressions)

### Contributors

* Johan (author). Email: *johan@firebase.co*

## Cloning the Repository

    git clone https://github.com/firebaseco/node-vcap-client.git

## MIT License

Copyright (c) 2011 Firebase.co and Contributors - http://www.firebase.co

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.


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.synapse.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.OffsetDateTime;

/** Spark pool library version requirements Library requirements for a Big Data pool powered by Apache Spark. */
@Fluent
public final class LibraryRequirements {
    /*
     * The last update time of the library requirements file.
     */
    @JsonProperty(value = "time", access = JsonProperty.Access.WRITE_ONLY)
    private OffsetDateTime time;

    /*
     * The library requirements.
     */
    @JsonProperty(value = "content")
    private String content;

    /*
     * The filename of the library requirements file.
     */
    @JsonProperty(value = "filename")
    private String filename;

    /**
     * Get the time property: The last update time of the library requirements file.
     *
     * @return the time value.
     */
    public OffsetDateTime time() {
        return this.time;
    }

    /**
     * Get the content property: The library requirements.
     *
     * @return the content value.
     */
    public String content() {
        return this.content;
    }

    /**
     * Set the content property: The library requirements.
     *
     * @param content the content value to set.
     * @return the LibraryRequirements object itself.
     */
    public LibraryRequirements withContent(String content) {
        this.content = content;
        return this;
    }

    /**
     * Get the filename property: The filename of the library requirements file.
     *
     * @return the filename value.
     */
    public String filename() {
        return this.filename;
    }

    /**
     * Set the filename property: The filename of the library requirements file.
     *
     * @param filename the filename value to set.
     * @return the LibraryRequirements object itself.
     */
    public LibraryRequirements withFilename(String filename) {
        this.filename = filename;
        return this;
    }

    /**
     * Validates the instance.
     *
     * @throws IllegalArgumentException thrown if the instance is not valid.
     */
    public void validate() {
    }
}


text:
import os
import six

from airflow.configuration import conf
from airflow.contrib.kubernetes.pod import Pod, Resources
from airflow.contrib.kubernetes.secret import Secret
from airflow.utils.log.logging_mixin import LoggingMixin
from airflow.version import version as airflow_version

class WorkerConfiguration(LoggingMixin):
    """Contains Kubernetes Airflow Worker configuration logic"""

    dags_volume_name = 'airflow-dags'
    logs_volume_name = 'airflow-logs'
    git_sync_ssh_secret_volume_name = 'git-sync-ssh-key'
    git_ssh_key_secret_key = 'gitSshKey'
    git_sync_ssh_known_hosts_volume_name = 'git-sync-known-hosts'
    git_ssh_known_hosts_configmap_key = 'known_hosts'

    def __init__(self, kube_config):
        self.kube_config = kube_config
        self.worker_airflow_home = self.kube_config.airflow_home
        self.worker_airflow_dags = self.kube_config.dags_folder
        self.worker_airflow_logs = self.kube_config.base_log_folder

        super(WorkerConfiguration, self).__init__()

    def _get_init_containers(self):
        """When using git to retrieve the DAGs, use the GitSync Init Container"""
        # If we're using volume claims to mount the dags, no init container is needed
        if self.kube_config.dags_volume_claim or \
           self.kube_config.dags_volume_host or self.kube_config.dags_in_image:
            return []

        # Otherwise, define a git-sync init container
        init_environment = [{
            'name': 'GIT_SYNC_REPO',
            'value': self.kube_config.git_repo
        }, {
            'name': 'GIT_SYNC_BRANCH',
            'value': self.kube_config.git_branch
        }, {
            'name': 'GIT_SYNC_ROOT',
            'value': self.kube_config.git_sync_root
        }, {
            'name': 'GIT_SYNC_DEST',
            'value': self.kube_config.git_sync_dest
        }, {
            'name': 'GIT_SYNC_DEPTH',
            'value': '1'
        }, {
            'name': 'GIT_SYNC_ONE_TIME',
            'value': 'true'
        }, {
            'name': 'GIT_SYNC_REV',
            'value': self.kube_config.git_sync_rev
        }]

        for env_var_name, env_var_val in six.iteritems(self.kube_config.kube_env_vars):
            init_environment.append({
                'name': env_var_name,
                'value': env_var_val
            })

        if self.kube_config.git_user:
            init_environment.append({
                'name': 'GIT_SYNC_USERNAME',
                'value': self.kube_config.git_user
            })
        if self.kube_config.git_password:
            init_environment.append({
                'name': 'GIT_SYNC_PASSWORD',
                'value': self.kube_config.git_password
            })

        if self.kube_config.git_sync_credentials_secret:
            init_environment.extend([
                {
                    'name': 'GIT_SYNC_USERNAME',
                    'valueFrom': {
                        'secretKeyRef': {
                            'name': self.kube_config.git_sync_credentials_secret,
                            'key': 'GIT_SYNC_USERNAME'
                        }
                    }
                },
                {
                    'name': 'GIT_SYNC_PASSWORD',
                    'valueFrom': {
                        'secretKeyRef': {
                            'name': self.kube_config.git_sync_credentials_secret,
                            'key': 'GIT_SYNC_PASSWORD'
                        }
                    }
                }
            ])

        volume_mounts = [{
            'mountPath': self.kube_config.git_sync_root,
            'name': self.dags_volume_name,
            'readOnly': False
        }]
        if self.kube_config.git_ssh_key_secret_name:
            volume_mounts.append({
                'name': self.git_sync_ssh_secret_volume_name,
                'mountPath': '/etc/git-secret/ssh',
                'subPath': 'ssh'
            })
            init_environment.extend([
                {
                    'name': 'GIT_SSH_KEY_FILE',
                    'value': '/etc/git-secret/ssh'
                },
                {
                    'name': 'GIT_SYNC_SSH',
                    'value': 'true'
                }])
        if self.kube_config.git_ssh_known_hosts_configmap_name:
            volume_mounts.append({
                'name': self.git_sync_ssh_known_hosts_volume_name,
                'mountPath': '/etc/git-secret/known_hosts',
                'subPath': 'known_hosts'
            })
            init_environment.extend([
                {
                    'name': 'GIT_KNOWN_HOSTS',
                    'value': 'true'
                },
                {
                    'name': 'GIT_SSH_KNOWN_HOSTS_FILE',
                    'value': '/etc/git-secret/known_hosts'
                }
            ])
        else:
            init_environment.append({
                'name': 'GIT_KNOWN_HOSTS',
                'value': 'false'
            })

        init_containers = [{
            'name': self.kube_config.git_sync_init_container_name,
            'image': self.kube_config.git_sync_container,
            'env': init_environment,
            'volumeMounts': volume_mounts
        }]

        if self.kube_config.git_sync_run_as_user != "":
            init_containers[0]['securityContext'] = {
                'runAsUser': self.kube_config.git_sync_run_as_user  # git-sync user
            }

        return init_containers

    def _get_environment(self):
        """Defines any necessary environment variables for the pod executor"""
        env = {}

        for env_var_name, env_var_val in six.iteritems(self.kube_config.kube_env_vars):
            env[env_var_name] = env_var_val

        env["AIRFLOW__CORE__EXECUTOR"] = "LocalExecutor"

        if self.kube_config.airflow_configmap:
            env['AIRFLOW_HOME'] = self.worker_airflow_home
            env['AIRFLOW__CORE__DAGS_FOLDER'] = self.worker_airflow_dags
        if (not self.kube_config.airflow_configmap and
                'AIRFLOW__CORE__SQL_ALCHEMY_CONN' not in self.kube_config.kube_secrets):
            env['AIRFLOW__CORE__SQL_ALCHEMY_CONN'] = conf.get("core", "SQL_ALCHEMY_CONN")
        if self.kube_config.git_dags_folder_mount_point:
            # /root/airflow/dags/repo/dags
            dag_volume_mount_path = os.path.join(
                self.kube_config.git_dags_folder_mount_point,
                self.kube_config.git_sync_dest,  # repo
                self.kube_config.git_subpath     # dags
            )
            env['AIRFLOW__CORE__DAGS_FOLDER'] = dag_volume_mount_path
        return env

    def _get_configmaps(self):
        """Extracts any configmapRefs to envFrom"""
        if not self.kube_config.env_from_configmap_ref:
            return []
        return self.kube_config.env_from_configmap_ref.split(',')

    def _get_secrets(self):
        """Defines any necessary secrets for the pod executor"""
        worker_secrets = []

        for env_var_name, obj_key_pair in six.iteritems(self.kube_config.kube_secrets):
            k8s_secret_obj, k8s_secret_key = obj_key_pair.split('=')
            worker_secrets.append(
                Secret('env', env_var_name, k8s_secret_obj, k8s_secret_key)
            )

        if self.kube_config.env_from_secret_ref:
            for secret_ref in self.kube_config.env_from_secret_ref.split(','):
                worker_secrets.append(
                    Secret('env', None, secret_ref)
                )

        return worker_secrets

    def _get_image_pull_secrets(self):
        """Extracts any image pull secrets for fetching container(s)"""
        if not self.kube_config.image_pull_secrets:
            return []
        return self.kube_config.image_pull_secrets.split(',')

    def _get_security_context(self):
        """Defines the security context"""
        security_context = {}

        if self.kube_config.worker_run_as_user != "":
            security_context['runAsUser'] = self.kube_config.worker_run_as_user

        if self.kube_config.worker_fs_group != "":
            security_context['fsGroup'] = self.kube_config.worker_fs_group

        # set fs_group to 65533 if not explicitly specified and using git ssh keypair auth
        if self.kube_config.git_ssh_key_secret_name and security_context.get('fsGroup') is None:
            security_context['fsGroup'] = 65533

        return security_context

    def _get_labels(self, kube_executor_labels, labels):
        copy = self.kube_config.kube_labels.copy()
        copy.update(kube_executor_labels)
        copy.update(labels)
        return copy

    def _get_volumes_and_mounts(self):
        def _construct_volume(name, claim, host):
            volume = {
                'name': name
            }
            if claim:
                volume['persistentVolumeClaim'] = {
                    'claimName': claim
                }
            elif host:
                volume['hostPath'] = {
                    'path': host,
                    'type': ''
                }
            else:
                volume['emptyDir'] = {}
            return volume

        volumes = {
            self.dags_volume_name: _construct_volume(
                self.dags_volume_name,
                self.kube_config.dags_volume_claim,
                self.kube_config.dags_volume_host
            ),
            self.logs_volume_name: _construct_volume(
                self.logs_volume_name,
                self.kube_config.logs_volume_claim,
                self.kube_config.logs_volume_host
            )
        }

        volume_mounts = {
            self.dags_volume_name: {
                'name': self.dags_volume_name,
                'mountPath': self.generate_dag_volume_mount_path(),
                'readOnly': True,
            },
            self.logs_volume_name: {
                'name': self.logs_volume_name,
                'mountPath': self.worker_airflow_logs,
            }
        }

        if self.kube_config.dags_volume_subpath:
            volume_mounts[self.dags_volume_name]['subPath'] = self.kube_config.dags_volume_subpath

        if self.kube_config.logs_volume_subpath:
            volume_mounts[self.logs_volume_name]['subPath'] = self.kube_config.logs_volume_subpath

        if self.kube_config.dags_in_image:
            del volumes[self.dags_volume_name]
            del volume_mounts[self.dags_volume_name]

        # Get the SSH key from secrets as a volume
        if self.kube_config.git_ssh_key_secret_name:
            volumes[self.git_sync_ssh_secret_volume_name] = {
                'name': self.git_sync_ssh_secret_volume_name,
                'secret': {
                    'secretName': self.kube_config.git_ssh_key_secret_name,
                    'items': [{
                        'key': self.git_ssh_key_secret_key,
                        'path': 'ssh',
                        'mode': 0o440
                    }]
                }
            }

        if self.kube_config.git_ssh_known_hosts_configmap_name:
            volumes[self.git_sync_ssh_known_hosts_volume_name] = {
                'name': self.git_sync_ssh_known_hosts_volume_name,
                'configMap': {
                    'name': self.kube_config.git_ssh_known_hosts_configmap_name
                },
                'mode': 0o440
            }

        if self.kube_config.airflow_local_settings_configmap:
            config_path = '{}/config/airflow_local_settings.py'.format(self.worker_airflow_home)

            if self.kube_config.airflow_local_settings_configmap != self.kube_config.airflow_configmap:
                config_volume_name = 'airflow-local-settings'
                volumes[config_volume_name] = {
                    'name': config_volume_name,
                    'configMap': {
                        'name': self.kube_config.airflow_local_settings_configmap
                    }
                }

                volume_mounts[config_volume_name] = {
                    'name': config_volume_name,
                    'mountPath': config_path,
                    'subPath': 'airflow_local_settings.py',
                    'readOnly': True
                }

            else:
                volume_mounts['airflow-local-settings'] = {
                    'name': 'airflow-config',
                    'mountPath': config_path,
                    'subPath': 'airflow_local_settings.py',
                    'readOnly': True
                }

        # Mount the airflow.cfg file via a configmap the user has specified
        if self.kube_config.airflow_configmap:
            config_volume_name = 'airflow-config'
            config_path = '{}/airflow.cfg'.format(self.worker_airflow_home)
            volumes[config_volume_name] = {
                'name': config_volume_name,
                'configMap': {
                    'name': self.kube_config.airflow_configmap
                }
            }
            volume_mounts[config_volume_name] = {
                'name': config_volume_name,
                'mountPath': config_path,
                'subPath': 'airflow.cfg',
                'readOnly': True
            }

        return volumes, volume_mounts

    def generate_dag_volume_mount_path(self):
        if self.kube_config.dags_volume_claim or self.kube_config.dags_volume_host:
            dag_volume_mount_path = self.worker_airflow_dags
        else:
            dag_volume_mount_path = self.kube_config.git_dags_folder_mount_point

        return dag_volume_mount_path

    def make_pod(self, namespace, worker_uuid, pod_id, dag_id, task_id, execution_date,
                 try_number, airflow_command, kube_executor_config):
        volumes_dict, volume_mounts_dict = self._get_volumes_and_mounts()
        worker_init_container_spec = self._get_init_containers()
        resources = Resources(
            request_memory=kube_executor_config.request_memory,
            request_cpu=kube_executor_config.request_cpu,
            limit_memory=kube_executor_config.limit_memory,
            limit_cpu=kube_executor_config.limit_cpu,
            limit_gpu=kube_executor_config.limit_gpu
        )
        gcp_sa_key = kube_executor_config.gcp_service_account_key
        annotations = dict(kube_executor_config.annotations) or self.kube_config.kube_annotations
        if gcp_sa_key:
            annotations['iam.cloud.google.com/service-account'] = gcp_sa_key

        volumes = [value for value in volumes_dict.values()] + kube_executor_config.volumes
        volume_mounts = [value for value in volume_mounts_dict.values()] + kube_executor_config.volume_mounts

        affinity = kube_executor_config.affinity or self.kube_config.kube_affinity
        tolerations = kube_executor_config.tolerations or self.kube_config.kube_tolerations

        return Pod(
            namespace=namespace,
            name=pod_id,
            image=kube_executor_config.image or self.kube_config.kube_image,
            image_pull_policy=(kube_executor_config.image_pull_policy or
                               self.kube_config.kube_image_pull_policy),
            cmds=airflow_command,
            labels=self._get_labels(kube_executor_config.labels, {
                'airflow-worker': worker_uuid,
                'dag_id': dag_id,
                'task_id': task_id,
                'execution_date': execution_date,
                'try_number': str(try_number),
                'airflow_version': airflow_version.replace('+', '-'),
                'kubernetes_executor': 'True',
            }),
            envs=self._get_environment(),
            secrets=self._get_secrets(),
            service_account_name=self.kube_config.worker_service_account_name,
            image_pull_secrets=self.kube_config.image_pull_secrets,
            init_containers=worker_init_container_spec,
            volumes=volumes,
            volume_mounts=volume_mounts,
            resources=resources,
            annotations=annotations,
            node_selectors=(kube_executor_config.node_selectors or
                            self.kube_config.kube_node_selectors),
            affinity=affinity,
            tolerations=tolerations,
            security_context=self._get_security_context(),
            configmaps=self._get_configmaps()
        )


text:
package es.magDevs.myLibrary.web.conf;

import javax.servlet.FilterRegistration;
import javax.servlet.ServletContext;
import javax.servlet.ServletRegistration;

import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.DispatcherServlet;

public class WebAppInitializer
implements WebApplicationInitializer {
    public void onStartup(ServletContext container) {
        AnnotationConfigWebApplicationContext dispatcherContext = new AnnotationConfigWebApplicationContext();
        dispatcherContext.register(Config.class);
        registerCharacterEncodingFilter(container);
        ServletRegistration.Dynamic dispatcher = container.addServlet("spring", new DispatcherServlet(dispatcherContext));
        dispatcher.setLoadOnStartup(1);
        dispatcher.addMapping("/*");
    }

    private void registerCharacterEncodingFilter(ServletContext servletContext) {
        CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
        characterEncodingFilter.setEncoding("UTF-8");
        characterEncodingFilter.setForceEncoding(true);
        FilterRegistration.Dynamic filter = servletContext.addFilter("characterEncodingFilter", characterEncodingFilter);
        filter.addMappingForUrlPatterns(null, false, "/*");
    }
}


text:
#ifndef PC_MEMORY_H
#define PC_MEMORY_H

#include "pomelo.h"

/* Wrappers for custom memory functions */
void* pc_jsonp_malloc(size_t size);
void pc_jsonp_free(void *ptr);

#endif


text:
using iQQ.Net.WebQQCore.Im.Bean;
using iQQ.Net.WebQQCore.Im.Core;
using iQQ.Net.WebQQCore.Im.Event;
using iQQ.Net.WebQQCore.Im.Http;
using iQQ.Net.WebQQCore.Im.Service;
using iQQ.Net.WebQQCore.Util;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

namespace iQQ.Net.WebQQCore.Im.Action
{
    /// <summary>
    /// <para>获取群列表名称</para>
    /// <para>@author ChenZhiHui</para>
    /// <para>@since 2013-2-21</para>
    /// </summary>
    public class GetGroupListAction : AbstractHttpAction
    {
        public GetGroupListAction(IQQContext context, QQActionListener listener) : base(context, listener) { }

        public override QQHttpRequest OnBuildRequest()
        {
            var httpService = Context.GetSerivce<IHttpService>(QQServiceType.HTTP);
            var ptwebqq = httpService.GetCookie("ptwebqq", QQConstants.URL_GET_USER_CATEGORIES);
            var session = Context.Session;
            var account = Context.Account;

            var json = new JObject
            {
                {"vfwebqq", session.Vfwebqq},
                {"hash", QQEncryptor.GetHash(account.Uin.ToString(), ptwebqq.Value)}
            };
            var req = CreateHttpRequest("POST", QQConstants.URL_GET_GROUP_NAME_LIST);
            req.AddPostValue("r", json.ToString(Formatting.None));
            req.AddHeader("Referer", QQConstants.REFFER);

            return req;
        }

        public override void OnHttpStatusOK(QQHttpResponse response)
        {
            /*
                {
                    "retcode": 0,
                    "result": {
                        "gmasklist": [
                            {
                                "gid": 1000,
                                "mask": "3"
                            }
                        ],
                        "gnamelist": [
                            {
                                "flag": 184550417,
                                "name": "iQQ",
                                "gid": 2920037469,
                                "code": 1478013841
                            },
                        ],
                        "gmarklist": []
                    }
                }
            */
            var store = Context.Store;
            var str = response.GetResponseString();
            var json = JObject.Parse(str);

            var retcode = json["retcode"].ToString();
            if (retcode == "0")
            {
                // 处理好友列表
                var results = json["result"].ToObject<JObject>();
                var groupJsonList = results["gnamelist"].ToObject<JArray>();	// 群列表

                // 禁止接收群消息标志:正常 0, 接收不提醒 1, 完全屏蔽 2
                var groupMaskJsonList = results["gmasklist"].ToObject<JArray>();

                foreach (var t in groupJsonList)
                {
                    var groupJson = t.ToObject<JObject>();
                    var group = new QQGroup()
                    {
                        Gid = groupJson["gid"].ToObject<long>(),
                        Code = groupJson["code"].ToObject<long>(),
                        Flag = groupJson["flag"].ToObject<long>(),
                        Name = groupJson["name"].ToString(),
                    };
                    group.Gin = group.Gid;
                    //添加到Store
                    store.AddGroup(group);
                }

                foreach (var t in groupMaskJsonList)
                {
                    var maskObj = t.ToObject<JObject>();
                    var gid = maskObj["gid"].ToObject<long>();
                    var mask = maskObj["mask"].ToObject<int>();
                    var group = store.GetGroupByGin(gid);
                    if (group != null)
                    {
                        group.Mask = mask;
                    }
                }

                NotifyActionEvent(QQActionEventType.EvtOK, store.GetGroupList());

            }
            else
            {
                // LOG.warn("unknown retcode: " + retcode);
                // NotifyActionEvent(QQActionEventType.EVT_ERROR, null);
                throw new QQException(QQErrorCode.InvalidResponse, str);
            }

        }

    }

}


text:
from msrest.serialization import Model

class EventTypesListResult(Model):
    """Result of the List Event Types operation.

    :param value: A collection of event types
    :type value: list of :class:`EventType
     <azure.mgmt.eventgrid.models.EventType>`
    """

    _attribute_map = {
        'value': {'key': 'value', 'type': '[EventType]'},
    }

    def __init__(self, value=None):
        self.value = value


text:
package com.stratio.cassandra.lucene.testsAT.util.monitoring;

import org.jolokia.client.J4pClient;
import org.jolokia.client.exception.J4pException;
import org.jolokia.client.request.J4pExecRequest;
import org.jolokia.client.request.J4pReadRequest;
import org.jolokia.client.request.J4pReadResponse;

import javax.management.MalformedObjectNameException;

/**
 * @author Eduardo Alonso {@literal <eduardoalonso@stratio.com>}
 */
public class CassandraJolokiaClient implements CassandraMonitoringClient {

    private J4pClient j4pClient;
    private String service;

    public CassandraJolokiaClient(String service) {
        this.service = service;
    }

    /** {@inheritDoc} */
    @Override
    public CassandraJolokiaClient connect() {
        j4pClient = new J4pClient("http://" + service + "/jolokia");
        return this;
    }

    /** {@inheritDoc} */
    @Override
    public void disconnect() {
        this.j4pClient = null;
    }

    /** {@inheritDoc} */
    @Override
    public Object read(String bean, String attribute) {
        J4pReadRequest req;
        try {
            req = new J4pReadRequest(bean, attribute);
        } catch (MalformedObjectNameException e) {
            throw new RuntimeException("MalformedObjectNameException: " + e.getMessage());
        }
        try {
            J4pReadResponse response = j4pClient.execute(req);
            return response.getValue();
        } catch (J4pException e) {
            throw new RuntimeException("J4pException: " + e.getMessage(), e);
        }
    }

    /** {@inheritDoc} */
    @Override
    public void invoke(String bean, String operation, Object[] params, String[] signature) {
        try {
            J4pExecRequest exec = new J4pExecRequest(bean, operation, params);
            j4pClient.execute(exec);
        } catch (Exception e) {
            throw new RuntimeException(e.getLocalizedMessage(), e);
        }
    }
}