text:
title: Situs Laporan Warga Papua Berbasis SMS - Mentoring 9 Desember 2014
date: 2014-12-09
categories:
- laporan
- mentoring
- Situs Laporan JUBI
---

**Artikel**

1. [Laporan Warga Papua Meningkat, Verifikasinya?](http://ciptamedia.org/laporan-warga-papua-meningkat-verifikasinya/)

**Laporan mentor Yanuar Nugroho tahap I**

Date: 09 Desember 2014

Subject: Mentoring Tahap 1 - Situs Laporan Warga Papua Berbasis SMS

To: info@ciptamedia.org

Disiapkan bersama oleh JUBI dan YN

Mentoring diikuti oleh:

1. Victor Mambor
2. Rina Oktarianti Maizier

* Agenda : Konsultasi isu
* Metode : Diskusi tanya-jawab

Catatan diskusi

T Apa persoalan mendasar yang dihadapi Perkumpulan Jubi terkait dengan pengelolaan Situs Laporan Warga?

J

* Kendala mendasar yang dihadapi adalah konsistensi kecepatan verifikator lokal dalam merespon laporan yang diberikan warga. Saat ini JUBI baru memiliki 5 verifikator lokal yang direkrut dari dan ditugaskan di Kab. Jayapura, Biak, Merauke, Jayawijaya dan Mimika, dan akan merekrut 5 orang lagi. Kendala perekrutan adalah sulitnya menemukan sumber daya lokal yang memiliki pengetahuan jurnalistik dasar yang memadai untuk memverifikasi informasi warga menjadi suatu laporan dalam bentuk berita yang faktual dan akurat.
* Selain itu, tidak diduga bahwa dampak keberhasilan sosialisasi yang dilakukan Jubi dengan menggunakan beragam media (termasuk leaflet, t-shirt, iklan di media sosial, Koran Jubi & tabloidjubi.online dan keterlibatan Jubi dalam beberapa pelatihan warga bekerjasama dengan LSM-LSM lokal) telah memunculkan suatu persoalan baru yakni pergeseran/perluasan wilayah target proyek. Antusiasme warga di wilayah-wilayah yang bukan target, seperti Teluk Wondama, Teluk Bintuni untuk terlibat dalam proyek ini berdampak pada kemampuan verifikator yang menjadi sangat terbatas untuk bisa merespon informasi warga secara cepat dikarenakan faktor/kendala geografis.

T Strategi apa yang terpikir untuk dilakukan untuk mengatasi masalah yang dihadapi verifikator lokal?

J

* Untuk mengatasi hal terkait dengan faktor SDM, Jubi mengoptimalkan seluruh SDM yang dimiliki untuk dapat memverifikasi informasi warga. Verifikator lokal di wilayah target juga bertugas memverifikasi informasi warga dari wilayah non-target yang terdekat dengan tempat tugasnya. Untuk mengatasi persoalan geografis, proses verifikasi dilakukan dengan mengandalkan teknologi komunikasi telepon seluler.
* Selain itu, Jubi sendiri juga melakukan verifikasi langsung ke 'tangan pertama' dan juga pihak-pihak terkait melalui telepon, dan melibatkan warga sebagai 'pewarta aktif' untuk memberikan informasi yang sudah diolah dengan menggunakan kaidah 5W1H sehingga dapat ditindaklanjuti/diverifikasi ke tingkat yang lebih tinggi. Warga memperoleh pengetahuan ini lewat leaflet panduan yang dibagikan Jubi, dan juga dalam beberapa pelatihan yang melibatkan mereka.

T Mengenai mekanisme verifikasi, apakah verifikator lokal dapat langsung memverifikasi informasi yang diberikan warga, ataukah harus melalui instruksi terlebih dahulu?

J

* Ada dua cara, verifikator lokal bisa langsung memverifikasi informasi warga dengan mengakses langsung ke situs atau melakukan verifikasi berdasarkan instruksi. Cara ini menjadi kurang efektif, karena untuk akses internet di daerah tidak sebaik di Jayapura, sehingga verifikator kadanhg kesulitan untuk mengakses dan akhirnya isunya terlewat. Karena itu digunakan cara kedua, yakni Jubi memberi instruksi kepada verifikator lokal lewat SMS/telepon untuk menindaklanjuti informasi warga. Selain itu, cara kedua lebih efektif untuk memastikan apakah laporan yang diverifikasi sesuai dengan isu-isu yang sesuai dengan tujuan proyek.
* Untuk cara pertama, berdasarkan rekomendasi dari Mentor Akhmad Nasir, Jubi telah menambah kategori informasi yang sesuai dengan tujuan proyek, yakni kategori pendidikan, kesehatan dan praktik cerdas yang bertujuan memudahkan verifikator lokal untuk menindaklajuti informasi yang disampaikan warga.

T Apakah masyarakat yang melaporkan langsung bisa membuat kategori laporan atau laporan dikategorikan secara manual oleh admin?

J

* Laporan dikategorikan secara manual, karena secara teknis cukup rumit bila dilakukan warga, terkait kode-kode khusus bila dilakukan via SMS. Jubi tidak menginginkan kerumitan ini berpengaruh pada antusiasme warga untuk berpartisipasi dalam proyek.
* Terkait dengan kategorisasi, mentor Ahmad Nasir menyebutkan bahwa laporan yang diberikan warga lebih banyak terkait isu kekerasan aparat kepada sipil, apakah isu-isu kesehatan dan pendidikan tidak begitu penting bagi masyarakat Papua sehingga tidak dilaporkan?
* Sebenarnya warga sudah mulai aktif melaporkan tentang isu-isu kesehatan dan pendidikan, misalnya tentang kurangnya tenaga guru, tenaga medis, obat-obatan, dan sebelum Jubi mendapat masukan dari Mentor Ahmad Nasir, laporan warga tersebut masuk dalam kategori 'forum pembaca'. Namun, memang tidak dipungkiri sampai dengan saat ini, warga Papua memiliki ketertarikan yang sangat kuat terhadap isu-isu HAM dan politik dibandingkan isu-isu lain seperti pendidikan dan kesehatan.
* Namun, Jubi secara bertahap mendorong kesadaran warga akan hak-hak ekosob masyarakat melalui kerjasama dengan LSM-LSM lokal dengan mengisi sesi (2 – 4 jam) pelatihan jurnalisme warga. Sesi tersebut dimanfaatkan untuk mensosialisasikan proyek serta tujuan dan manfaat proyek terhadap keamanan dan kesejahteraan warga.

T Strategi apa yang akan dilakukan untuk melibatkan masyarakat agar mereka dapat menyampaikan hak-hak warga?

J

* Saat ini strategi yang terpikir oleh Jubi adalah untuk membuat pertemuan-pertemuan, semacam sharing, yang melibatkan simpul komunitas pewarta yang sudah mulai terbangun melalui pendekatan verifikator lokal dan partisipasi masyarakat terhadap proyek ini. Pertemuan ini akan dimanfaatkan untuk lebih mendekatkan warga kepada isu-isu terkait hak-hak ekosob masyarakat. Terkait dengan strategi ini, Jubi perlu meninjau kembali rencana kerja dan anggaran yang dimiliki, dan segera mengkonsultasikan dengan pihak CMS setelah mendapat rekomendasi dari mentor.
* Sejauh ini, Jubi mengapresiasi keterlibatan warga dengan meberikan insentif berupa pulsa dan ponsel pintar kepada warga yang aktif sebagai pewarta.

T Apa yang kemudian dilakukan untuk membuat proyek ini berdampak kepada warga?

J

* Jubi selalu berupaya untuk meneruskan laporan warga kepada pihak-pihak terkait. Misalnya Jubi sudah memiliki database kontak yang bisa dihubungi untuk melaporkan informasi-informasi warga yang telah diverifikasi baik di tingkat daerah maupun provinsi. Namun, memang sampai dengan saat ini laporan yang disampaikan kepada pihak-pihak terkait tersebut tidak mendapatkan respon langsung karena nomor kontak tersebut tidak dipegang sendiri oleh yang bersangkutan namun dikelola oleh asisten mereka. Sehingga apa yang telah dilakukan Jubi sampai dengan sekarang tidak terlalu efektif berdampak kepada warga. Namun, Jubi memiliki strategi lain, yakni dengan membuat analisis dari laporan yang sudah terkumpul dan menerbitkannya dalam bentuk kompilasi laporan dan didistribusikan langsung kepada pihak-pihak terkait dan pengambil keputusan. Hasil analisa ini juga akan direlease melalui publikasi media.

J

* Mentor: Ide untuk melakukan analisis dan mengirimkan langsung ke pihak-pihak terkait sangat baik.
* Jubi disarankan untuk mengeksplorasi dan menjajaki penggunaan dan kerjasama dengan LAPOR1708, atau website http://lapor.ukp.go.id. LAPOR1708 adalah sarana komplain warga mengenai apapun kendala/masalah/tidak berjalannya pelayanan publik (kesehatan, pendidikan, transportasi, sarana umum, dll. LAPOR1708 bisa diakses melalui SMS (ke nomor 1708), twitter, website, apps (blackberry, iOS, android).
* Melalui berbagai chanel ini Jubi dapat melaporkan berbagai keluhan/informasi untuk diteruskan kepada Kementerian/Lembaga Negara terkait. Standar verifikasi adalah 3 hari kerja dan standar tanggapan adalah 5 hari kerja.

Diusulkan agar:

**JUBI memilah laporan warga:**

1. laporan dari warga yang bisa ditangani oleh gubernur atau bupati/walikota untuk segera diteruskan kepada pejabat terkait oleh JUBI. Sehingga laporan yang ditindaklanjuti akan sangat berdampak kepada warga.
2. laporan dari warga yang perlu mendapat perhatian oleh Presiden atau Menteri, diteruskan melalui LAPOR1708.
3. JUBI menjajaki kemungkinan kerjasama dengan LAPOR1708 agar LAPOR1708 bisa disinergikan dengan aktivitas Jubi.

Jayapura - Yogyakarta, 9 Desember 2014

redpajama_set_name: RedPajamaGithub


text:
module GrapeTokenAuth
  describe SessionsAPI do
    let(:data)           { JSON.parse(response.body) }
    let(:resp_uid)       { response.headers['uid'] }
    let(:resp_client_id) { response.headers['client'] }
    let(:resp_token)     { response.headers['access-token'] }

    context 'existing user' do
      let(:existing_user) do
        FactoryGirl.create(:user, :confirmed,
                           password: 'secret123',
                           password_confirmation: 'secret123')
      end

      describe 'success' do
        before do
          xhr :post, '/auth/sign_in', email: existing_user.email,
                                      password: 'secret123'
          existing_user.reload
        end

        it 'succeeds' do
          expect(response.status).to eq 200
        end

        it "returns the user's data" do
          expect(data['data']['email']).to eq existing_user.email
        end

        it 'receives a token from the user' do
          token = existing_user.tokens[resp_client_id]['token']
          result = BCrypt::Password.new(token) == resp_token
          expect(result).to eq true
        end

        it 'recieves a client id' do
          expect(existing_user.tokens.keys).to include(resp_client_id)
        end

        it "sets user's uid in the auth header" do
          expect(resp_uid).to eq existing_user.uid
        end

        skip 'trackable' do
          it 'sign_in_count incrementns' do
            expect(@new_sign_in_count).to eq @old_sign_in_count + 1
          end

          it 'current_sign_in_at is updated' do
            refute @old_current_sign_in_at
            assert @new_current_sign_in_at
          end

          it 'last_sign_in_at is updated' do
            refute @old_last_sign_in_at
            assert @new_last_sign_in_at
          end

          it 'sign_in_ip is updated' do
            refute @old_sign_in_ip
            expect(@new_sign_in_ip).to eq '0.0.0.0'
          end

          it 'last_sign_in_ip is updated' do
            refute @old_last_sign_in_ip
            expect(@new_last_sign_in_ip).to eq '0.0.0.0'
          end
        end
      end

      describe 'alt auth keys' do
        before do
          GrapeTokenAuth.configure do |c|
            c.authentication_keys = [:nickname, :email]
          end
          xhr :post, '/auth/sign_in', nickname: existing_user.nickname,
                                      password: 'secret123'
        end

        it 'signs the user in with the nickname' do
          expect(response.status).to eq 200
          expect(data['data']['email']).to eq existing_user.email
        end
      end

      describe 'authenticated user sign out' do
        let(:auth_headers) { existing_user.create_new_auth_token }
        before do
          xhr :delete, '/auth/sign_out', {}, auth_headers
        end

        it 'logs out the user successfully' do
          expect(response.status).to eq 200
        end

        it 'destroys the token' do
          existing_user.reload
          expect(existing_user.tokens).to be_empty
        end

        it 'does not return auth headers' do
          expect(resp_token).to be_nil
          expect(resp_uid).to be_nil
          expect(resp_client_id).to be_nil
        end
      end

      describe 'unauthed user sign out' do
        before do
          xhr :delete, '/auth/sign_out', {}
        end

        it 'fails with a 404 response status' do
          expect(response.status).to eq 404
        end
      end

      context 'with invalid credentials' do
        before do
          xhr :post, '/auth/sign_in', email: existing_user.email,
                                      password: 'bogus'
        end

        it 'fails with a 401 response status' do
          expect(response.status).to eq 401
        end

        it 'has errors' do
          expect(data['errors']).not_to be_nil
        end
      end

      describe 'case-insensitive email' do
        let(:resource_class) { User }
        let(:request_params)  do
          {
            email: existing_user.email.upcase,
            password: 'secret123'
          }
        end

        context 'when configured' do
          before { resource_class.case_insensitive_keys = [:email] }

          it 'succeeds' do
            xhr :post, '/auth/sign_in', request_params
            expect(response.status).to eq 200
          end
        end

        context 'when not configured' do
          before { resource_class.case_insensitive_keys = [] }

          it 'fails with a 401 response' do
            xhr :post, '/auth/sign_in', request_params
            expect(response.status).to eq 401
          end
        end
      end
    end

    context 'when posting for a non-existing user' do
      before do
        xhr :post, '/auth/sign_in', email: 'thisemaildoesntexist@example.com',
                                    password: 'kjasfljks'
      end

      it 'fails with a 401 response status' do
        expect(response.status).to eq 401
      end

      it 'responds with errors' do
        expect(data['errors']).not_to be_nil
      end
    end

    describe 'Alternate user class' do
      let(:existing_user) do
        FactoryGirl.create(:man, :confirmed,
                           password: 'secret123',
                           password_confirmation: 'secret123')
      end

      before do
        GrapeTokenAuth.configure do |config|
          config.mappings = { man: Man }
        end
      end

      after do
        GrapeTokenAuth.configure do |config|
          config.mappings = { user: User }
        end
      end

      before do
        xhr :post, '/man_auth/sign_in',
            email: existing_user.email, password: 'secret123'
      end

      it 'request should succeed' do
        expect(response.status).to eq 200
      end

      it 'request should return user data' do
        expect(data['data']['email']).to eq existing_user.email
      end
    end

    describe '.resource_scope' do
      it 'defaults to :user' do
        expect(SessionsAPI.resource_scope).to eq :user
      end
    end

    context 'unconfirmed user', confirmable: true do
      describe 'logging in' do
        let(:unconfirmed_user) { FactoryGirl.create(:user, :unconfirmed) }
        before do
          xhr :post, '/auth/sign_in', email: unconfirmed_user.email,
                                      password: 'secret'
        end

        it 'fails with 401' do
          expect(response.status).to eq 401
        end

        it 'has an error prompting the user to confirm' do
          error_message = 'A confirmation email was sent to your account at ' +
                          "#{unconfirmed_user.email}. You must follow the " +
                          'instructions in the email before your account can be ' +
                          'activated'

          expect(data['errors']).to eq [error_message]
        end
      end
    end

    skip 'User with only :database_authenticatable and :registerable included', modules: true do
      before do
        # setup email user mapping
      end

      after do
        # tear down email user mapping
      end

      before do
        existing_user = only_email_users(:user)
        existing_user.save!

        xhr :post, :create, email: @existing_user.email,
                            password: 'secret123'
      end

      skip 'user should be able to sign in without confirmation' do
        expect(response.status).to eq 200
      end
    end
  end
end


text:
SET NOCOUNT ON;

SELECT Count(*)
FROM
    dbo.vsms_update_compliancestatus ucs INNER JOIN dbo.vsms_softwareupdate u ON ucs.ci_id = u.ci_id
                                         INNER JOIN dbo.vsms_r_system c ON ucs.machineid = c.itemkey AND u.isenabled = 1 AND u.issuperseded = 0
WHERE
    c.obsolete0 = 0 AND c.decommissioned0 = 0 AND ucs.LastStatusChangeTime>=CAST(DATEADD(d,-@retention,GETDATE()) as DATE);


text:
<?php
namespace CmsIr\Authentication\Form;

use Zend\Form\Form;

class RegistrationForm extends Form
{
    public function __construct($name = null)
    {
        parent::__construct('registration');
        $this->setAttribute('method', 'post');

        $this->add(array(
            'name' => 'name',
            'attributes' => array(
                'type'  => 'text',
                'class' => 'form-control no-border input-lg rounded',
                'placeholder' => 'Wprowadź imię',
            ),
        ));

        $this->add(array(
            'name' => 'surname',
            'attributes' => array(
                'type'  => 'text',
                'class' => 'form-control no-border input-lg rounded',
                'placeholder' => 'Wprowadź nazwisko',
            ),
        ));

        $this->add(array(
            'name' => 'email',
            'attributes' => array(
                'type'  => 'email',
                'class' => 'form-control no-border input-lg rounded',
                'placeholder' => 'Wprowadź email',
            ),
        ));

        $this->add(array(
            'name' => 'password',
            'attributes' => array(
                'type'  => 'password',
                'class' => 'form-control no-border input-lg rounded',
                'placeholder' => 'Wprowadź hasło',
            ),
        ));

        $this->add(array(
            'name' => 'password_confirm',
            'attributes' => array(
                'type'  => 'password',
                'class' => 'form-control no-border input-lg rounded',
                'placeholder' => 'Potwierdź hasło',
            ),
        ));

        $this->add(array(
            'name' => 'submit',
            'attributes' => array(
                'type'  => 'submit',
                'value' => 'Zarejestruj',
                'id' => 'submitbutton',
                'class' => 'btn btn-warning btn-lg btn-block'
            ),
        ));
    }
}


text:
package jp.sourceforge.ea2ddl.dao.exbhv;

/**
 * The behavior of t_seclocks.
 * <p>
 * You can implement your original methods here.
 * This class is NOT overrided when re-generating.
 * </p>
 * @author DBFlute(AutoGenerator)
 */
@SuppressWarnings("unchecked")
public class TSeclocksBhv extends jp.sourceforge.ea2ddl.dao.bsbhv.BsTSeclocksBhv {
}


text:
using System;

namespace NetworkLib.Server
{
    /// <inheritdoc />
    /// <summary>
    ///     Represents the ClientDisconnectedEventArgs class.
    /// </summary>
    /// <seealso cref="T:System.EventArgs" />
    public class ClientDisconnectedEventArgs : EventArgs
    {
        /// <inheritdoc />
        /// <summary>
        ///     Initializes a new instance of the <see cref="T:NetworkLib.Server.ClientDisconnectedEventArgs" /> class.
        /// </summary>
        /// <param name="c">Contains the disconnected client.</param>
        public ClientDisconnectedEventArgs(Client.Client c)
        {
            DisconnectedClient = c;
        }

        /// <summary>
        ///     Gets the disconnected client.
        /// </summary>
        public Client.Client DisconnectedClient { get; }
    }
}


text:
    <app-header></app-header>

    <router-outlet></router-outlet>

    <app-footer></app-footer>

  <load-block></load-block>


text:
package nodes.images

import breeze.linalg._
import breeze.numerics._

import workflow.Transformer
import utils.Image
import utils.ImageUtils

/**
 * Computes DAISY feature descriptors as specified in [1]. Returns the
 * features at a regular spaced grid.
 *
 * [1] Engin Tola, Vincent Lepetit, and Pascal Fua, "DAISY: An Efficient
 * Dense Descriptor Applied to Wide-Baseline Stereo." IEEE Transactions on
 * Pattern Analysis and Machine Intelligence, Vol. 32, No. 5, 2010.
 *
 * Based on code by Ben Recht <brecht@cs.berkeley.edu>
 *
 * @param daisyT Number of histograms at a single layer
 * @param daisyQ Number of convolved orientations layers with different sigmas
 * @param daisyR Distance from the center pixel to the outer most grid point
 * @param daisyH Number of bins in the histogram
 * @param pixelBorder Starting offset for keypoints
 * @param stride Stride for keypoints on the grid
 * @param patchSize Size of neighborhood to consider for constructing patches
 */
class DaisyExtractor(
    val daisyT: Int = 8,
    val daisyQ: Int = 3,
    val daisyR: Int = 7,
    val daisyH: Int = 8,
    val pixelBorder: Int = 16,
    val stride: Int = 4,
    val patchSize: Int = 24)
  extends Transformer[Image, DenseMatrix[Float]] {

  // Set a histogram to zero if its size is below this number
  val featureThreshold = 1e-8

  // Where to zero out Gaussian blurs
  val convThreshold = 1e-6

  val daisyFeatureSize = daisyH * (daisyT * daisyQ + 1)
  val filter1 = Array(1.0, 0.0, -1.0)
  val filter2 = Array(1.0, 2.0, 1.0)

  // Given the constants, compute the daisy sigma parameters.
  val daisySigmaSq = (0 to daisyQ).map(n => math.pow(daisyR.toDouble * n/(2 * daisyQ), 2))
  val daisySigmaSqDiff = daisySigmaSq.zip(daisySigmaSq.drop(1)).map { case (a, b) => b - a }

  // Compute blurs.
  val tDaisy = daisySigmaSqDiff.map { t =>
    math.ceil(math.sqrt(
      -2 * t * math.log(convThreshold) - t * math.log(2 * math.Pi * t))).toInt
  }

  val g = tDaisy.zip(0 until daisyQ).map {
    case (t, q) => (-t to t).map(n =>
      math.exp(-(math.pow(n.toDouble, 2)/ (2 * daisySigmaSqDiff(q)) )) /
        math.sqrt(2 * math.Pi * daisySigmaSqDiff(q))
    ).toArray
  }.toArray

  /**
   * Gets a histogram from the daisyLayers.
   * @param daisyLayers The daisy features object. Has Q layers and H blurs per layer.
   * @param x The x-coord of the keypoint.
   * @param y The y-coord of the keypoint.
   * @param level The layer we're on.
   * @param angleCount The angle we're on.
   * @return Histogram (H-vector) of a given key-point/angle/layer.
   */
  private def getHist(
      daisyLayers: Array[Array[Image]],
      x: Int,
      y: Int,
      level: Int,
      angleCount: Int): DenseVector[Double] = {
    // Current radius
    val curRad = daisyR * (1 + level.toDouble) / daisyQ
    // Current angle
    val curTheta = 2 * math.Pi * (angleCount-1) / daisyT

    // Compute the center coordinates for this keypoint/level/angle
    val lookupStartX = x + math.round(curRad * math.sin(curTheta)).toInt
    val lookupStartY = y + math.round(curRad * math.cos(curTheta)).toInt

    DenseVector((0 until daisyH).map(daisyLayers(level)(_).get(lookupStartX, lookupStartY, 0)):_*)
  }

  /**
   * Gets a histogram for the center daisy point.
   * @param daisyLayers The daisy features object. Has Q layers and H blurs per layer.
   * @param x The x-coord of the keypoint.
   * @param y The y-coord of the keypoint.
   * @return Histogram (H-vector) of a given key-point/angle/layer.
   */
  private def getCenterHist(daisyLayers: Array[Array[Image]], x: Int, y: Int): DenseVector[Double] = {
    DenseVector((0 until daisyH).map(daisyLayers(0)(_).get(x, y, 0)):_*)
  }

  /**
   * Computes daisy features of an image.
   * @param in Image
   * @return Daisy features.
   */
  def apply(in: Image): DenseMatrix[Float] = {
    // Compute image gradients.
    val ix = ImageUtils.conv2D(in, filter1, filter2)
    val iy = ImageUtils.conv2D(in, filter2, filter1)

    // Compute Daisy Blur Layers.
    val daisyLayers = Array.ofDim[Image](daisyQ, daisyH)

    var angleCount, l = 0
    while (angleCount < daisyH) {
      // Compute the daisy layer for layer 0.
      val daisyAngle = 2 * math.Pi * angleCount/daisyH
      val newImage = ImageUtils.mapPixels(
                       ImageUtils.pixelCombine(
                         ImageUtils.mapPixels(ix, math.cos(daisyAngle) * _),
                         ImageUtils.mapPixels(iy, math.sin(daisyAngle) * _)),
                       math.max(_, 0.0))

      daisyLayers(0)(angleCount) = ImageUtils.conv2D(newImage, g(0), g(0))

      // Compute the daisy layer for the upper layers.
      l = 1
      while (l < daisyQ) {
        daisyLayers(l)(angleCount) = ImageUtils.conv2D(daisyLayers(l-1)(angleCount), g(l), g(l))
        l += 1
      }
      angleCount += 1
    }

    // Pack grams into image.
    val keyPointXs =
      (pixelBorder to (in.metadata.xDim - pixelBorder - 1) by stride).zipWithIndex.map {
        case (a,b) => (b,a)
      }.toMap
    val keyPointYs =
      (pixelBorder to (in.metadata.yDim - pixelBorder - 1) by stride).zipWithIndex.map {
        case (a,b) => (b,a)
      }.toMap

    val resultHeight = keyPointXs.size
    val resultWidth = keyPointYs.size

    val out = new DenseMatrix[Float](resultHeight * resultWidth, daisyFeatureSize)

    // Compute and normalize histograms for each key point.
    var x, y, off = 0
    l = 0
    angleCount = 0

    while(x < resultHeight) {
      y = 0
      while (y < resultWidth) {
        // Get the histogram for the center.
        val pix = normalize(getCenterHist(daisyLayers, keyPointXs(x), keyPointYs(y)))
        off = 0

        angleCount = 0
        while (off < daisyH) {
          out(x * resultWidth + y, angleCount * daisyQ * daisyH + off) = pix(off).toFloat
          off += 1
        }

        l = 0
        while (l < daisyQ) {
          angleCount = 0
          while (angleCount < daisyT) {
            off = 0
            val pix = normalize(getHist(daisyLayers, keyPointXs(x), keyPointYs(y), l, angleCount))
            while (off < daisyH) {
              out(x * resultWidth + y, daisyH + angleCount * daisyQ * daisyH + l * daisyH + off) =
                pix(off).toFloat
              off += 1
            }
            angleCount += 1
          }
          l += 1
        }

        y += 1
      }
      x += 1
    }
    out
  }

  def normalize(x: DenseVector[Double]): DenseVector[Double] = {
    val norm = math.sqrt(sum(pow(x, 2)))
    if (norm > featureThreshold) {
      (x :/ norm)
    } else {
      DenseVector.zeros[Double](x.length)
    }
  }
}


text: python3 jukebox_main.py --storage s3 shuffle-play


text:
package twch

type Search struct {
	client *Client
}

type searchChannels struct {
	Channels []Channel `json:"channels"`
	listTotal
	listLinks
}

type searchStreams struct {
	Streams []Stream `json:"streams"`
	listTotal
	listLinks
}

type searchGames struct {
	Games []Game `json:"games"`
}

type searchChannelOptions struct {
	Query string `url:"q"`
	ListOptions
}

type searchStreamOptions struct {
	Query string `url:"q"`
	RequestOptions
}

type searchGameOptions struct {
	Type  string `url:"type"`
	Live  bool   `url:"live,omitempty"`
	Query string `url:"q"`
}

// Channels returns a list of channels matching the search query
func (s *Search) Channels(q string, opts *ListOptions) (ch []Channel, resp *Response, err error) {
	o := &searchChannelOptions{Query: q}
	if opts != nil {
		o.ListOptions = *opts
	}

	url, err := appendOptions("search/channels", o)
	if err != nil {
		return
	}

	req, err := s.client.NewRequest("GET", url)
	if err != nil {
		return
	}

	r := new(searchChannels)
	resp, err = s.client.Do(req, r)
	if err != nil {
		return
	}

	ch = r.Channels

	return
}

// Streams returns a list of streams matching the search query
func (s *Search) Streams(q string, opts *RequestOptions) (st []Stream, resp *Response, err error) {
	o := &searchStreamOptions{Query: q}
	if opts != nil {
		o.RequestOptions = *opts
	}

	url, err := appendOptions("search/streams", o)
	if err != nil {
		return
	}

	req, err := s.client.NewRequest("GET", url)
	if err != nil {
		return
	}

	r := new(searchStreams)
	resp, err = s.client.Do(req, r)
	if err != nil {
		return
	}

	st = r.Streams

	return
}

// Games returns a list of games matching the search query
func (s *Search) Games(q string, live bool) (g []Game, resp *Response, err error) {
	o := &searchGameOptions{Query: q, Type: "suggest"}
	if live {
		o.Live = true
	}

	url, err := appendOptions("search/games", o)
	if err != nil {
		return
	}

	req, err := s.client.NewRequest("GET", url)
	if err != nil {
		return
	}

	r := new(searchGames)
	resp, err = s.client.Do(req, r)
	if err != nil {
		return
	}

	g = r.Games

	return
}


text:
yum -y erase gtk2 libX11 hicolor-icon-theme avahi freetype bitstream-vera-fonts
yum -y clean all
rm -rf /etc/yum.repos.d/{puppetlabs}.repo
rm -rf VBoxGuestAdditions_*.iso


text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0">
<context>
    <name>DNSList</name>
    <message>
        <source>Public DNS servers</source>
        <translation>Publieke DNS-servers</translation>
    </message>
    <message>
        <source>You can select one of public DNS servers instead of DNS server from your ISP</source>
        <translation>U kunt een van de publieke DNS-servers kiezen in plaats van de DNS-server van uw internetaanbieder</translation>
    </message>
    <message>
        <source>IP address</source>
        <translation>IP-adres</translation>
    </message>
    <message>
        <source>Provider</source>
        <translation>Aanbieder</translation>
    </message>
    <message>
        <source>Location</source>
        <translation>Locatie</translation>
    </message>
</context>
<context>
    <name>NetworkMan</name>
    <message>
        <source>IP Address:</source>
        <translation>IP-adres:</translation>
    </message>
    <message>
        <source>PC-BSD Network Manager</source>
        <translation>PC-BSD-netwerkbeheerder</translation>
    </message>
    <message>
        <source>Devices</source>
        <translation>Apparaten</translation>
    </message>
    <message>
        <source>Device Status</source>
        <translation>Apparaatstatus</translation>
    </message>
    <message>
        <source>999\.999\.999\.999; </source>
        <translation>999\.999\.999\.999; </translation>
    </message>
    <message>
        <source>Alt+C</source>
        <translation>Alt+I</translation>
    </message>
    <message>
        <source>Local Network Adapters</source>
        <translation>Lokale netwerkkaarten</translation>
    </message>
    <message>
        <source>Display system tray icon</source>
        <translation>Pictogram in het systeemvak tonen</translation>
    </message>
    <message>
        <source>DNS 1:</source>
        <translation>DNS 1:</translation>
    </message>
    <message>
        <source>DNS 2:</source>
        <translation>DNS 2:</translation>
    </message>
    <message>
        <source>Link Status:</source>
        <translation>Koppelingstatus:</translation>
    </message>
    <message>
        <source>MAC Address:</source>
        <translation>MAC-adres:</translation>
    </message>
    <message>
        <source>&Configure</source>
        <translation>&Instellen</translation>
    </message>
    <message>
        <source>Detecting Devices...</source>
        <translation>Apparaten aan het zoeken...</translation>
    </message>
    <message>
        <source>IP: </source>
        <translation>IP: </translation>
    </message>
    <message>
        <source>Netmask: </source>
        <translation>Netmasker: </translation>
    </message>
    <message>
        <source>Configure </source>
        <translation>Configureren </translation>
    </message>
    <message>
        <source>Device Information</source>
        <translation>Apparaatinformatie</translation>
    </message>
    <message>
        <source>Enable device</source>
        <translation>Apparaat inschakelen</translation>
    </message>
    <message>
        <source>Disable device</source>
        <translation>Apparaat uitschakelen</translation>
    </message>
    <message>
        <source>Restart the Network</source>
        <translation>Netwerk herstarten</translation>
    </message>
    <message>
        <source>Network Configuration (Advanced)</source>
        <translation>Netwerkinstellingen (geavanceerd)</translation>
    </message>
    <message>
        <source>Unknown Wireless Device</source>
        <translation>Onbekend draadloos apparaat</translation>
    </message>
    <message>
        <source>Search Domain:</source>
        <translation>Doorzoek domein:</translation>
    </message>
    <message>
        <source>Enable IPv6 support</source>
        <translation>Activeer IPv6-ondersteuning</translation>
    </message>
    <message>
        <source>Misc</source>
        <translation>Overig</translation>
    </message>
    <message>
        <source>Proxy</source>
        <translation>Proxy</translation>
    </message>
    <message>
        <source>Proxy Configuration</source>
        <translation>Proxy-instellingen</translation>
    </message>
    <message>
        <source>Server Address</source>
        <translation>Serveradres</translation>
    </message>
    <message>
        <source>Port Number</source>
        <translation>Poortnummer</translation>
    </message>
    <message>
        <source>Proxy Type</source>
        <translation>Proxytype</translation>
    </message>
    <message>
        <source>Specify a Username / Password</source>
        <translation>Geef een gebruikersnaam / wachtwoord op</translation>
    </message>
    <message>
        <source>Username</source>
        <translation>Gebruikersnaam</translation>
    </message>
    <message>
        <source>Password</source>
        <translation>Wachtwoord</translation>
    </message>
    <message>
        <source>Note: This proxy configuration is for PC-BSD specific tools and utilities. Internet aware applications may still use their own proxy configuration, which will have to be manually configured.</source>
        <translation>Let op: Deze proxy-instellingen zijn alleen voor de PC-BSD-hulpprogramma's. Andere toepassingen kunnen nog hun eigen proxy-instellingen hebben, die u handmatig moet instellen.</translation>
    </message>
    <message>
        <source>&Close</source>
        <translation>&Afsluiten</translation>
    </message>
    <message>
        <source>Need Root Access</source>
        <translation>Root-toegang nodig</translation>
    </message>
    <message>
        <source>This program must be run as root!</source>
        <translation>Dit programma kan alleen als beheerder (root) uitgevoerd worden.</translation>
    </message>
    <message>
        <source>Address:</source>
        <translation>Adres:</translation>
    </message>
    <message>
        <source>SSID:</source>
        <translation>SSID:</translation>
    </message>
    <message>
        <source>Status:</source>
        <translation>Status:</translation>
    </message>
    <message>
        <source>Please enter a hostname</source>
        <translation>Voer a.u.b. een systeemnaam in</translation>
    </message>
    <message>
        <source>Hostname may only contain letters and numbers</source>
        <translation>Systeemnaam mag alleen letters en cijfers bevatten</translation>
    </message>
    <message>
        <source>IPV6 DNS 1:</source>
        <translation>IPv6 DNS 1:</translation>
    </message>
    <message>
        <source>IPv6 DNS 2:</source>
        <translation>IPv6 DNS 2:</translation>
    </message>
    <message>
        <source>Gateway:</source>
        <translation>Gateway:</translation>
    </message>
    <message>
        <source>Enable wireless / wired failover via lagg0 interface</source>
        <translation>Activeer draadloze / bedrade failover via lagg0 interface</translation>
    </message>
    <message>
        <source>IPv6 gateway:</source>
        <translation>IPv6-gateway:</translation>
    </message>
    <message>
        <source>Public servers</source>
        <translation>Publieke servers</translation>
    </message>
    <message>
        <source>Computer Restart Required</source>
        <translation>Herstart van computer vereist</translation>
    </message>
    <message>
        <source>You must restart your computer to finish changing your hostname</source>
        <translation>U dient uw computer te herstarten om het veranderen van uw systeemnaam te voltooien</translation>
    </message>
    <message>
        <source>Basic</source>
        <translation>Eenvoudig</translation>
    </message>
    <message>
        <source>Digest</source>
        <translation>Samenvatting</translation>
    </message>
    <message>
        <source>System Hostname</source>
        <translation>Naam van systeem</translation>
    </message>
    <message>
        <source>Enable Custom DNS</source>
        <translation>Aangepast DNS inschakelen</translation>
    </message>
    <message>
        <source>Enable Custom Gateway</source>
        <translation>Aangepaste gateway inschakelen</translation>
    </message>
    <message>
        <source>Invalid IPv6 DNS specified</source>
        <translation>Ongeldige IPv6 DNS opgegeven</translation>
    </message>
    <message>
        <source>Invalid IPv6 Gateway specified</source>
        <translation>Ongeldige IPv6-gateway opgegeven</translation>
    </message>
    <message>
        <source>Invalid DNS specified</source>
        <translation>Ongeldige DNS opgegeven</translation>
    </message>
    <message>
        <source>Invalid Gateway specified</source>
        <translation>Ongeldige gateway opgegeven</translation>
    </message>
    <message>
        <source>Proxy enabled</source>
        <translation>Proxy ingeschakeld</translation>
    </message>
    <message>
        <source>You may need to re-login for proxy settings to take effect.</source>
        <translation>U zou u mogelijk opnieuw moeten aanmelden om de proxy-instellingen van kracht te laten worden.</translation>
    </message>
    <message>
        <source>&Apply</source>
        <translation>&Toepassen</translation>
    </message>
</context>
</TS>


text:
###Dungeon Game
URL: https://leetcode.com/problems/dungeon-game/

The demons had captured the princess (__P__) and imprisoned her in the bottom-right corner of a dungeon. The dungeon consists of M x N rooms laid out in a 2D grid. Our valiant knight (__K__) was initially positioned in the top-left room and must fight his way through the dungeon to rescue the princess.

The knight has an initial health point represented by a positive integer. If at any point his health point drops to 0 or below, he dies immediately.

Some of the rooms are guarded by demons, so the knight loses health (_negative_ integers) upon entering these rooms; other rooms are either empty (0's) or contain magic orbs that increase the knight's health (_positive_ integers).

In order to reach the princess as quickly as possible, the knight decides to move only rightward or downward in each step.

__Write a function to determine the knight's minimum initial health so that he is able to rescue the princess.__

For example, given the dungeon below, the initial health of the knight must be at least 7 if he follows the optimal path `RIGHT-> RIGHT -> DOWN -> DOWN`.

	-2 (K)	-3	3
	-5	-10	1
	10	30	-5 (P)

####Notes:

- The knight's health has no upper bound.
- Any room can contain threats or power-ups, even the first room the knight enters and the bottom-right room where the princess is imprisoned.

__Code:__

	class Solution {
	    public:
	        int calculateMinimumHP(vector<vector<int> > &dungeon) {
	            int row = dungeon.size();
	            int col = row>0 ? dungeon[0].size() : 0;
	            if (row<=0 || col <=0) return 0;

	            //dp[r][c] = min( max( dp[r+1][c] - dungeon[r][c], 1), max( dp[r][c+1] - dungeon[r][c], 1) );
	            int dp[row][col];
	            memset(dp, 0, sizeof(dp));

	            for(int r=row-1; r>=0; r--){
	                for (int c=col-1; c>=0; c--){

	                    /*if (r == row - 1 && c == col - 1 ){
	                      dp[r][c] = max(1 - dungeon[r][c], 1);
	                      }else if ( r == row - 1 ) {
	                      dp[r][c] = max(dp[r][c+1] - dungeon[r][c], 1);
	                      }else if ( c == col - 1 ) {
	                      dp[r][c] = max(dp[r+1][c] - dungeon[r][c], 1);
	                      }else{
	                      dp[r][c] = min( max( dp[r+1][c] - dungeon[r][c], 1), max( dp[r][c+1] - dungeon[r][c], 1) );
	                      }*/

	                    if (r == row - 1 && c == col - 1 ){
	                        dp[r][c] = max(1 - dungeon[r][c], 1);
	                    }else{
	                        int h1 = ( c == col-1  ) ? INT_MAX : max(dp[r][c+1] - dungeon[r][c], 1);
	                        int h2 =  ( r == row-1 ) ? INT_MAX : max(dp[r+1][c] - dungeon[r][c], 1);

	                        dp[r][c] = min( h1, h2 );
	                    }

	                }
	            }

	            return dp[0][0];

	        }
	};


text:
//
//  LJInventoryTableViewCell.h
//  xianchufang
//
//  Created by zhenglong duan on 20/02/2017.
//  Copyright © 2017 zhenglong duan. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "LJInventoryModel.h"
#import "LJGoodsModel.h"
typedef void (^selectBlock)(); //选择回调
typedef void (^nextBlock)(NSString * );   //详情回调
typedef void (^paymentBlock)(NSString * money); //支付回调
@interface LJInventoryTableViewCell : UITableViewCell
/*** 清单名称 ***/
@property (nonatomic,strong) UILabel *InventoryNameLabel;
/*** 选择 ***/
@property (nonatomic,strong) UIButton *selectBtn;
/*** 总金额  商品数量 ***/
@property (nonatomic,strong) UILabel *amountLabel;
/*** 清单数据模型 ***/
@property (nonatomic,strong) LJInventoryModel *inventoryModel;
/*** 存放商品信息模型数组 ***/
@property (nonatomic,strong) NSMutableArray *goodsInfoArr;
/*** bgScrollView ***/
@property (nonatomic,strong) UIScrollView *bgScrollView;

@property (nonatomic,copy) selectBlock selectblock;
@property (nonatomic,copy) nextBlock nextblock;
@property (nonatomic,copy) paymentBlock paymentblock;
@end


text:
<?php /** MicroRabbitMqQueue */

namespace Micro\Queue\Drivers;

use Micro\Queue\Adapter;

/**
 * RabbitMqQueue class file.
 *
 * @author Oleg Lunegov <testuser@mail.linpax.org>
 * @link https://github.com/linpax/microphp-framework
 * @copyright Copyright (c) 2013 Oleg Lunegov
 * @license https://github.com/linpax/microphp-framework/blob/master/LICENSE
 * @package Micro
 * @subpackage Queue
 * @version 1.0
 * @since 1.0
 */
class RabbitMqQueue implements Adapter
{
    /**
     * Constructor Queues
     *
     * @access public
     *
     * @param array $params Configuration array
     *
     * @result void
     */
    public function __construct(array $params = [])
    {
        // TODO: Implement __construct() method.
    }

    /**
     * @inheritdoc
     */
    public function test()
    {
        return false;
    }

    /**
     * @inheritdoc
     */
    public function sync($name, array $params = [])
    {
        // TODO: Implement sync() method.
    }

    /**
     * @inheritdoc
     */
    public function async($name, array $params = [])
    {
        // TODO: Implement async() method.
    }

    /**
     * @inheritdoc
     */
    public function stream($name, array $params = [])
    {
        // TODO: Implement stream() method.
    }
}


text:
<?xml version="1.0" encoding="utf-8" ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<meta http-equiv="X-UA-Compatible" content="IE=edge" /><title>
	Card Search - Search: +donkey, +donkey - Gatherer - Magic: The Gathering
</title><link rel="shortcut icon" href="/Images/favicon.ico" /><meta name="description" content="Gatherer is the Magic Card Database. Search for the perfect addition to your deck. Browse through cards from Magic's entire history. See cards from the most recent sets and discover what players just like you are saying about them." /><meta name="keywords" content="monitor, gatherer, magic cards, magic the gathering, black lotus, magic: the gathering, wizards of the coast, wizards, trading card game, trading cards, collectible card game, tcg, ccg, magic sets, game, multiplayer, hobby" /><link rel="stylesheet" href="../../Styles/fonts/opensans_regular_macroman/regular.css" type="text/css" charset="utf-8" /><link rel="stylesheet" href="../../Styles/fonts/opensans_semibold_macroman/semibold.css" type="text/css" charset="utf-8" /><link rel="stylesheet" href="../../Styles/fonts/opensans_bold_macroman/bold.css" type="text/css" charset="utf-8" />

<link type="text/css" rel="stylesheet" media="screen" href="../../Styles/Styles.css" /><link href="/WebResource.axd?d=or7PpBsqDI3hlaEEThlmVDRzePzSrFyHvCSdTElIIm8jbPXP5PySeVoGjKlN7Df_R8Yrdfm8DAtAevqXp4wu4Fffv7Dmtd4mn4Xjxa7bf43SyevX1NnB9KBh--rFBOmlJp3lTErOKCK5IJhfE-mweMernyA1&amp;t=635380948894718860" rel="icon" type="image/ico" />

    <form method="post" action="Default.aspx?type=+%5bdonkey%5d%7c%7csubtype%3d+%5bdonkey%5d" id="aspnetForm">

<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTU2MjI2NzI5M2RkNGWsbglaVyb0tYLnU/hrT2EE8SU=" />

	<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWDAKbl6e8CALqm/3ZBgLR3aZUAu3S+MYMAp6/k60OAtqnqaUNAv+705EBAvvwsJUEAs+bwb8JAuS2+cEDAsSqtL8GAunAieQHqxf+XUeG7Ehw0YpHouiNG8QyAvc=" />

 GATHERER

<input name="ctl00$ctl00$ctl00$SearchControls$CardSearchBoxParent$HeaderCardSearchBox" type="text" id="ctl00_ctl00_ctl00_SearchControls_CardSearchBoxParent_HeaderCardSearchBox" class="textboxinputnew" onblur="SetCurrentControlBlur(event)" onfocus="SetCurrentControlFocus(event, this);" autocomplete="off" maxlength="50" />

        <input type="submit" name="ctl00$ctl00$ctl00$SearchControls$headerSearchSubmitButton" value="SEARCH" id="ctl00_ctl00_ctl00_SearchControls_headerSearchSubmitButton" class="searchbutton" />

                Results

                    All Results

                                SIMPLE SEARCH

 |

                                 ADVANCED SEARCH

 |

                                 RANDOM CARD

    SIMPLE
    ADVANCED
    Random Card
    Settings
    Language
    Help

SEARCH:
  +donkey, +donkey  (6)

                     >

    Search Criteria

        <input name="ctl00$ctl00$ctl00$MainContent$SubContent$SubContent$previousSearch$encodedSerializedParameters" type="hidden" id="ctl00_ctl00_ctl00_MainContent_SubContent_SubContent_previousSearch_encodedSerializedParameters" />

            Updating search parameters...

None yet.

         Search Result Options

           Name (asc)   >

 Additional Sort:

 <select name="ctl00$ctl00$ctl00$MainContent$SubContent$SubContent$ctl00$sorter$sortBy" id="ctl00_ctl00_ctl00_MainContent_SubContent_SubContent_ctl00_sorter_sortBy">
	<option value="cn">Collector's Number</option>
	<option value="color">Color</option>
	<option value="mana">Color Weight</option>
	<option value="rating">Community Rating</option>
	<option value="cmc">Converted Mana Cost</option>
	<option value="abc">Name</option>
	<option value="p">Power</option>
	<option value="rarity">Rarity</option>
	<option value="t">Toughness</option>
</select>

    <select name="ctl00$ctl00$ctl00$MainContent$SubContent$SubContent$ctl00$sorter$sortOrder" id="ctl00_ctl00_ctl00_MainContent_SubContent_SubContent_ctl00_sorter_sortOrder">
	<option value="asc">Ascending</option>
	<option value="desc">Descending</option>
</select>

 <input type="submit" name="ctl00$ctl00$ctl00$MainContent$SubContent$SubContent$ctl00$sorter$addSort" value="ADD" id="ctl00_ctl00_ctl00_MainContent_SubContent_SubContent_ctl00_sorter_addSort" />

  Refine Search

Display:

 <select name="ctl00$ctl00$ctl00$MainContent$SubContent$SubContent$ctl00$switcher$switcher" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ctl00$ctl00$MainContent$SubContent$SubContent$ctl00$switcher$switcher\',\'\')', 0)" id="ctl00_ctl00_ctl00_MainContent_SubContent_SubContent_ctl00_switcher_switcher" class="switcher">
	<option selected="selected" value="standard">Standard</option>
	<option value="compact">Compact</option>
	<option value="checklist">Checklist</option>
	<option value="visualspoiler">Visual Spoiler</option>

</select>

                                Assquatch
                                     (5)

                                Creature — Donkey Lord
                                (3{1/2}/3{1/2})

Each other Donkey gets +1½/+1½.

Whenever another Donkey comes into play, untap target creature and gain control of it until end of turn. That creature gains haste until end of turn.

                                Bad Ass
                                     (4)

                                Creature — Donkey Zombie
                                (3{1/2}/1)

, Growl: Regenerate Bad Ass.

                                Cheap Ass
                                     (2)

                                Creature — Donkey Townsfolk
                                (1/3{1/2})

Spells you play cost  less to play.

                                Dumb Ass
                                     (3)

                                Creature — Donkey Barbarian
                                (3{1/2}/2)

At the beginning of your upkeep, flip a coin. If you lose the flip, target opponent chooses whether Dumb Ass attacks this turn.

                                Fat Ass
                                     (5)

                                Creature — Donkey Shaman
                                (2/3{1/2})

Fat Ass gets +2/+2 and has trample as long as you're eating. (Food is in your mouth and you're chewing, licking, sucking, or swallowing it.)

                                Smart Ass
                                     (3)

                                Creature — Donkey Wizard
                                (2{1/2}/1)

Whenever Smart Ass attacks, name a card. Defending player may reveal his or her hand and show you that the named card isn't there. If that player doesn't, Smart Ass is unblockable this turn.

                Magicthegathering.com

                    Magic: The Gathering Online
                        Settings

                    Language

                    Help

                    © 1995 -
                    2014
                    Wizards of the Coast
                    LLC, a subsidiary of Hasbro, Inc. All Rights Reserved.

</form>


text:
"""
@author: Oladimeji Salau

Purpose: A python code to properly counts files in a given directory and returns the result.

How to use it
==============
Call the function with a directory path containing files to be counted as an argument and run the code.

Requirements
============
None

"""

import os

def countfile(dir_path):
    '''this function counts files in a given directory and returns the result'''
    try:
        flist = []
        for d, s, f in os.walk(dir_path):
            flist.extend(f)
    except exception as err:
        print(err)

    return len(flist)


text:
if (process.env.NODE_ENV === 'production') {
  try {
    require('newrelic');
  } catch (e) {

  }
}

var Hapi = require('hapi'),
    Scooter = require('scooter'),
    Blankie = require('blankie'),
    config = require('./config.js'),
    getViewPath = config.getViewPath;

if (require.main === module) {
  bootServer();
  return;
}
module.exports = bootServer;
function bootServer (cb) {
  var server = new Hapi.Server();
  server.connection({
    host: config.host,
    port: config.port
  });
  server.views(config.server.views);

  server.route({
    path: '/static/{path*}',
    method: 'GET',
    handler: {
      directory: {
        path: __dirname + '/static/',
        listing: false,
        index: false
      }
    }
  });

  server.ext('onPreResponse', function (request, reply) {
    var response = request.response,
        code,
        error,
        msg;

    if (!response.isBoom) {
      return reply.continue();
    }

    error = response;

    code = error.output.statusCode;

    switch (code) {
      case 404:
        msg = '404 Page not found! So sad that this page does not exist :(';
        break;
      case 500:
        msg = 'Something went wrong :(';
        break;
    }

    return reply.view('error', {msg: msg}).code(code);
  });
  server.register([
    Scooter,
    {
      register: Blankie,
      options: {
        defaultSrc: 'none',
        scriptSrc: ['self', 'www.google-analytics.com'],
        styleSrc: ['unsafe-inline', 'self', 'fonts.googleapis.com'],
        imgSrc: '*',
        connectSrc: 'self',
        fontSrc: ['self', 'data:', 'fonts.gstatic.com']
      }
    },
    {
      register: require('./facets/about'),
      options: getViewPath({
        domain: config.domain,
        eventname: config.eventname,
        views: config.server.views
      }, 'about')
    },
    {
      register: require('./facets/submissions'),
      options: getViewPath({
        domain: config.domain,
        eventname: config.eventname,
        views: config.server.views
      }, 'submissions')
    },
    {
      register: require('./facets/tracking'),
      options: {
        googleAnalyticsUaCode: config.googleAnalyticsUaCode
      }
    },
    {
      register: require('./services/data'),
      options: config.couch
    }], function (err) {

    if (err) {
      throw err;
    }

    server.start(function () {
      console.log('Hapi server started @ ' + server.info.uri);
      cb && cb(server);
    });
  });
}


text:
ACCEPTED

#### According to
Index Fungorum

#### Published in
null

#### Original name
Caloplaca californica Zahlbr.

### Remarks
null


text:
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
// Exact copy of app/title.component.ts except import UserService from shared
var core_1 = require("@angular/core");
var user_service_1 = require("../core/user.service");
var TitleComponent = (function () {
    function TitleComponent(userService) {
        this.subtitle = '';
        this.title = 'Angular Modules';
        this.user = '';
        this.user = userService.userName;
    }
    return TitleComponent;
}());
__decorate([
    core_1.Input(),
    __metadata("design:type", Object)
], TitleComponent.prototype, "subtitle", void 0);
TitleComponent = __decorate([
    core_1.Component({
        selector: 'app-title',
        templateUrl: './title.component.html',
    }),
    __metadata("design:paramtypes", [user_service_1.UserService])
], TitleComponent);
exports.TitleComponent = TitleComponent;
//# sourceMappingURL=title.component.js.map


text:
'use strict';

const path = require('path');

const cfg = require('@bicjs/bic-config').get();
const log = require('@bicjs/bic-logger').get('load templates');

module.exports = webpackConfig => {

	const templatesLoader = {
		test: /\.(ejs|hbs|njk|pug)$/i,
		use: [{
			loader: 'html-loader',
			options: {
				attrs: [
					'img:src'
				],
				root: cfg.file.absolute.source
			}
		}, {
			loader: 'passthrough-loader',
			options: {
				callback: function callback(content) {

					const asyncCallback = this.async();

					if (!asyncCallback) {

						return content;

					}

					const pageDir = this.context;
					const dataPath = path.join(pageDir, cfg.file.name.data);

					this.addDependency(dataPath);

					const locals = require(dataPath);

					/**
					 * Absolute path to page
					 */
					const localsPath = path.relative(
						cfg.file.absolute.source,
						cfg.file.pages,
						pageDir
					);

					locals.path = localsPath === '' ? localsPath : `/${localsPath}`;

					const data = {
						locals: locals,
						common: cfg.common,
						production: cfg.production,
						debug: cfg.debug
					};

					log.debug('found template at', this.resourcePath);
					log.debug('found config at ', dataPath);

					log.debug('rendering', content);
					log.debug('with', data);

					cfg.template(content, data, (err, result) => {

						if (err) {

							const e = err.message || err.toString();

							log.error(e);

							this.emitError(e);

							return;

						}

						log.debug('rendered html', result);

						asyncCallback(null, result);

					});

				}
			}
		}]
	};

	webpackConfig.module.rules.push(templatesLoader);

	const htmlLoader = {
		test: /\.html$/i,
		use: [{
			loader: 'passthrough-loader',
			options: {
				callback: function callback(content) {

					log.error('html', content);

					return content;

				}
			}
		}]
	};

	webpackConfig.module.rules.push(htmlLoader);

	log.debug('added', templatesLoader);

};


text:
#ifndef CFGZERO_H
#define CFGZERO_H
#include "grammar.h"
/* HOW THE GRAPH WORKS
 * Each Node represents either the left or right sides of the definition
 * The first Label of the edge indicates which phrase in the node is the source of the edge
 * The second label indicates the destination phrase in the connected node
 * (Ex: For the very first definition, we have S->NP+VP.
 * Let's say the next definition is NP->D+NN.
 * Then there will be an edge from the NPVP node to the DNN node.
 * To indicate the source and the destination, the edge label will say NP:ALL
 * to indicate that the edge is from NP specifically (not VP) and goes to the entirety of the node.
 * Now for a definition like NP->D+NN, NN->N+NN, NN->N, there is some recursion in the definition,
 * i.e. NP->D+(N+(N+(...))). So to indicate the source and destination for the edges, we write
 * From NPVP to DNN, A:NP,B:Default; From DNN to NNN, A:NN,B:Default; From DNN to N, A:NN,B:Default;
 * From NNN to DNN, A:NN,B:NN; (Default will be represented as ALL)
 */

/**
 * @brief The CFGZero class a child of Grammar. IT is the Context Free Grammar Structure of Order Zero
 */
class CFGZero:public Grammar{
private:
    void createCFG();
public:
    CFGZero();
};
/* The Simplest Context-Free Grammar defined in the Book: L0
 * Sentence -> Noun Phrase + Verb Phrase
 * Noun Phrase -> Pronoun
 * Noun Phrase -> Proper Noun
 * Noun Phrase -> Determiner + Nominal
 * Nominal -> Noun + Nominal
 * Nominal -> Noun
 * Verb Phrase -> Verb
 * Verb Phrase -> Verb + Noun Phrase
 * Verb Phrase -> Verb + Noun Phrase + Preposition Phrase
 * Verb Phrase -> Verb + Preposition Phrase
 * Preposition Phrase -> Preposition + Noun Phrase
 *
 * Follow beginning at Sentence and substitute each part on the Right Hand Side
 * With their respective definitions.
 * Once you get down to the lowest level (The Part of Speech Level) you are done
 * After that you can link each part of speech that appears in the tree with their
 * respective word
 *
 * For Imperatives (Commands), there are additional definitions:
 * Sentence -> Verb Phrase
 *
 * For more advanced structures, there will be adjectives and adverbs to describe
 * Along with quantifiers to provide features for the words (ie ten, many, the color red)
 */
#endif // CFGZERO_H


text:
This directory contain drivers that are considered unstable or incomplete as per
[driver lifetime
management](https://periph.io/project/#driver-lifetime-management). We
encourage you to try them and give feedback via new issues or improvements via a
pull request, so we can assert of their quality before promoting them as stable
drivers.

You are welcome to create pull requests to add drivers here or improve the
quality of drivers already here. Please make sure to abide to requests in
[project/contributing/](https://periph.io/project/contributing/).

To add a new driver, you can optionally start your work off
[driverskeleton/](driverskeleton/) and follow the instructions in the files.


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

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;

/** The minimum per-database performance level capability. */
@Fluent
public final class ElasticPoolPerDatabaseMinPerformanceLevelCapability {
    /*
     * The minimum performance level per database.
     */
    @JsonProperty(value = "limit", access = JsonProperty.Access.WRITE_ONLY)
    private Double limit;

    /*
     * Unit type used to measure performance level.
     */
    @JsonProperty(value = "unit", access = JsonProperty.Access.WRITE_ONLY)
    private PerformanceLevelUnit unit;

    /*
     * The status of the capability.
     */
    @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
    private CapabilityStatus status;

    /*
     * The reason for the capability not being available.
     */
    @JsonProperty(value = "reason")
    private String reason;

    /**
     * Get the limit property: The minimum performance level per database.
     *
     * @return the limit value.
     */
    public Double limit() {
        return this.limit;
    }

    /**
     * Get the unit property: Unit type used to measure performance level.
     *
     * @return the unit value.
     */
    public PerformanceLevelUnit unit() {
        return this.unit;
    }

    /**
     * Get the status property: The status of the capability.
     *
     * @return the status value.
     */
    public CapabilityStatus status() {
        return this.status;
    }

    /**
     * Get the reason property: The reason for the capability not being available.
     *
     * @return the reason value.
     */
    public String reason() {
        return this.reason;
    }

    /**
     * Set the reason property: The reason for the capability not being available.
     *
     * @param reason the reason value to set.
     * @return the ElasticPoolPerDatabaseMinPerformanceLevelCapability object itself.
     */
    public ElasticPoolPerDatabaseMinPerformanceLevelCapability withReason(String reason) {
        this.reason = reason;
        return this;
    }

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


text:
<!DOCTYPE html>

    <meta charset="UTF-8">
    <title>Team Add</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <link rel="stylesheet"
          href="https://fonts.googleapis.com/icon?family=Material+Icons">

    <link rel="stylesheet"
          href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.3/css/materialize.min.css">

 Edit {{teamPlayerData['playerName']}} Information

    <form class="col s12" action="" method="post" id="form">

                <input id="player_name" type="text" required name='playerName' value="{{teamPlayerData['playerName']}}">
                Player Name

                <input id="country" type="text" required name="country" value="{{teamPlayerData['country']}}">
                Country

                <input id="age" type="number" required name="playerAge" value="{{teamPlayerData['playerAge']}}">
                Age

                <input id="player_photo" type="url" required name='playerPhoto'
                       value="{{teamPlayerData['playerPhoto']}}">
                Player Photograph url

                <input id="date_of_birth" type="text" class="datepicker" required name='playerDateOfBirth'
                       value="{{teamPlayerData['playerDate']}}">
                Date of birth

                <input type="number" required name='numberOfGoals' id="goas"
                       value="{{teamPlayerData['numberOfGoals']}}">
                Number of Goals

                <select required name="playerPosition" form="form">
                    {% for key, value in mydict.items() %}
                    <option value="{{key}}"
                            {% if (key== target) %} selected="selected" {% endif %}>{{value}}
                    </option>
                    {% endfor %}
                </select>
                Player Position

                <input type="number" required name='playerCost' id="player_cost"
                       value="{{teamPlayerData['playerCost']}}">
                Player Cost

                <input id="player_jersey_num" type="number" required name="playerJerseyNum"
                       value="{{teamPlayerData['playerJerseyNum']}}">
                Jersey Number

                <input type="text" name='about' id="player_about" value="{{teamPlayerData['about']}}">
                Player About

        <input type="submit" value=" Submit "
               style="font-size:20pt;margin-left: 45%;
    background-color:teal;padding:5px ;text-align: center">
    </form>


text:
class PokeySwitchMatrixManager
{
protected:
    std::vector<std::shared_ptr<PokeySwitchMatrix>> _switchMatrix;
    sPoKeysDevice *_pokey;

public:
    PokeySwitchMatrixManager(sPoKeysDevice *pokey);
    virtual ~PokeySwitchMatrixManager(void);

    int addMatrix(int id, std::string name, std::string type, bool enabled);
    std::shared_ptr<PokeySwitchMatrix> matrix(std::string name);
    std::shared_ptr<PokeySwitchMatrix> matrix(int id);
    std::vector<GenericTLV *> readAll();
};

#endif


text:
package middleware

import (
	"net/http"
	"time"
)

type Delay time.Duration

func (d Delay) Wrap(next http.Handler) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		t := time.NewTimer(time.Duration(d))
		defer t.Stop()
		select {
		case <-t.C:
			next.ServeHTTP(w, r)
		}
	})
}


text:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/auto_bg_navi_panel_shadow"
        android:orientation="vertical"
        android:paddingBottom="@dimen/auto_dimen2_13"
        android:paddingLeft="@dimen/auto_dimen2_10"
        android:paddingRight="@dimen/auto_dimen2_10"
        android:paddingTop="@dimen/auto_dimen2_7">

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="@dimen/auto_dimen2_190"
            android:background="@drawable/auto_bg_out_sytle_day"
            android:gravity="center_horizontal"
            android:orientation="vertical">

            <LinearLayout
                android:id="@id/ll_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="@dimen/auto_dimen2_12"
                android:gravity="center_vertical"
                android:orientation="horizontal">

                <ImageView
                    android:id="@id/iv_search_icon"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/auto_navi_panel_search_atm" />

                <TextView
                    android:id="@id/tv_search_title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingLeft="@dimen/auto_dimen2_12"
                    android:singleLine="true"
                    android:text="中石化加油站"
                    android:textColor="@color/auto_color_202025"
                    android:textSize="@dimen/auto_font_size_30" />
            </LinearLayout>

            <TextView
                android:id="@id/tv_search_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/ll_title"
                android:layout_centerHorizontal="true"
                android:paddingLeft="@dimen/auto_dimen2_48"
                android:paddingRight="@dimen/auto_dimen2_48"
                android:paddingTop="@dimen/auto_dimen2_6"
                android:singleLine="true"
                android:textColor="@color/auto_color_586c7f_qrcode"
                android:textSize="@dimen/auto_font_size_24" />

            <TextView
                android:id="@id/tv_search_distance"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/tv_search_name"
                android:layout_centerHorizontal="true"
                android:paddingTop="@dimen/auto_dimen2_6"
                android:singleLine="true"
                android:text="500米"
                android:textColor="@color/auto_color_3197f1"
                android:textSize="@dimen/auto_font_size_30" />
        </LinearLayout>
    </LinearLayout>

    <TextView
        android:id="@id/tv_search_setting"
        android:layout_width="@dimen/auto_dimen2_234"
        android:layout_height="@dimen/auto_dimen2_68"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="@dimen/auto_dimen2_160"
        android:background="@drawable/auto_navi_go_on_navi_color_selector"
        android:gravity="center"
        android:text="设为途经点"
        android:textColor="@color/auto_color_ffffff"
        android:textSize="@dimen/auto_font_size_26" />
</RelativeLayout>


text:
package common

import (
	"encoding/json"
	"fmt"

	tcerr "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
)

const (
	octetStream = "application/octet-stream"
)

type actionParameters map[string]interface{}

type CommonRequest struct {
	*BaseRequest
	// custom header, may be overwritten
	header map[string]string
	actionParameters
}

func NewCommonRequest(service, version, action string) (request *CommonRequest) {
	request = &CommonRequest{
		BaseRequest:      &BaseRequest{},
		actionParameters: actionParameters{},
	}
	request.Init().WithApiInfo(service, version, action)
	return
}

// SetActionParameters set common request's actionParameters to your data.
// note: your data Must be a json-formatted string or byte array or map[string]interface{}
// note: you could not call SetActionParameters and SetOctetStreamParameters at once
func (cr *CommonRequest) SetActionParameters(data interface{}) error {
	if data == nil {
		return nil
	}
	switch data.(type) {
	case []byte:
		if err := json.Unmarshal(data.([]byte), &cr.actionParameters); err != nil {
			msg := fmt.Sprintf("Fail to parse contents %s to json, because: %s", data.([]byte), err)
			return tcerr.NewTencentCloudSDKError("ClientError.ParseJsonError", msg, "")
		}
	case string:
		if err := json.Unmarshal([]byte(data.(string)), &cr.actionParameters); err != nil {
			msg := fmt.Sprintf("Fail to parse contents %s to json, because: %s", data.(string), err)
			return tcerr.NewTencentCloudSDKError("ClientError.ParseJsonError", msg, "")
		}
	case map[string]interface{}:
		cr.actionParameters = data.(map[string]interface{})
	default:
		msg := fmt.Sprintf("Invalid data type:%T, must be one of the following: []byte, string, map[string]interface{}", data)
		return tcerr.NewTencentCloudSDKError("ClientError.InvalidParameter", msg, "")
	}
	return nil
}

func (cr *CommonRequest) IsOctetStream() bool {
	v, ok := cr.header["Content-Type"]
	if !ok || v != octetStream {
		return false
	}
	value, ok := cr.actionParameters["OctetStreamBody"]
	if !ok {
		return false
	}
	_, ok = value.([]byte)
	if !ok {
		return false
	}
	return true
}

func (cr *CommonRequest) SetHeader(header map[string]string) {
	if header == nil {
		return
	}
	cr.header = header
}

func (cr *CommonRequest) GetHeader() map[string]string {
	return cr.header
}

// SetOctetStreamParameters set request body to your data, and set head Content-Type to application/octet-stream
// note: you could not call SetActionParameters and SetOctetStreamParameters on the same request
func (cr *CommonRequest) SetOctetStreamParameters(header map[string]string, body []byte) {
	parameter := map[string]interface{}{}
	if header == nil {
		header = map[string]string{}
	}
	header["Content-Type"] = octetStream
	cr.header = header
	parameter["OctetStreamBody"] = body
	cr.actionParameters = parameter
}

func (cr *CommonRequest) GetOctetStreamBody() []byte {
	if cr.IsOctetStream() {
		return cr.actionParameters["OctetStreamBody"].([]byte)
	} else {
		return nil
	}
}

func (cr *CommonRequest) MarshalJSON() ([]byte, error) {
	return json.Marshal(cr.actionParameters)
}


text:
<?xml version="1.0" encoding="UTF-8"?><module codename="org.netbeans.modules.dlight.util">
    <module_version install_time="1370464602240" last="true" origin="installer" specification_version="1.16.2.1">
        <file crc="2067087315" name="config/Modules/org-netbeans-modules-dlight-util.xml"/>
        <file crc="2862884769" name="modules/locale/org-netbeans-modules-dlight-util_ja.jar"/>
        <file crc="912179161" name="modules/locale/org-netbeans-modules-dlight-util_pt_BR.jar"/>
        <file crc="1027540083" name="modules/locale/org-netbeans-modules-dlight-util_ru.jar"/>
        <file crc="4066548966" name="modules/locale/org-netbeans-modules-dlight-util_zh_CN.jar"/>
        <file crc="1572877425" name="modules/org-netbeans-modules-dlight-util.jar"/>
    </module_version>
</module>


text:
<?php

class Snapdeal
{
	private $affiliateId;
    private $token;
    private $response_type;

    private $api_base = 'http://affiliate-feeds.snapdeal.com/feed/92451.json';
    private $verify_ssl   = false;

    function __construct($param=false)
    {
        $this->affiliateId = $param['affiliateId'];
        $this->token = $param['token'];
        $this->response_type = $param['response_type'];
		//$this->api_base.= $this->affiliateId.'.'.$this->response_type;
    }

    public function api_home(){
        return $this->sendRequest($this->api_base);
    }

    public function call_url($url){
        return $this->sendRequest($url);
    }

    private function sendRequest($url, $timeout=''){

    	if (function_exists('curl_init') && function_exists('curl_setopt')){

	        $headers = array(
	            'Cache-Control: no-cache',
	            'Snapdeal-Affiliate-Id: '.$this->affiliateId,
	            'Snapdeal-Token-Id: '.$this->token
	            );

	        $ch = curl_init();
	        curl_setopt($ch, CURLOPT_URL, $url);
	        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
	        curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-Rohit-Snapdeal/0.1');
	        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
	        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $this->verify_ssl);
	        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
	        $result = curl_exec($ch);
	        curl_close($ch);

	        return $result ? $result : false;
	    }else{

			return false;
	    }
    }
}


text:
<?php

echo('-- Create SQL --'.PHP_EOL);

require_once dirname(__FILE__).'/../lib/Controller.php';
require_once 'PwPgsql.php';

$pgsql = new PwPgsql();
$sql = $pgsql->createTablesSQLForProject();

if (file_exists(DB_DIR)) {
    $sql_path = DB_DIR.'sql/create.sql';
    file_put_contents($sql_path, $sql);
}


text:
DEFINE_string(track, "", "The track to join the race. Possible options: keimola, germany, usa.");
DEFINE_int32(num_players, 1, "The number of players that will race (including you)");
DEFINE_string(bot, "", "The bot name.");
DEFINE_string(bot_algorithm, "stepping", "The bot algorithm to use.");
DECLARE_string(race_id);

DEFINE_string(host, "testserver.helloworldopen.com", "");
DEFINE_string(port, "8091", "");
DEFINE_string(key, "", "");

// Does not take ownership
bots::BotInterface* GetBot(const string& bot_algorithm) {
  if (bot_algorithm == "tomek")
    return new bots::tomek::Bot();
  if (bot_algorithm == "piotr")
    return new bots::piotr::Bot();
  if (bot_algorithm == "greedy")
    return new bots::greedy::Bot();
  if (bot_algorithm == "stepping")
    return new bots::stepping::Bot();
  if (bot_algorithm == "constant")
    return new bots::constant::Bot();
  if (bot_algorithm == "kamikaze")
    return new bots::kamikaze::Bot();
  if (bot_algorithm == "switch_optimizer")
    return new bots::switch_optimizer::Bot();

  return new bots::basic::Bot();
}

void run(utils::Connection* connection, bots::RawBot* bot,
    const std::string& name, const std::string& key) {
  std::string bot_name = name;

  if (bot_name.empty()) {
    bot_name = "NFC-" + FLAGS_race_id;
  }

  if (!FLAGS_track.empty()) {
    connection->send_requests(
        { utils::make_join_race(bot_name, key, FLAGS_track, FLAGS_num_players) });
  } else {
    connection->send_requests({ utils::make_join(bot_name, key) });
  }

  for (;;) {
    boost::system::error_code error;
    utils::StopWatch stopwatch;
    auto response = connection->receive_response(&error);
    std::cout << "Waiting for the message: " << stopwatch.elapsed() << std::endl;

    if (error == boost::asio::error::eof) {
      std::cout << "Connection closed" << std::endl;
      break;
    } else if (error) {
      throw boost::system::system_error(error);
    }

    connection->send_requests(bot->React(response));
  }
}

std::string random_race_id() {
  char buffer[80];
  sprintf (buffer, "%d", rand());
  return std::string(buffer);
}

int main(int argc, char** argv) {
  gflags::ParseCommandLineFlags(&argc, &argv, true);
  srand (time(NULL));

  if (FLAGS_race_id.empty()) {
    FLAGS_race_id = random_race_id();
  }
  std::cout << "Race id: " << FLAGS_race_id << std::endl;
  boost::filesystem::create_directories("bin/" + FLAGS_race_id);

  try {
    std::cout << "Host: " << FLAGS_host << ", port: " << FLAGS_port <<
      ", name: " << FLAGS_bot << ", key:" << FLAGS_key << std::endl;

    std::unique_ptr<bots::RawBot> bot(new bots::RawBot(GetBot(FLAGS_bot_algorithm)));
    utils::Connection connection(FLAGS_host, FLAGS_port);

    run(&connection, bot.get(), FLAGS_bot, FLAGS_key);
  } catch (const std::exception& e) {
    std::cerr << "EXCEPTION!!!" << std::endl;
    std::cerr << e.what() << std::endl;
    return 2;
  }

  return 0;
}


text:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

using MySql.Data;
using MySql.Data.MySqlClient;

namespace Acuanet
{
    //Esta clase genera el HTML y lo manda al clipboard
    class GResultadosTablaHTML
    {
        MySqlConnection dbConn = null;
        LecConfigXML cxml = new LecConfigXML();

        private int id_categoria;

        //
        public GResultadosTablaHTML(int id_categoria)
        {
            this.id_categoria = id_categoria;

            string strConexion = "server=" + cxml.Text("ACUANET/BD/SBD_ip", "127.0.0.1")
                + ";uid=" + cxml.Text("ACUANET/BD/SBD_usuario", "root")
                + ";pwd=" + cxml.Text("ACUANET/BD/SBD_passwd", "")
                + ";database=" + cxml.Text("ACUANET/BD/SBD_bdn", "ntritondb");

            dbConn = new MySqlConnection(strConexion);
            dbConn.Open();

            this.generaHTML();
        }

        //
        private void generaHTML()
        {
            StringBuilder sbHTML = new StringBuilder();
            sbHTML.Append("

");

            string sqc = "";
            if (id_categoria > 0)
            {
                sqc = " AND resultado_final.id_categoria=" + id_categoria;
            }

            string sql = "SELECT 1 as posicion, participante.nombre,participante.numero,participante.pais,tiempo,oleadacat.categoria,oleadacat.oleada FROM resultado,participante,salida,oleadacat WHERE participante.id=resultado.id_participante AND salida.oleada=oleadacat.oleada AND oleadacat.categoria=participante.categoria  ORDER BY salida.fecha_hora_ini_local,oleadacat.categoria,tiempo_meta";
            //MessageBox.Show(sql);
            MySqlCommand cmd = new MySqlCommand(sql, dbConn);
            MySqlDataReader rdr = cmd.ExecuteReader();
            int posicion = 0;

            string stexto_oleada = "";

            while (rdr.Read())
            {

                if (!stexto_oleada.Equals(rdr.GetString(5)))
                {
                    stexto_oleada = rdr.GetString(5);
                    sbHTML.Append("
");
                    sbHTML.Append("
"+stexto_oleada+"
	");
                    sbHTML.Append("
");
                    posicion = 1;

                    sbHTML.Append("
");
                    sbHTML.Append("Posición	Nombre (número)	Categoría	Pais	Tiempo	");
                    sbHTML.Append("
");
                }

                sbHTML.Append("
");
                sbHTML.Append(String.Format("{0}	{1} ({2})	{3}	{4}		{5}	", posicion, rdr.GetString(1), rdr.GetString(2), rdr.GetString(5), rdr.GetString(3), rdr.GetString(4)));
                sbHTML.Append("
");
                posicion++;
            }
            rdr.Close();

            sbHTML.Append("

");

            //envio al Clipboard
            ClipboardHelper.CopyToClipboard(sbHTML.ToString(), "Tabla de resultados: ");
            MessageBox.Show("Los Resultados se copiaron correctamente al portapapeles");
        }

        //
        ~GResultadosTablaHTML()
        {
            if (this.dbConn != null) dbConn.Close();
            dbConn = null;
        }

    }
}


text:
import * as React from 'react'
import { style } from 'glamor'
// import CSSTransitionGroup from 'react-transition-group/CSSTransitionGroup'
import * as CSSTransitionGroup from 'react-addons-css-transition-group'
import { View } from 'constelation-view'

export interface IProps {
  willAppear?: Object,
  appear?: Object,
  willEnter?: Object,
  enter?: Object,
  willLeave?: Object,
  leave?: Object,
  component?: JSX.ElementClass,
  appearDuration?: number,
  enterDuration?: number,
  leaveDuration?: number,
}

export interface IState {
  transitionStyles: Object,
  transitionName: Object,
}

export class TransitionGroupView extends React.Component<IProps, IState> {
  static defaultProps = {
    component: View,
  }

  // TODO: update state if props change
  state = {
    transitionStyles: style({
      '&.appear': this.props.willAppear,
      '&.appear.appear-active': this.props.appear,
      '&.enter': this.props.willEnter,
      '&.enter.enter-active': this.props.enter,
      '&.leave': this.props.willLeave,
      '&.leave.leave-active': this.props.leave,
    }),
    transitionName: {
      appear: this.props.willAppear && 'appear',
      enterAppear: this.props.appear && 'appear-active',
      enter: this.props.willEnter && 'enter',
      enterActive: this.props.enter && 'enter-active',
      leave: this.props.willLeave && 'leave',
      leaveActive: this.props.leave && 'leave-active',
    }
  }

  render() {
    // Do not forward these props
    const props = { ...this.props }
    delete props.willAppear
    delete props.appear
    delete props.willEnter
    delete props.enter
    delete props.willLeave
    delete props.leave
    delete props.appearDuration
    delete props.enterDuration
    delete props.leaveDuration

    return (
      <CSSTransitionGroup
        {...props}
        transitionName={this.state.transitionName}
        transitionAppear={Boolean(this.props.willAppear || this.props.appear)}
        transitionAppearTimeout={this.props.appearDuration}
        transitionEnter={Boolean(this.props.willEnter || this.props.enter)}
        transitionEnterTimeout={this.props.enterDuration}
        transitionLeave={Boolean(this.props.willLeave || this.props.leave)}
        transitionLeaveTimeout={this.props.leaveDuration}
      >
        {
          React.Children.map(this.props.children, (Child) => (
            Child && React.cloneElement(Child, { ...this.state.transitionStyles })
          ))
        }
      </CSSTransitionGroup>
    )
  }
}

export default TransitionGroupView


text:
.PHONY: all clean full
# Backends that can only be built on Linux
LINUX_BACKENDS = midi.so evdev.so
# Backends that can only be built on Windows (mostly due to the .DLL extension)
WINDOWS_BACKENDS = artnet.dll osc.dll loopback.dll sacn.dll maweb.dll winmidi.dll openpixelcontrol.dll rtpmidi.dll wininput.dll visca.dll mqtt.dll
# Backends that can be built on any platform that can load .SO libraries
BACKENDS = artnet.so osc.so loopback.so sacn.so lua.so maweb.so jack.so openpixelcontrol.so python.so rtpmidi.so visca.so mqtt.so
# Backends that require huge dependencies to be installed
OPTIONAL_BACKENDS = ola.so
# Backends that need to be built manually (but still should be included in the clean target)
MANUAL_BACKENDS = lua.dll

# The backend library, providing platform-independent abstractions for common things
BACKEND_LIB = libmmbackend.o

# Evaluate which system we are on
SYSTEM := $(shell uname -s)

# Generate debug symbols unless overridden
CFLAGS ?= -g
CXXFLAGS ?= -g

# All backends are shared libraries
CFLAGS += -fPIC -I../ -Wall -Wpedantic
CXXFLAGS += -fPIC -I../
LDFLAGS += -shared

# Build Linux backends if possible
ifeq ($(SYSTEM),Linux)
BACKENDS += $(LINUX_BACKENDS)
endif
# Convince OSX that missing functions are present at runtime
ifeq ($(SYSTEM),Darwin)
LDFLAGS += -undefined dynamic_lookup
endif

# Most of these next few backends just pull in the backend lib, some set additional flags
artnet.so: ADDITIONAL_OBJS += $(BACKEND_LIB)
artnet.dll: ADDITIONAL_OBJS += $(BACKEND_LIB)
artnet.dll: LDLIBS += -lws2_32

osc.so: ADDITIONAL_OBJS += $(BACKEND_LIB)
osc.dll: ADDITIONAL_OBJS += $(BACKEND_LIB)
osc.dll: LDLIBS += -lws2_32

sacn.so: ADDITIONAL_OBJS += $(BACKEND_LIB)
sacn.dll: ADDITIONAL_OBJS += $(BACKEND_LIB)
sacn.dll: LDLIBS += -lws2_32

visca.so: ADDITIONAL_OBJS += $(BACKEND_LIB)
visca.dll: ADDITIONAL_OBJS += $(BACKEND_LIB)
visca.dll: LDLIBS += -lws2_32

mqtt.so: ADDITIONAL_OBJS += $(BACKEND_LIB)
mqtt.dll: ADDITIONAL_OBJS += $(BACKEND_LIB)
mqtt.dll: LDLIBS += -lws2_32

openpixelcontrol.so: ADDITIONAL_OBJS += $(BACKEND_LIB)
openpixelcontrol.dll: ADDITIONAL_OBJS += $(BACKEND_LIB)
openpixelcontrol.dll: LDLIBS += -lws2_32

maweb.so: ADDITIONAL_OBJS += $(BACKEND_LIB)
# On OSX, the system provides libressl but no pkg-config data.
# Brew provides OpenSSL v1.1, but with a mangled path and no clear way to find it
# Give up and just default to -lcrypto for the time being...
maweb.so: LDLIBS = $(shell pkg-config --libs openssl || echo "-lcrypto")
maweb.dll: ADDITIONAL_OBJS += $(BACKEND_LIB)
maweb.dll: LDLIBS += -lws2_32
maweb.dll: CFLAGS += -DMAWEB_NO_LIBSSL

rtpmidi.so: ADDITIONAL_OBJS += $(BACKEND_LIB)
rtpmidi.dll: ADDITIONAL_OBJS += $(BACKEND_LIB)
rtpmidi.dll: LDLIBS += -lws2_32 -liphlpapi

winmidi.dll: ADDITIONAL_OBJS += $(BACKEND_LIB)
winmidi.dll: LDLIBS += -lwinmm -lws2_32

wininput.dll: LDLIBS += -lwinmm

jack.so: LDLIBS = -ljack -lpthread
midi.so: LDLIBS = -lasound
evdev.so: CFLAGS += $(shell pkg-config --cflags libevdev || echo "-DBUILD_ERROR=\"Missing pkg-config data for libevdev\"")
evdev.so: LDLIBS = $(shell pkg-config --libs libevdev || echo "-DBUILD_ERROR=\"Missing pkg-config data for libevdev\"")
ola.so: LDLIBS = -lola
ola.so: CXXFLAGS += -std=c++11 -Wno-write-strings

# The pkg-config name for liblua5.3 is subject to discussion. I prefer 'lua5.3' (which works on Debian and OSX),
# but Arch requires 'lua53' which works on Debian, too, but breaks on OSX.
lua.so: CFLAGS += $(shell pkg-config --cflags lua53 || pkg-config --cflags lua5.3 || pkg-config --cflags lua || echo "-DBUILD_ERROR=\"Missing pkg-config data for lua53\"")
lua.so: LDLIBS += $(shell pkg-config --libs lua53 || pkg-config --libs lua5.3 || pkg-config --libs lua || echo "-DBUILD_ERROR=\"Missing pkg-config data for lua53\"")
lua.dll: CFLAGS += $(shell pkg-config --cflags lua53 || pkg-config --cflags lua5.3 || pkg-config --cflags lua || echo "-DBUILD_ERROR=\"Missing pkg-config data for lua53\"")
lua.dll: LDLIBS += -L../ -llua53

# Python seems to ship their own little python3-config tool instead of properly maintaining their pkg-config files.
# This one also spams a good deal of unwanted flags into CFLAGS, so we use only --includes. On the other hand, the --libs
# info from this one seems to include the actual interpreter library only on some systems, which makes it worse than useless.
python.so: CFLAGS += $(shell python3-config --includes || pkg-config --cflags python3 || pkg-config --cflags python || echo "-DBUILD_ERROR=\"Missing pkg-config data for python3\"")
python.so: LDLIBS += $(shell pkg-config --libs python3-embed || python3-config --libs || pkg-config --libs python3 || echo "-DBUILD_ERROR=\"Missing pkg-config data for python3\"")
python.so: LDFLAGS += $(shell python3-config --ldflags || echo "-DBUILD_ERROR=\"Missing pkg-config data for python3\"")
python.dll: CFLAGS += $(shell python3-config --includes || echo "-DBUILD_ERROR=\"Missing pkg-config data for python3\"")
python.dll: LDLIBS += -L../ -lpython3

# Generic rules on how to build .SO/.DLL's from C and CPP sources
%.so :: %.c %.h $(BACKEND_LIB)
	$(CC) $(CFLAGS) $< $(ADDITIONAL_OBJS) -o $@ $(LDFLAGS) $(LDLIBS)

%.dll :: %.c %.h $(BACKEND_LIB)
	$(CC) $(CFLAGS) $< $(ADDITIONAL_OBJS) -o $@ $(LDFLAGS) $(LDLIBS)

%.so :: %.cpp %.h
	$(CXX) $(CXXFLAGS) $< $(ADDITIONAL_OBJS) -o $@ $(LDFLAGS) $(LDLIBS)

# This is the actual first named target, and thus the default
all: $(BACKEND_LIB) $(BACKENDS)

# Build an import lib for the windows build if it's not already there
../libmmapi.a:
	$(MAKE) -C ../ midimonster.exe

# Override a bunch of stuff for the windows target and it's DLL dependencies
%.dll: export CC = x86_64-w64-mingw32-gcc
%.dll: LDLIBS += -lmmapi
%.dll: LDFLAGS += -L../
%.dll: CFLAGS += -Wno-format -Wno-pointer-sign
windows: CFLAGS += -Wno-format -Wno-pointer-sign
windows: export CC = x86_64-w64-mingw32-gcc
windows: ../libmmapi.a $(BACKEND_LIB) $(WINDOWS_BACKENDS)

# Optional target including the backends that require large dependencies
full: $(BACKEND_LIB) $(BACKENDS) $(OPTIONAL_BACKENDS)

# Clean up all generated files
clean:
	$(RM) $(BACKEND_LIB) $(BACKENDS) $(OPTIONAL_BACKENDS) $(WINDOWS_BACKENDS) $(MANUAL_BACKENDS)


text:
<!DOCTYPE html>

<title>Shadow DOM Test: Inheritance of contentEditable attribute</title>
<link rel="author" title="Moto Ishizawa" href="mailto:summerwind.jp@gmail.com">
<link rel="help" href="http://www.w3.org/TR/2013/WD-shadow-dom-20130514/#editing">
<meta name="assert" content="User Interaction: Shadow trees must not be propagated contentEditable attribute from shadow host">


text:
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2014-2022 JKOOL, LLC.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.jkoolcloud.tnt4j.stream</groupId>
        <artifactId>tnt4j-stream-jmx</artifactId>
        <version>0.15-SNAPSHOT</version>
    </parent>
    <packaging>pom</packaging>

    <artifactId>tnt4j-stream-jmx-liberty</artifactId>

    <properties>
    </properties>

    <modules>
        <module>tnt4j-stream-jmx-liberty-api</module>
        <module>tnt4j-stream-jmx-liberty-war</module>
        <!--<module>tnt4j-stream-jmx-liberty-osgi</module>-->
    </modules>

</project>


text:
using System;
using Xwt.Drawing;
using System.Collections.ObjectModel;
using System.Collections.Generic;

namespace Xwt
{
	public interface ITreeDataSource
	{
		TreePosition GetParent (TreePosition pos);
		TreePosition GetChild (TreePosition pos, int index);
		TreePosition GetNext (TreePosition pos);
		TreePosition GetPrevious (TreePosition pos);
		int GetChildrenCount (TreePosition pos);
		int GetParentChildIndex (TreePosition pos);
		object GetValue (TreePosition pos, int column);
		void SetValue (TreePosition pos, int column, object value);
		Type[] ColumnTypes { get; }

		event EventHandler<TreeNodeEventArgs> NodeInserted;
		event EventHandler<TreeNodeChildEventArgs> NodeDeleted;
		event EventHandler<TreeNodeEventArgs> NodeChanged;
		event EventHandler<TreeNodeOrderEventArgs> NodesReordered;
	}

	public class TreeNodeEventArgs: EventArgs
	{
		public TreeNodeEventArgs (TreePosition node)
		{
			Node = node;
		}

		public TreePosition Node {
			get;
			private set;
		}
	}

	public class TreeNodeChildEventArgs: TreeNodeEventArgs
	{
		public TreeNodeChildEventArgs (TreePosition parent, int childIndex): base (parent)
		{
			ChildIndex = childIndex;
		}

		public int ChildIndex {
			get;
			private set;
		}
	}

	public class TreeNodeOrderEventArgs: TreeNodeEventArgs
	{
		public TreeNodeOrderEventArgs (TreePosition parentNode, int[] childrenOrder): base (parentNode)
		{
			ChildrenOrder = childrenOrder;
		}

		public int[] ChildrenOrder {
			get;
			private set;
		}
	}}


text:
package com.cloudant.client.org.lightcouch;

import com.google.gson.annotations.SerializedName;

import java.util.List;

/**
 * Holds the result of a replication request, along with previous sessions history.
 *
 * @author Ahmed Yehia
 * @see Replication
 * @since 0.0.2
 */
public class ReplicationResult {
    @SerializedName("ok")
    private boolean ok;
    @SerializedName("session_id")
    private String sessionId;
    @SerializedName("source_last_seq")
    private String sourceLastSeq;
    @SerializedName("_local_id")
    private String localId;
    @SerializedName("history")
    private List<ReplicationHistory> histories;

    public boolean isOk() {
        return ok;
    }

    public String getSessionId() {
        return sessionId;
    }

    public String getSourceLastSeq() {
        return sourceLastSeq;
    }

    public String getLocalId() {
        return localId;
    }

    public List<ReplicationHistory> getHistories() {
        return histories;
    }

    /**
     * Represents a replication session history.
     *
     * @author Ahmed Yehia
     */
    public static class ReplicationHistory {
        @SerializedName("session_id")
        private String sessionId;
        @SerializedName("start_time")
        private String startTime;
        @SerializedName("end_time")
        private String endTime;
        @SerializedName("start_last_seq")
        private String startLastSeq;
        @SerializedName("end_last_seq")
        private String endLastSeq;
        @SerializedName("recorded_seq")
        private String recordedSeq;
        @SerializedName("missing_checked")
        private long missingChecked;
        @SerializedName("missing_found")
        private long missingFound;
        @SerializedName("docs_read")
        private long docsRead;
        @SerializedName("docs_written")
        private long docsWritten;
        @SerializedName("doc_write_failures")
        private long docWriteFailures;

        public String getSessionId() {
            return sessionId;
        }

        public String getStartTime() {
            return startTime;
        }

        public String getEndTime() {
            return endTime;
        }

        public String getStartLastSeq() {
            return startLastSeq;
        }

        public String getEndLastSeq() {
            return endLastSeq;
        }

        public String getRecordedSeq() {
            return recordedSeq;
        }

        public long getMissingChecked() {
            return missingChecked;
        }

        public long getMissingFound() {
            return missingFound;
        }

        public long getDocsRead() {
            return docsRead;
        }

        public long getDocsWritten() {
            return docsWritten;
        }

        public long getDocWriteFailures() {
            return docWriteFailures;
        }
    } // /class ReplicationHistory

}


text:
//var $ = require("jquery");
var Config = require("../config");
module.exports = (function () {
	var Util = {};

	/**
	 * modifies targetObj to fill in missing default values
	 * useful for function options
	 * usage:
	 * function foo(opts){
	 *   var defaultOpt = {x:0,y:0,size:100};
	 *   Util.mergeDefault(opts,defaultOpt);
	 *   // do something with opts
	 * }
	 * @param  {Value Object} targetObj  given options object
	 * @param  {Value Object} defaultObj object of expected values and their default values
	 */
	Util.mergeDefault = function mergeDefault(targetObj, defaultObj) {
		for (var attrname in defaultObj) {
			if (!targetObj.hasOwnProperty(attrname)) {
				targetObj[attrname] = defaultObj[attrname];
			}
		}
	};
	/**
	 * String stringReplace(str[,replacements...]);
	 * formats the strings, replaces placeholders like {1} with arguments
	 * {1} counts from 1
	 * @return {[type]} [description]
	 */
	Util.stringReplace = function stringReplace() {
		var args = arguments;
		return args[0].replace(/\{(\d+)\}/, function (match, number) {
			return typeof args[number] != 'undefined' ?
				args[number] : match;
		});
	};
	// use [].join(); instead

	Util.pointDistanceSq = function _pointDistanceSq(x1, y1, x2, y2) {
		return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
	};

	Util.pointDistance = function _pointDistance(x1, y1, x2, y2) {
		return Math.sqrt(Util.pointDistanceSq(x1, y1, x2, y2));
	};

	Util.getMouse = function getMouse(event) {
		var mx = event.pageX - event.target.offsetLeft;
		var my = event.pageY - event.target.offsetTop;
		return {
			x: mx,
			y: my
		};
	};

	return Util;
})();


text:
import {
    connectAudioPlayer, TitleMarquee, TimeSlider, Playlist
} from './ReactDesignableAudioPlayer';
import { addTracks, replaceTracks } from './audioPlayerCore'

export {
    connectAudioPlayer,
    TitleMarquee,
    TimeSlider,
    Playlist,
    addTracks,
    replaceTracks
};