text:
package com.google.cloud.run.v2;

import com.google.api.core.ApiFuture;
import com.google.api.core.ApiFutures;
import com.google.api.core.BetaApi;
import com.google.api.gax.core.BackgroundResource;
import com.google.api.gax.longrunning.OperationFuture;
import com.google.api.gax.paging.AbstractFixedSizeCollection;
import com.google.api.gax.paging.AbstractPage;
import com.google.api.gax.paging.AbstractPagedListResponse;
import com.google.api.gax.rpc.OperationCallable;
import com.google.api.gax.rpc.PageContext;
import com.google.api.gax.rpc.UnaryCallable;
import com.google.cloud.run.v2.stub.RevisionsStub;
import com.google.cloud.run.v2.stub.RevisionsStubSettings;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.longrunning.Operation;
import com.google.longrunning.OperationsClient;
import java.io.IOException;
import java.util.List;
import java.util.concurrent.TimeUnit;
import javax.annotation.Generated;

// AUTO-GENERATED DOCUMENTATION AND CLASS.
/**
 * Service Description: Cloud Run Revision Control Plane API.
 *
 *
This class provides the ability to make remote calls to the backing service through method
 * calls that map to API methods. Sample code to get started:
 *
 *
{@code
 * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
 *   RevisionName name = RevisionName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[REVISION]");
 *   Revision response = revisionsClient.getRevision(name);
 * }
 * }

 *
 *
Note: close() needs to be called on the RevisionsClient object to clean up resources such as
 * threads. In the example above, try-with-resources is used, which automatically calls close().
 *
 *
The surface of this class includes several types of Java methods for each of the API's
 * methods:
 *
 *

 *
A "flattened" method. With this type of method, the fields of the request type have been
 *       converted into function parameters. It may be the case that not all fields are available as
 *       parameters, and not every API method will have a flattened method entry point.
 *
A "request object" method. This type of method only takes one parameter, a request object,
 *       which must be constructed before the call. Not every API method will have a request object
 *       method.
 *
A "callable" method. This type of method takes no parameters and returns an immutable API
 *       callable object, which can be used to initiate calls to the service.
 *

 *
 *
See the individual methods for example code.
 *
 *
Many parameters require resource names to be formatted in a particular way. To assist with
 * these names, this class includes a format method for each type of name, and additionally a parse
 * method to extract the individual identifiers contained within names that are returned.
 *
 *
This class can be customized by passing in a custom instance of RevisionsSettings to create().
 * For example:
 *
 *
To customize credentials:
 *
 *
{@code
 * RevisionsSettings revisionsSettings =
 *     RevisionsSettings.newBuilder()
 *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
 *         .build();
 * RevisionsClient revisionsClient = RevisionsClient.create(revisionsSettings);
 * }

 *
 *
To customize the endpoint:
 *
 *
{@code
 * RevisionsSettings revisionsSettings =
 *     RevisionsSettings.newBuilder().setEndpoint(myEndpoint).build();
 * RevisionsClient revisionsClient = RevisionsClient.create(revisionsSettings);
 * }

 *
 *
Please refer to the GitHub repository's samples for more quickstart code snippets.
 */
@Generated("by gapic-generator-java")
public class RevisionsClient implements BackgroundResource {
  private final RevisionsSettings settings;
  private final RevisionsStub stub;
  private final OperationsClient operationsClient;

  /** Constructs an instance of RevisionsClient with default settings. */
  public static final RevisionsClient create() throws IOException {
    return create(RevisionsSettings.newBuilder().build());
  }

  /**
   * Constructs an instance of RevisionsClient, using the given settings. The channels are created
   * based on the settings passed in, or defaults for any settings that are not set.
   */
  public static final RevisionsClient create(RevisionsSettings settings) throws IOException {
    return new RevisionsClient(settings);
  }

  /**
   * Constructs an instance of RevisionsClient, using the given stub for making calls. This is for
   * advanced usage - prefer using create(RevisionsSettings).
   */
  @BetaApi("A restructuring of stub classes is planned, so this may break in the future")
  public static final RevisionsClient create(RevisionsStub stub) {
    return new RevisionsClient(stub);
  }

  /**
   * Constructs an instance of RevisionsClient, using the given settings. This is protected so that
   * it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
   */
  protected RevisionsClient(RevisionsSettings settings) throws IOException {
    this.settings = settings;
    this.stub = ((RevisionsStubSettings) settings.getStubSettings()).createStub();
    this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
  }

  @BetaApi("A restructuring of stub classes is planned, so this may break in the future")
  protected RevisionsClient(RevisionsStub stub) {
    this.settings = null;
    this.stub = stub;
    this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
  }

  public final RevisionsSettings getSettings() {
    return settings;
  }

  @BetaApi("A restructuring of stub classes is planned, so this may break in the future")
  public RevisionsStub getStub() {
    return stub;
  }

  /**
   * Returns the OperationsClient that can be used to query the status of a long-running operation
   * returned by another API method call.
   */
  public final OperationsClient getOperationsClient() {
    return operationsClient;
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * Gets information about a Revision.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   RevisionName name = RevisionName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[REVISION]");
   *   Revision response = revisionsClient.getRevision(name);
   * }
   * }

   *
   * @param name Required. The full name of the Revision. Format:
   *     projects/{project}/locations/{location}/services/{service}/revisions/{revision}
   * @throws com.google.api.gax.rpc.ApiException if the remote call fails
   */
  public final Revision getRevision(RevisionName name) {
    GetRevisionRequest request =
        GetRevisionRequest.newBuilder().setName(name == null ? null : name.toString()).build();
    return getRevision(request);
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * Gets information about a Revision.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   String name =
   *       RevisionName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[REVISION]").toString();
   *   Revision response = revisionsClient.getRevision(name);
   * }
   * }

   *
   * @param name Required. The full name of the Revision. Format:
   *     projects/{project}/locations/{location}/services/{service}/revisions/{revision}
   * @throws com.google.api.gax.rpc.ApiException if the remote call fails
   */
  public final Revision getRevision(String name) {
    GetRevisionRequest request = GetRevisionRequest.newBuilder().setName(name).build();
    return getRevision(request);
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * Gets information about a Revision.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   GetRevisionRequest request =
   *       GetRevisionRequest.newBuilder()
   *           .setName(
   *               RevisionName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[REVISION]").toString())
   *           .build();
   *   Revision response = revisionsClient.getRevision(request);
   * }
   * }

   *
   * @param request The request object containing all of the parameters for the API call.
   * @throws com.google.api.gax.rpc.ApiException if the remote call fails
   */
  public final Revision getRevision(GetRevisionRequest request) {
    return getRevisionCallable().call(request);
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * Gets information about a Revision.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   GetRevisionRequest request =
   *       GetRevisionRequest.newBuilder()
   *           .setName(
   *               RevisionName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[REVISION]").toString())
   *           .build();
   *   ApiFuture<Revision> future = revisionsClient.getRevisionCallable().futureCall(request);
   *   // Do something.
   *   Revision response = future.get();
   * }
   * }

   */
  public final UnaryCallable<GetRevisionRequest, Revision> getRevisionCallable() {
    return stub.getRevisionCallable();
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * List Revisions from a given Service, or from a given location.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   ServiceName parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]");
   *   for (Revision element : revisionsClient.listRevisions(parent).iterateAll()) {
   *     // doThingsWith(element);
   *   }
   * }
   * }

   *
   * @param parent Required. The Service from which the Revisions should be listed. To list all
   *     Revisions across Services, use "-" instead of Service name. Format:
   *     projects/{project}/locations/{location}/services/{service}
   * @throws com.google.api.gax.rpc.ApiException if the remote call fails
   */
  public final ListRevisionsPagedResponse listRevisions(ServiceName parent) {
    ListRevisionsRequest request =
        ListRevisionsRequest.newBuilder()
            .setParent(parent == null ? null : parent.toString())
            .build();
    return listRevisions(request);
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * List Revisions from a given Service, or from a given location.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   String parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString();
   *   for (Revision element : revisionsClient.listRevisions(parent).iterateAll()) {
   *     // doThingsWith(element);
   *   }
   * }
   * }

   *
   * @param parent Required. The Service from which the Revisions should be listed. To list all
   *     Revisions across Services, use "-" instead of Service name. Format:
   *     projects/{project}/locations/{location}/services/{service}
   * @throws com.google.api.gax.rpc.ApiException if the remote call fails
   */
  public final ListRevisionsPagedResponse listRevisions(String parent) {
    ListRevisionsRequest request = ListRevisionsRequest.newBuilder().setParent(parent).build();
    return listRevisions(request);
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * List Revisions from a given Service, or from a given location.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   ListRevisionsRequest request =
   *       ListRevisionsRequest.newBuilder()
   *           .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
   *           .setPageSize(883849137)
   *           .setPageToken("pageToken873572522")
   *           .setShowDeleted(true)
   *           .build();
   *   for (Revision element : revisionsClient.listRevisions(request).iterateAll()) {
   *     // doThingsWith(element);
   *   }
   * }
   * }

   *
   * @param request The request object containing all of the parameters for the API call.
   * @throws com.google.api.gax.rpc.ApiException if the remote call fails
   */
  public final ListRevisionsPagedResponse listRevisions(ListRevisionsRequest request) {
    return listRevisionsPagedCallable().call(request);
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * List Revisions from a given Service, or from a given location.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   ListRevisionsRequest request =
   *       ListRevisionsRequest.newBuilder()
   *           .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
   *           .setPageSize(883849137)
   *           .setPageToken("pageToken873572522")
   *           .setShowDeleted(true)
   *           .build();
   *   ApiFuture<Revision> future = revisionsClient.listRevisionsPagedCallable().futureCall(request);
   *   // Do something.
   *   for (Revision element : future.get().iterateAll()) {
   *     // doThingsWith(element);
   *   }
   * }
   * }

   */
  public final UnaryCallable<ListRevisionsRequest, ListRevisionsPagedResponse>
      listRevisionsPagedCallable() {
    return stub.listRevisionsPagedCallable();
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * List Revisions from a given Service, or from a given location.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   ListRevisionsRequest request =
   *       ListRevisionsRequest.newBuilder()
   *           .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
   *           .setPageSize(883849137)
   *           .setPageToken("pageToken873572522")
   *           .setShowDeleted(true)
   *           .build();
   *   while (true) {
   *     ListRevisionsResponse response = revisionsClient.listRevisionsCallable().call(request);
   *     for (Revision element : response.getResponsesList()) {
   *       // doThingsWith(element);
   *     }
   *     String nextPageToken = response.getNextPageToken();
   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
   *       request = request.toBuilder().setPageToken(nextPageToken).build();
   *     } else {
   *       break;
   *     }
   *   }
   * }
   * }

   */
  public final UnaryCallable<ListRevisionsRequest, ListRevisionsResponse> listRevisionsCallable() {
    return stub.listRevisionsCallable();
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * Delete a Revision.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   RevisionName name = RevisionName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[REVISION]");
   *   Revision response = revisionsClient.deleteRevisionAsync(name).get();
   * }
   * }

   *
   * @param name Required. The name of the Revision to delete. Format:
   *     projects/{project}/locations/{location}/services/{service}/revisions/{revision}
   * @throws com.google.api.gax.rpc.ApiException if the remote call fails
   */
  public final OperationFuture<Revision, Revision> deleteRevisionAsync(RevisionName name) {
    DeleteRevisionRequest request =
        DeleteRevisionRequest.newBuilder().setName(name == null ? null : name.toString()).build();
    return deleteRevisionAsync(request);
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * Delete a Revision.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   String name =
   *       RevisionName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[REVISION]").toString();
   *   Revision response = revisionsClient.deleteRevisionAsync(name).get();
   * }
   * }

   *
   * @param name Required. The name of the Revision to delete. Format:
   *     projects/{project}/locations/{location}/services/{service}/revisions/{revision}
   * @throws com.google.api.gax.rpc.ApiException if the remote call fails
   */
  public final OperationFuture<Revision, Revision> deleteRevisionAsync(String name) {
    DeleteRevisionRequest request = DeleteRevisionRequest.newBuilder().setName(name).build();
    return deleteRevisionAsync(request);
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * Delete a Revision.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   DeleteRevisionRequest request =
   *       DeleteRevisionRequest.newBuilder()
   *           .setName(
   *               RevisionName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[REVISION]").toString())
   *           .setValidateOnly(true)
   *           .setEtag("etag3123477")
   *           .build();
   *   Revision response = revisionsClient.deleteRevisionAsync(request).get();
   * }
   * }

   *
   * @param request The request object containing all of the parameters for the API call.
   * @throws com.google.api.gax.rpc.ApiException if the remote call fails
   */
  public final OperationFuture<Revision, Revision> deleteRevisionAsync(
      DeleteRevisionRequest request) {
    return deleteRevisionOperationCallable().futureCall(request);
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * Delete a Revision.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   DeleteRevisionRequest request =
   *       DeleteRevisionRequest.newBuilder()
   *           .setName(
   *               RevisionName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[REVISION]").toString())
   *           .setValidateOnly(true)
   *           .setEtag("etag3123477")
   *           .build();
   *   OperationFuture<Revision, Revision> future =
   *       revisionsClient.deleteRevisionOperationCallable().futureCall(request);
   *   // Do something.
   *   Revision response = future.get();
   * }
   * }

   */
  public final OperationCallable<DeleteRevisionRequest, Revision, Revision>
      deleteRevisionOperationCallable() {
    return stub.deleteRevisionOperationCallable();
  }

  // AUTO-GENERATED DOCUMENTATION AND METHOD.
  /**
   * Delete a Revision.
   *
   *
Sample code:
   *
   *
{@code
   * try (RevisionsClient revisionsClient = RevisionsClient.create()) {
   *   DeleteRevisionRequest request =
   *       DeleteRevisionRequest.newBuilder()
   *           .setName(
   *               RevisionName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[REVISION]").toString())
   *           .setValidateOnly(true)
   *           .setEtag("etag3123477")
   *           .build();
   *   ApiFuture<Operation> future = revisionsClient.deleteRevisionCallable().futureCall(request);
   *   // Do something.
   *   Operation response = future.get();
   * }
   * }

   */
  public final UnaryCallable<DeleteRevisionRequest, Operation> deleteRevisionCallable() {
    return stub.deleteRevisionCallable();
  }

  @Override
  public final void close() {
    stub.close();
  }

  @Override
  public void shutdown() {
    stub.shutdown();
  }

  @Override
  public boolean isShutdown() {
    return stub.isShutdown();
  }

  @Override
  public boolean isTerminated() {
    return stub.isTerminated();
  }

  @Override
  public void shutdownNow() {
    stub.shutdownNow();
  }

  @Override
  public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException {
    return stub.awaitTermination(duration, unit);
  }

  public static class ListRevisionsPagedResponse
      extends AbstractPagedListResponse<
          ListRevisionsRequest,
          ListRevisionsResponse,
          Revision,
          ListRevisionsPage,
          ListRevisionsFixedSizeCollection> {

    public static ApiFuture<ListRevisionsPagedResponse> createAsync(
        PageContext<ListRevisionsRequest, ListRevisionsResponse, Revision> context,
        ApiFuture<ListRevisionsResponse> futureResponse) {
      ApiFuture<ListRevisionsPage> futurePage =
          ListRevisionsPage.createEmptyPage().createPageAsync(context, futureResponse);
      return ApiFutures.transform(
          futurePage,
          input -> new ListRevisionsPagedResponse(input),
          MoreExecutors.directExecutor());
    }

    private ListRevisionsPagedResponse(ListRevisionsPage page) {
      super(page, ListRevisionsFixedSizeCollection.createEmptyCollection());
    }
  }

  public static class ListRevisionsPage
      extends AbstractPage<
          ListRevisionsRequest, ListRevisionsResponse, Revision, ListRevisionsPage> {

    private ListRevisionsPage(
        PageContext<ListRevisionsRequest, ListRevisionsResponse, Revision> context,
        ListRevisionsResponse response) {
      super(context, response);
    }

    private static ListRevisionsPage createEmptyPage() {
      return new ListRevisionsPage(null, null);
    }

    @Override
    protected ListRevisionsPage createPage(
        PageContext<ListRevisionsRequest, ListRevisionsResponse, Revision> context,
        ListRevisionsResponse response) {
      return new ListRevisionsPage(context, response);
    }

    @Override
    public ApiFuture<ListRevisionsPage> createPageAsync(
        PageContext<ListRevisionsRequest, ListRevisionsResponse, Revision> context,
        ApiFuture<ListRevisionsResponse> futureResponse) {
      return super.createPageAsync(context, futureResponse);
    }
  }

  public static class ListRevisionsFixedSizeCollection
      extends AbstractFixedSizeCollection<
          ListRevisionsRequest,
          ListRevisionsResponse,
          Revision,
          ListRevisionsPage,
          ListRevisionsFixedSizeCollection> {

    private ListRevisionsFixedSizeCollection(List<ListRevisionsPage> pages, int collectionSize) {
      super(pages, collectionSize);
    }

    private static ListRevisionsFixedSizeCollection createEmptyCollection() {
      return new ListRevisionsFixedSizeCollection(null, 0);
    }

    @Override
    protected ListRevisionsFixedSizeCollection createCollection(
        List<ListRevisionsPage> pages, int collectionSize) {
      return new ListRevisionsFixedSizeCollection(pages, collectionSize);
    }
  }
}


text:
#region License

#endregion

#region Imports

using System;
using System.Reflection;
using System.Reflection.Emit;

#endregion

namespace Spring.Proxy
{
    /// <summary>
    /// Defines interface that proxy method builders have to implement.
    /// </summary>
    /// <author>Aleksandar Seovic</author>
    /// <author>Bruno Baia</author>
    public interface IProxyMethodBuilder
    {
        /// <summary>
        /// Dynamically builds proxy method.
        /// </summary>
        /// <param name="method">The method to proxy.</param>
        /// <param name="intfMethod">
        /// The interface definition of the method, if applicable.
        /// </param>
        /// <returns>
        /// The <see cref="System.Reflection.Emit.MethodBuilder"/> for the proxy method.
        /// </returns>
        MethodBuilder BuildProxyMethod(MethodInfo method, MethodInfo intfMethod);
    }
}

redpajama_set_name: RedPajamaGithub


text:
//
//  OTGChartDrawView.h
//  OTGanttChartView
//
//  Created by Tomosuke Okada on 2017/08/01.
//  Copyright © 2017年 TomosukeOkada. All rights reserved.
//
//  https://github.com/PKPK-Carnage/OTGanttChartKit

#import <UIKit/UIKit.h>

#import "OTGCommonClass.h"

@protocol OTGChartDrawViewDelegate <NSObject>

- (UIColor *)chartBackgroundColorForDate:(NSDate *)date;

@end

@interface OTGChartDrawView : UIView

@property(nonatomic,weak) id<OTGChartDrawViewDelegate> delegate;

@property(nonatomic) OTGThemeMode themeMode;

@property(nonatomic) CGFloat processAreaHeight;
@property(nonatomic) CGFloat pointAreaHeight;

@property(nonatomic) BOOL todayLineEnabled;

@property(nonatomic) NSArray<NSDate *> *showDateArray;

@property(nonatomic) NSInteger todayIndex;

//color
@property(nonatomic) UIColor *dateSeparatorColor;
@property(nonatomic) UIColor *dotSeparatorColor;
@property(nonatomic) UIColor *processAreaBackgroundColor;
@property(nonatomic) UIColor *pointAreaBackgroundColor;
@property(nonatomic) UIColor *rowSeparatorColor;
@property(nonatomic) UIColor *todayLineColor;

//size
@property(nonatomic) CGFloat dateWidth;
@property(nonatomic) CGFloat dateSeparatorWidth;
@property(nonatomic) CGFloat rowSeparatorWidth;
@property(nonatomic) CGFloat dotSeparatorWidth;
@property(nonatomic) CGFloat todayLineWidth;

@end


text:
export class TimeUnit {
    constructor(
    /** a value to return for toString() */
    name,
    /** The seconds portion of the duration */
    durationSec,
    /** The nanoseconds portion of the duration */
    durationNS,
    /**
     * If the timeunit is approximate.  Note that leap seconds are
     * not used, so this pertains to dates only..
     */
    estimated = false) {
        this.name = name;
        this.durationSec = durationSec;
        this.durationNS = durationNS;
        this.estimated = estimated;
        // Map the name to the instance.
        TimeUnit.stringToTimeUnit[name] = this;
    }
    // TODO DECADES, CENTURIES, MILLENIA, ERAS
    /** An uppercase string matching the name of the constant. ex MILLIS */
    toString() {
        return this.name;
    }
    static fromString(value) {
        const result = TimeUnit.stringToTimeUnit[value];
        if (!result) {
            throw new Error('invalid timeunit');
        }
        return result;
    }
}
// A map of the name to the time unit.
TimeUnit.stringToTimeUnit = new Map();
/**  Unit that represents the concept of a nanosecond. */
TimeUnit.NANOS = new TimeUnit('NANOS', 0, 1);
/** Unit that represents the concept of a microsecond. */
TimeUnit.MICROS = new TimeUnit('MICROS', 0, 1000);
/** Unit that represents the concept of a millisecond. */
TimeUnit.MILLIS = new TimeUnit('MILLIS', 0, 1000000);
/** Unit that represents the concept of a second. */
TimeUnit.SECONDS = new TimeUnit('SECONDS', 1, 0);
/** Unit that represents the concept of a minute. */
TimeUnit.MINUTES = new TimeUnit('MINUTES', 60, 0);
/** Unit that represents the concept of an hour. */
TimeUnit.HOURS = new TimeUnit('HOURS', 3600, 0);
/** Unit that represents the concept of a week. */
TimeUnit.DAYS = new TimeUnit('DAYS', 86400, 0);
/** Unit that represents the concept of a week. */
TimeUnit.WEEKS = new TimeUnit('WEEKS', 604800, 0);
/** Unit that represents the concept of a month, 30 days, approximate. */
TimeUnit.MONTHS = new TimeUnit('MONTHS', 2592000, 0, true);
/** Unit that represents the concept of a year, 365 days, approximate */
TimeUnit.YEARS = new TimeUnit('YEARS', 31536000, 0, true);
//# sourceMappingURL=timeunit.js.map


text:
<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<!-- 让国内基于webkit的浏览器默认采用webkit内核进行渲染 -->
		<meta name="renderer" content="webkit" />
		<!-- 移动端的响应式特性 -->
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
		<meta content="leetcode,算法,Reorder-List" name="keywords">
		<meta content="leetcodeJS大法之Reorder-List" name="description">
		<title>leetcodeJS大法之Reorder-List</title>
		<link rel="stylesheet" href="../../css/common/reset.css" />
	</head>

	<body>
		<script type="text/javascript" src="Reorder-List.js"></script>
		<script>
			function ListNode(val) {
				this.val = val;
				this.next = null;
			}

			var node1 = new ListNode(1);
			var node2 = new ListNode(2);
			var node3 = new ListNode(3);
			var node4 = new ListNode(4);
			var node5 = new ListNode(5);
			var node6 = new ListNode(6);
			node1.next = node2;
			node2.next = node3;
			node3.next = node4;
			node4.next = node5;
			node5.next = node6;
			node6.next = null;
			var head = node1;
			var result = LeetCode.reorderList(head);

			console.log(JSON.stringify(result));
		</script>
	</body>

</html>


text:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

public class Influence : MonoBehaviour
{
    private Rigidbody2D playerRB;
    public Action onCollided;

    // Use this for initialization
    void Start()
    {
        playerRB = GetComponentInParent<Rigidbody2D>();
    }

    // Update is called once per frame
    void Update()
    {
    }

    private void OnTriggerEnter2D(Collider2D other)
    {
        if(other.gameObject.tag == "GoodStuff")
        {
            Rigidbody2D otherRB = other.gameObject.GetComponent<Rigidbody2D>();
            Vector2 dir = other.gameObject.transform.position - gameObject.transform.position;

            otherRB.AddForce(dir.normalized * playerRB.velocity.magnitude, ForceMode2D.Impulse);

            if(other.gameObject.transform.localScale.x == 4)
            {
                Camera.main.GetComponent<AudioSource>().PlayOneShot(Resources.Load<AudioClip>("Hittingbiggest"));
            }
            else if (other.gameObject.transform.localScale.x == 1)
            {
                Camera.main.GetComponent<AudioSource>().PlayOneShot(Resources.Load<AudioClip>("Hitting"));
            }
            else
            {
                Camera.main.GetComponent<AudioSource>().PlayOneShot(Resources.Load<AudioClip>("Hittingbigger"));
            }

            if (this.onCollided != null)
            {
                this.onCollided();
            }
        }
    }
}


text:
PROJECT_NAME=jquery-qrcode

all:

server:
	python -m SimpleHTTPServer

build: minify

minify:
	echo 	 			 > /tmp/jquery.qrcode.tmp.js
	head -2 src/jquery.qrcode.js	>> /tmp/jquery.qrcode.tmp.js
	cat src/qrcode.js		>> /tmp/jquery.qrcode.tmp.js
	tail -n +3 src/jquery.qrcode.js	>> /tmp/jquery.qrcode.tmp.js
	curl --data-urlencode "js_code@/tmp/jquery.qrcode.tmp.js" 	\
		-d "output_format=text&output_info=compiled_code&compilation_level=SIMPLE_OPTIMIZATIONS" \
		http://closure-compiler.appspot.com/compile		\
		> jquery.qrcode.min.js

homepage_build:
	pandoc -A ~/.pandoc.header.html -s README.md -o index.html
	sed -i "s/github.com\/you/github.com\/jeromeetienne\/$(PROJECT_NAME)/g" index.html

#################################################################################
#		deploy								#
#################################################################################

deploy: build
	# assume there is something to commit
	# use "git diff --exit-code HEAD" to know if there is something to commit
	# so two lines: one if no commit, one if something to commit
	git commit -a -m "New deploy" && git push -f origin HEAD:gh-pages && git reset HEAD~


text:
// -----------------------------------------------------------------------------------------
// <copyright file="TamperBehaviors.cs" company="Microsoft">
//    Copyright 2013 Microsoft Corporation
//
//    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.
// </copyright>
// -----------------------------------------------------------------------------------------

namespace Microsoft.Azure.Test.Network.Behaviors
{
    using Fiddler;
    using System;

    /// <summary>
    /// TamperBehaviors modify the outgoing (request) and incoming (response) data streams.
    /// </summary>
    public class TamperBehaviors
    {
        /// <summary>
        /// AddHeaderToRequest returns an action which adds an HTTP header to a request.
        /// </summary>
        /// <param name="headerName">The name of the header to be added.</param>
        /// <param name="headerValue">The value of the header to be added.</param>
        /// <returns>The relevant action.</returns>
        public static Action<Session> AddHeaderToRequest(string headerName, string headerValue)
        {
            return session => session.oRequest[headerName] = headerValue;
        }

        /// <summary>
        /// DeleteHeaderFromRequest removes the given header from the request.
        /// </summary>
        /// <param name="headerName">The name of the header to remove.</param>
        /// <returns>The relevant action.</returns>
        public static Action<Session> DeleteHeaderFromRequest(string headerName)
        {
            return session => session.oRequest.headers.Remove(headerName);
        }

        /// <summary>
        /// AddHeaderToResponse returns an action which adds an HTTP header to a response.
        /// </summary>
        /// <param name="headerName">The name of the header to be added.</param>
        /// <param name="headerValue">The value of the header to be added.</param>
        /// <returns>The relevant action.</returns>
        public static Action<Session> AddHeaderToResponse(string headerName, string headerValue)
        {
            return session => session.oResponse[headerName] = headerValue;
        }

        /// <summary>
        /// DeleteHeaderFromResponse removes the given header from the response.
        /// </summary>
        /// <param name="headerName">The name of the header to remove.</param>
        /// <returns>The relevant action.</returns>
        public static Action<Session> DeleteHeaderFromResponse(string headerName)
        {
            return session => session.oResponse.headers.Remove(headerName);
        }

        /// <summary>
        /// TamperAllRequests returns a behavior which tampers with all requests.
        /// </summary>
        /// <param name="tamperAction">An action specifying how to tamper with the request.</param>
        /// <param name="options">The options controlling the behavior.</param>
        /// <returns>The relevant behavior.</returns>
        public static ProxyBehavior TamperAllRequests(Action<Session> tamperAction, BehaviorOptions options = null)
        {
            return new TamperRequestBehavior(tamperAction, null, options);
        }

        /// <summary>
        /// TamperAllRequestsIf returns a behavior which tampers with all requests which meet a specified criterion.
        /// </summary>
        /// <param name="tamperAction">An action specifying how to tamper with the request.</param>
        /// <param name="selector">The predicate controlling when to tamper with the request.</param>
        /// <param name="options">The options controlling the behavior.</param>
        /// <returns>The relevant behavior.</returns>
        public static ProxyBehavior TamperAllRequestsIf(Action<Session> tamperAction, Func<Session, bool> selector, BehaviorOptions options = null)
        {
            return new TamperRequestBehavior(tamperAction, selector, options);
        }

        /// <summary>
        /// TamperRequestsUntil returns a behavior which tampers with all requests until a certain time.
        /// </summary>
        /// <param name="tamperAction">An action specifying how to tamper with the request.</param>
        /// <param name="expiry">The DateTime at which to stop tampering with requests.</param>
        /// <returns>The relevant behavior.</returns>
        public static ProxyBehavior TamperRequestsUntil(Action<Session> tamperAction, DateTime expiry)
        {
            return new TamperRequestBehavior(tamperAction, expiry);
        }

        /// <summary>
        /// TamperRequestsUntilIf returns a behavior which tampers with requests until a certain time.
        /// </summary>
        /// <param name="tamperAction">An action specifying how to tamper with the request.</param>
        /// <param name="expiry">The DateTime at which to stop tampering with requests.</param>
        /// <param name="selector">The predicate controlling when to tamper with the request.</param>
        /// <returns>The relevant behavior.</returns>
        public static ProxyBehavior TamperRequestsUntilIf(Action<Session> tamperAction, DateTime expiry, Func<Session, bool> selector)
        {
            return new TamperRequestBehavior(tamperAction, expiry, selector);
        }

        /// <summary>
        /// TamperNRequests returns a behavior which tampers with all requests until some maximum session count is reached.
        /// </summary>
        /// <param name="tamperAction">An action specifying how to tamper with the request.</param>
        /// <param name="n">The maximum number of sessions to tamper.</param>
        /// <returns>The relevant behavior.</returns>
        public static ProxyBehavior TamperNRequests(Action<Session> tamperAction, int n)
        {
            return new TamperRequestBehavior(tamperAction, n);
        }

        /// <summary>
        /// TamperNRequestsIf returns a behavior which tampers with all requests until some maximum session count is reached.
        /// </summary>
        /// <param name="tamperAction">An action specifying how to tamper with the request.</param>
        /// <param name="n">The maximum number of sessions to tamper.</param>
        /// <param name="selector">The predicate controlling when to tamper with the request.</param>
        /// <returns>The relevant behavior.</returns>
        public static ProxyBehavior TamperNRequestsIf(Action<Session> tamperAction, int n, Func<Session, bool> selector)
        {
            return new TamperRequestBehavior(tamperAction, n, selector);
        }

        /// <summary>
        /// TamperAllResponses returns a behavior which tampers with all responses.
        /// </summary>
        /// <param name="tamperAction">An action specifying how to tamper with the response.</param>
        /// <param name="options">The options controlling the behavior.</param>
        /// <returns>The relevant behavior.</returns>
        public static ProxyBehavior TamperAllResponses(Action<Session> tamperAction, BehaviorOptions options = null)
        {
            return new TamperResponseBehavior(tamperAction, null, options);
        }

        /// <summary>
        /// TamperAllResponsesIf returns a behavior which tampers with responses meeting the given criterion.
        /// </summary>
        /// <param name="tamperAction">An action specifying how to tamper with the response.</param>
        /// <param name="selector">The predicate controlling when to tamper with the response.</param>
        /// <param name="options">The options controlling the behavior.</param>
        /// <returns>The relevant behavior.</returns>
        public static ProxyBehavior TamperAllResponsesIf(Action<Session> tamperAction, Func<Session, bool> selector, BehaviorOptions options = null)
        {
            return new TamperResponseBehavior(tamperAction, selector, options);
        }

        /// <summary>
        /// TamperResponsesUntil returns a behavior which tampers with responses until a certain DateTime is reached.
        /// </summary>
        /// <param name="tamperAction">An action specifying how to tamper with the response.</param>
        /// <param name="expiry">The DateTime at which to stop tampering with responses.</param>
        /// <returns>The relevant behavior.</returns>
        public static ProxyBehavior TamperResponsesUntil(Action<Session> tamperAction, DateTime expiry)
        {
            return new TamperResponseBehavior(tamperAction, expiry);
        }

        /// <summary>
        /// TamperResponsesUntilIf returns a behavior which tampers with responses meeting the given criterion,
        /// until a certain DateTime is reached.
        /// </summary>
        /// <param name="tamperAction">An action specifying how to tamper with the response.</param>
        /// <param name="expiry">The DateTime at which to stop tampering with responses.</param>
        /// <param name="selector">The predicate controlling when to tamper with the response.</param>
        /// <returns>The relevant behavior.</returns>
        public static ProxyBehavior TamperResponsesUntilIf(Action<Session> tamperAction, DateTime expiry, Func<Session, bool> selector)
        {
            return new TamperResponseBehavior(tamperAction, expiry, selector);
        }

        /// <summary>
        /// TamperNResponsesIf returns a behavior which tampers with all until a maximum session count is reached.
        /// </summary>
        /// <param name="tamperAction">An action specifying how to tamper with the response.</param>
        /// <param name="n">The maximum number of sessions with which to tamper.</param>
        /// <returns>The relevant behavior.</returns>
        public static ProxyBehavior TamperNResponses(Action<Session> tamperAction, int n)
        {
            return new TamperResponseBehavior(tamperAction, n);
        }

        /// <summary>
        /// TamperNResponsesIf returns a behavior which tampers with responses meeting the given criterion,
        /// until a maximum session count is reached.
        /// </summary>
        /// <param name="tamperAction">An action specifying how to tamper with the response.</param>
        /// <param name="n">The maximum number of sessions with which to tamper.</param>
        /// <param name="selector">The predicate controlling when to tamper with the response.</param>
        /// <returns>The relevant behavior.</returns>
        public static ProxyBehavior TamperNResponsesIf(Action<Session> tamperAction, int n, Func<Session, bool> selector)
        {
            return new TamperResponseBehavior(tamperAction, n, selector);
        }

        /// <summary>
        /// Helper class for request (outgoing) tampering.
        /// </summary>
        private class TamperRequestBehavior : ProxyBehavior
        {
            /// <summary>
            /// Initializes a new instance of the TamperRequestBehavior class.
            /// </summary>
            /// <param name="tamperAction">An action specifying how to tamper with the response.</param>
            /// <param name="selector">The predicate controlling when to tamper with the request.</param>
            /// <param name="options">The options controlling the behavior.</param>
            public TamperRequestBehavior(Action<Session> tamperAction, Func<Session, bool> selector = null, BehaviorOptions options = null)
                : base(tamperAction, selector, options, TriggerType.BeforeRequest)
            {
            }

            /// <summary>
            /// Initializes a new instance of the TamperRequestBehavior class.
            /// </summary>
            /// <param name="tamperAction">An action specifying how to tamper with the response.</param>
            /// <param name="n">The maximum number of sessions which should be tampered with.</param>
            /// <param name="selector">The predicate controlling when to tamper with the request.</param>
            public TamperRequestBehavior(Action<Session> tamperAction, int n, Func<Session, bool> selector = null)
                : this(tamperAction, selector, new BehaviorOptions(maximumRemainingSessions: n))
            {
            }

            /// <summary>
            /// Initializes a new instance of the TamperRequestBehavior class.
            /// </summary>
            /// <param name="tamperAction">An action specifying how to tamper with the response.</param>
            /// <param name="expiry">The DateTime at which to no longer tamper with requests.</param>
            /// <param name="selector">The predicate controlling when to tamper with the request.</param>
            public TamperRequestBehavior(Action<Session> tamperAction, DateTime expiry, Func<Session, bool> selector = null)
                : this(tamperAction, selector, new BehaviorOptions(expiry))
            {
            }
        }

        /// <summary>
        /// Helper class for response (incoming) tampering.
        /// </summary>
        private class TamperResponseBehavior : ProxyBehavior
        {
            /// <summary>
            /// Initializes a new instance of the TamperResponseBehavior class.
            /// </summary>
            /// <param name="tamperAction">An action specifying how to tamper with the response.</param>
            /// <param name="selector">The predicate controlling when to tamper with the response.</param>
            /// <param name="options">The options controlling the behavior.</param>
            public TamperResponseBehavior(Action<Session> tamperAction, Func<Session, bool> selector = null, BehaviorOptions options = null)
                : base(tamperAction, selector, options, TriggerType.BeforeResponse)
            {
            }

            /// <summary>
            /// Initializes a new instance of the TamperResponseBehavior class.
            /// </summary>
            /// <param name="tamperAction">An action specifying how to tamper with the response.</param>
            /// <param name="n">The maximum number of sessions which should be tampered with.</param>
            /// <param name="selector">The predicate controlling when to tamper with the response.</param>
            public TamperResponseBehavior(Action<Session> tamperAction, int n, Func<Session, bool> selector = null)
                : this(tamperAction, selector, new BehaviorOptions(maximumRemainingSessions: n))
            {
            }

            /// <summary>
            /// Initializes a new instance of the TamperResponseBehavior class.
            /// </summary>
            /// <param name="tamperAction">An action specifying how to tamper with the response.</param>
            /// <param name="expiry">The DateTime at which to no longer tamper with responses.</param>
            /// <param name="selector">The predicate controlling when to tamper with the response.</param>
            public TamperResponseBehavior(Action<Session> tamperAction, DateTime expiry, Func<Session, bool> selector = null)
                : this(tamperAction, selector, new BehaviorOptions(expiry))
            {
            }
        }
    }
}


text:
package com.google.code.axonguice.grouping;

import com.google.common.base.Predicate;
import com.google.inject.AbstractModule;
import org.reflections.Reflections;
import org.reflections.scanners.FieldAnnotationsScanner;
import org.reflections.scanners.MethodAnnotationsScanner;
import org.reflections.scanners.SubTypesScanner;
import org.reflections.scanners.TypeAnnotationsScanner;
import org.reflections.util.ClasspathHelper;
import org.reflections.util.ConfigurationBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.lang.reflect.Modifier;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;

import static com.google.common.collect.Collections2.filter;

/**
 * Convenient base class for all Modules which can be configured with a set of classes.
 *
 * @author Alexey Krylov
 * @since 08.02.13
 */
public abstract class AbstractClassesGroupingModule<T> extends AbstractModule {

    /*===========================================[ INSTANCE VARIABLES ]===========*/

    protected Logger logger;

    /*===========================================[ CONSTRUCTORS ]=================*/

    protected Collection<ClassesSearchGroup> classesSearchGroups;
    protected Collection<Class<? extends T>> classesGroup;

    /*===========================================[ INTERFACE METHODS ]============*/

    protected AbstractClassesGroupingModule() {
        logger = LoggerFactory.getLogger(getClass());
        classesSearchGroups = new ArrayList<>();
        classesGroup = new ArrayList<>();
    }

    @SafeVarargs
    protected AbstractClassesGroupingModule(Class<? extends T>... classes) {
        this();
        if (classes != null && classes.length > 0) {
            classesGroup = Arrays.asList(classes);
        }
    }

    protected AbstractClassesGroupingModule(Collection<ClassesSearchGroup> classesSearchGroups) {
        this();
        if (classesSearchGroups != null && !classesSearchGroups.isEmpty()) {
            this.classesSearchGroups.addAll(classesSearchGroups);
        }
    }

    protected AbstractClassesGroupingModule(String... scanPackages) {
        this();
        if (scanPackages != null && scanPackages.length > 0) {
            for (String scanPackage : scanPackages) {
                classesSearchGroups.add(new ClassesSearchGroup(scanPackage));
            }
        }
    }

    /*===========================================[ CLASS METHODS ]================*/

    protected <T> Collection<Class<? extends T>> filterSearchResult(Collection<Class<? extends T>> searchResult, final ClassesSearchGroup searchGroup) {
        return filter(searchResult, new Predicate<Class<?>>() {
            @Override
            public boolean apply(Class<?> input) {
                return !input.isInterface() && !Modifier.isAbstract(input.getModifiers()) && searchGroup.matches(input);
            }
        });
    }

    protected Reflections createReflections(Iterable<String> searchablePackages) {
        Collection<URL> scanUrls = new HashSet<>();
        for (String packageName : searchablePackages) {
            scanUrls.addAll(ClasspathHelper.forPackage(packageName));
        }

        ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
        configurationBuilder.setUrls(scanUrls);
        configurationBuilder.setScanners(
                new TypeAnnotationsScanner(),
                new SubTypesScanner(),
                new MethodAnnotationsScanner(),
                new FieldAnnotationsScanner());
        return new Reflections(configurationBuilder);
    }
}


text:
Here are the hardware design files for the doughter board.

Created with Eagle 7.2


text: A simple Reactive data source built on top of RxJava


text:
var express = require('express');
var util = require('../util');
var u = require('azure-mobile-apps/src/auth/user');
var sql = require('mssql');

var queryLocations = 'SELECT DISTINCT lo_id, lo_name, lo_address, lo_zip, lo_country, lo_latitude, lo_longitude, lo_tertulia' +
' FROM Locations' +
' INNER JOIN Tertulias ON lo_tertulia = tr_id' +
' INNER JOIN Members ON tr_id = mb_tertulia' +
' INNER JOIN Users ON mb_user = us_id' +
' WHERE tr_is_cancelled = 0 AND us_sid = @sid';

var completeError = function(err, res) {
    if (err) {
        console.error(err);
        if (res) res.sendStatus(500);
    }
};

var api = {

    all: function (req, res, next) {
        console.log('In: api/locations');
        return next();
    },

    get: function (req, res, next) {
        var selectedQuery;
        var paramsT = [];
        var paramsV = {};
        var lo_id = req.query.id;
        if (typeof lo_id === typeof undefined) { // /locations
            console.log('Preparing to get all my Locations');
            selectedQuery = queryLocations;
            paramsT['sid'] = sql.NVarChar; // String -> sql.NVarChar; Number -> sql.Int; Boolean -> sql.Bit; Date -> sql.DateTime; Buffer -> sql.VarBinary; sql.Table -> sql.TVP
            paramsV = {'sid': req.azureMobile.user.id };
        } else {
            var sub = req.query.sub;
            paramsT['sid'] = sql.NVarChar; paramsT['tertulia'] = sql.NVarChar;
            paramsV = {'sid': req.azureMobile.user.id, 'tertulia': tr_id };
            if (typeof sub === typeof undefined) { // /tertulias?id=[0-9]
                selectedQuery = queryTertuliaX;
            } else {
                switch (sub) {
                    case 'locations': // /tertulias?id=[0-9]&sub=locations
                        selectedQuery = queryLocations;
                        break;
                    case 'defaultLocation': // /tertulias?id=[0-9]&sub=defaultLocation
                        console.log('Preparing to get the ' + sub + ' of my Tertulia with id: ' + tr_id);
                        selectedQuery = queryDefaultLocation;
                        break;
                    case 'scheduleType': // /tertulias?id=[0-9]&sub=scheduleType
                        console.log('Preparing to get the ' + sub + ' of my Tertulia with id: ' + tr_id);
                        selectedQuery = queryScheduleType;
                        break;
                    case 'members': // /tertulias?id=[0-9]&sub=members
                        console.log('mPreparing to get the ' + sub + ' of my Tertulia with id: ' + tr_id);
                        selectedQuery = queryMembers;
                        break;
                    case 'schedule':
                        console.log('Preparing to get the ' + sub + ' of my Tertulia with id: ' + tr_id);
                        var schedule_type = req.query.sel;
                        console.log('schedule type: ' + schedule_type);
                        if (typeof schedule_type === typeof undefined) {
                            res.sendStatus(400);
                            return;
                        }
                        console.log('Preparing to get the ' + schedule_type + ' ' + sub + ' of my Tertulia with id: ' + tr_id);
                        switch (schedule_type) {
                            case 'MonthlyW': // /tertulias?id=[0-9]&sub=schedule&sel=MonthlyW
                                selectedQuery = queryScheduleMonthlyW;
                                break;
                            default:
                                console.log('Bum - de dentro.');
                                res.sendStatus(400);
                                return;
                        }
                        break;
                    case 'items': // /tertulias?id=[0-9]&sub=items
                        console.log('iPreparing to get the ' + sub + ' of my Tertulia with id: ' + tr_id);
                        selectedQuery = queryItems;
                        break;
                    case 'templates': // /tertulias?id=[0-9]&sub=templates
                        console.log('Preparing to get the ' + sub + ' of my Tertulia with id: ' + tr_id);
                        selectedQuery = queryTemplates;
                        break;
                    case 'template': // /tertulias?id=[0-9*]&sub=template&value=[A-z*]
                        console.log('Preparing to get the ' + sub + ' of my Tertulia with id: ' + tr_id);
                        var template = req.query.value;
                        console.log('Template: ' + template);
                        if (typeof template === typeof undefined) {
                            res.sendStatus(400);
                            return;
                        }
                        console.log('Preparing to get the ' + sub + ' ' + template + ' of my Tertulia with id: ' + tr_id);
                        selectedQuery = queryTemplate;
                        paramsT['template'] = sql.NVarChar;
                        paramsV['template'] = template;
                        break;
                    default:
                        console.log('Bum - de fora.');
                        res.sendStatus(400);
                        return;
                }
            }
        }

        var connection = new sql.Connection(util.sqlConfiguration);
        connection.connect(function(err) {
            var sqlRequest = new sql.Request(connection);
            var preparedStatement = new sql.PreparedStatement(connection);
            for (var key in paramsT) preparedStatement.input(key, paramsT[key]);
            preparedStatement.prepare(selectedQuery, function(err) {
                if (err) { completeError(err, res); return; }
                preparedStatement.execute(paramsV,
                    function(err, recordset, affected) {
                        if (err) { completeError(err, res); return; }
                        console.log(recordset);
                        preparedStatement.unprepare();
                        res.type('application/json').json(recordset);
                    }
                );
            });
        });
    }
};

api.access = 'authenticated';
module.exports = api;


text:
package org.apache.flink.table.planner.plan.nodes.physical.batch

import org.apache.flink.api.dag.Transformation
import org.apache.flink.runtime.operators.DamBehavior
import org.apache.flink.streaming.api.transformations.TwoInputTransformation
import org.apache.flink.table.api.config.ExecutionConfigOptions
import org.apache.flink.table.dataformat.BaseRow
import org.apache.flink.table.planner.calcite.FlinkTypeFactory
import org.apache.flink.table.planner.codegen.CodeGeneratorContext
import org.apache.flink.table.planner.codegen.ProjectionCodeGenerator.generateProjection
import org.apache.flink.table.planner.codegen.sort.SortCodeGenerator
import org.apache.flink.table.planner.delegation.BatchPlanner
import org.apache.flink.table.planner.plan.`trait`.FlinkRelDistributionTraitDef
import org.apache.flink.table.planner.plan.cost.{FlinkCost, FlinkCostFactory}
import org.apache.flink.table.planner.plan.nodes.ExpressionFormat
import org.apache.flink.table.planner.plan.nodes.exec.ExecNode
import org.apache.flink.table.planner.plan.nodes.resource.NodeResourceUtil
import org.apache.flink.table.planner.plan.utils.{FlinkRelMdUtil, FlinkRelOptUtil, JoinUtil, SortUtil}
import org.apache.flink.table.runtime.operators.join.{FlinkJoinType, SortMergeJoinOperator}
import org.apache.flink.table.runtime.typeutils.BaseRowTypeInfo
import org.apache.flink.table.types.logical.RowType
import org.apache.calcite.plan._
import org.apache.calcite.rel.core._
import org.apache.calcite.rel.metadata.RelMetadataQuery
import org.apache.calcite.rel.{RelCollationTraitDef, RelNode, RelWriter}
import org.apache.calcite.rex.RexNode
import org.apache.flink.configuration.MemorySize

import java.util

import scala.collection.JavaConversions._

/**
  * Batch physical RelNode for sort-merge [[Join]].
  */
class BatchExecSortMergeJoin(
    cluster: RelOptCluster,
    traitSet: RelTraitSet,
    leftRel: RelNode,
    rightRel: RelNode,
    condition: RexNode,
    joinType: JoinRelType,
    // true if LHS is sorted by left join keys, else false
    val leftSorted: Boolean,
    // true if RHS is sorted by right join key, else false
    val rightSorted: Boolean)
  extends BatchExecJoinBase(cluster, traitSet, leftRel, rightRel, condition, joinType) {

  protected lazy val (leftAllKey, rightAllKey) =
    JoinUtil.checkAndGetJoinKeys(keyPairs, getLeft, getRight)

  protected def isMergeJoinSupportedType(joinRelType: FlinkJoinType): Boolean = {
    joinRelType == FlinkJoinType.INNER ||
      joinRelType == FlinkJoinType.LEFT ||
      joinRelType == FlinkJoinType.RIGHT ||
      joinRelType == FlinkJoinType.FULL
  }

  override def copy(
      traitSet: RelTraitSet,
      conditionExpr: RexNode,
      left: RelNode,
      right: RelNode,
      joinType: JoinRelType,
      semiJoinDone: Boolean): Join = {
    new BatchExecSortMergeJoin(
      cluster,
      traitSet,
      left,
      right,
      conditionExpr,
      joinType,
      leftSorted,
      rightSorted)
  }

  override def explainTerms(pw: RelWriter): RelWriter =
    super.explainTerms(pw)
      .itemIf("leftSorted", leftSorted, leftSorted)
      .itemIf("rightSorted", rightSorted, rightSorted)

  override def computeSelfCost(planner: RelOptPlanner, mq: RelMetadataQuery): RelOptCost = {
    val leftRowCnt = mq.getRowCount(getLeft)
    val rightRowCnt = mq.getRowCount(getRight)
    if (leftRowCnt == null || rightRowCnt == null) {
      return null
    }
    val numOfSort = joinInfo.leftKeys.size()
    val leftSortCpuCost: Double = if (leftSorted) {
      // cost of writing lhs data to buffer
      leftRowCnt
    } else {
      // sort cost
      FlinkCost.COMPARE_CPU_COST * numOfSort * leftRowCnt * Math.max(Math.log(leftRowCnt), 1.0)
    }
    val rightSortCpuCost: Double = if (rightSorted) {
      // cost of writing rhs data to buffer
      rightRowCnt
    } else {
      // sort cost
      FlinkCost.COMPARE_CPU_COST * numOfSort * rightRowCnt * Math.max(Math.log(rightRowCnt), 1.0)
    }
    // cost of evaluating each join condition
    val joinConditionCpuCost = FlinkCost.COMPARE_CPU_COST * (leftRowCnt + rightRowCnt)
    val cpuCost = leftSortCpuCost + rightSortCpuCost + joinConditionCpuCost
    val costFactory = planner.getCostFactory.asInstanceOf[FlinkCostFactory]
    // assume memory is big enough, so sort process and mergeJoin process will not spill to disk.
    var sortMemCost = 0D
    if (!leftSorted) {
      sortMemCost += FlinkRelMdUtil.computeSortMemory(mq, getLeft)
    }
    if (!rightSorted) {
      sortMemCost += FlinkRelMdUtil.computeSortMemory(mq, getRight)
    }
    val rowCount = mq.getRowCount(this)
    costFactory.makeCost(rowCount, cpuCost, 0, 0, sortMemCost)
  }

  override def satisfyTraits(requiredTraitSet: RelTraitSet): Option[RelNode] = {
    val requiredDistribution = requiredTraitSet.getTrait(FlinkRelDistributionTraitDef.INSTANCE)
    val (canSatisfyDistribution, leftRequiredDistribution, rightRequiredDistribution) =
      satisfyHashDistributionOnNonBroadcastJoin(requiredDistribution)
    if (!canSatisfyDistribution) {
      return None
    }

    val requiredCollation = requiredTraitSet.getTrait(RelCollationTraitDef.INSTANCE)
    val requiredFieldCollations = requiredCollation.getFieldCollations
    val shuffleKeysSize = leftRequiredDistribution.getKeys.size

    val newLeft = RelOptRule.convert(getLeft, leftRequiredDistribution)
    val newRight = RelOptRule.convert(getRight, rightRequiredDistribution)

    // SortMergeJoin can provide collation trait, check whether provided collation can satisfy
    // required collations
    val canProvideCollation = if (requiredCollation.getFieldCollations.isEmpty) {
      false
    } else if (requiredFieldCollations.size > shuffleKeysSize) {
      // Sort by [a, b] can satisfy [a], but cannot satisfy [a, b, c]
      false
    } else {
      val leftKeys = leftRequiredDistribution.getKeys
      val leftFieldCnt = getLeft.getRowType.getFieldCount
      val rightKeys = rightRequiredDistribution.getKeys.map(_ + leftFieldCnt)
      requiredFieldCollations.zipWithIndex.forall { case (collation, index) =>
        val idxOfCollation = collation.getFieldIndex
        // Full outer join is handled before, so does not need care about it
        if (idxOfCollation < leftFieldCnt && joinType != JoinRelType.RIGHT) {
          val fieldCollationOnLeftSortKey = FlinkRelOptUtil.ofRelFieldCollation(leftKeys.get(index))
          collation == fieldCollationOnLeftSortKey
        } else if (idxOfCollation >= leftFieldCnt &&
          (joinType == JoinRelType.RIGHT || joinType == JoinRelType.INNER)) {
          val fieldCollationOnRightSortKey =
            FlinkRelOptUtil.ofRelFieldCollation(rightKeys.get(index))
          collation == fieldCollationOnRightSortKey
        } else {
          false
        }
      }
    }
    var newProvidedTraitSet = getTraitSet.replace(requiredDistribution)
    if (canProvideCollation) {
      newProvidedTraitSet = newProvidedTraitSet.replace(requiredCollation)
    }
    Some(copy(newProvidedTraitSet, Seq(newLeft, newRight)))
  }

  //~ ExecNode methods -----------------------------------------------------------

  /**
    * Now must be full dam without two input operator chain.
    * TODO two input operator chain will return different value.
    */
  override def getDamBehavior: DamBehavior = DamBehavior.FULL_DAM

  override def getInputNodes: util.List[ExecNode[BatchPlanner, _]] =
    getInputs.map(_.asInstanceOf[ExecNode[BatchPlanner, _]])

  override def replaceInputNode(
      ordinalInParent: Int,
      newInputNode: ExecNode[BatchPlanner, _]): Unit = {
    replaceInput(ordinalInParent, newInputNode.asInstanceOf[RelNode])
  }

  override protected def translateToPlanInternal(
      planner: BatchPlanner): Transformation[BaseRow] = {
    val config = planner.getTableConfig
    val leftInput = getInputNodes.get(0).translateToPlan(planner)
        .asInstanceOf[Transformation[BaseRow]]
    val rightInput = getInputNodes.get(1).translateToPlan(planner)
        .asInstanceOf[Transformation[BaseRow]]

    val leftType = leftInput.getOutputType.asInstanceOf[BaseRowTypeInfo].toRowType
    val rightType = rightInput.getOutputType.asInstanceOf[BaseRowTypeInfo].toRowType

    val keyType = RowType.of(leftAllKey.map(leftType.getChildren.get(_)): _*)

    val condFunc = JoinUtil.generateConditionFunction(
      config,
      cluster.getRexBuilder,
      getJoinInfo,
      leftType,
      rightType)

    val externalBufferMemText = config.getConfiguration.getString(
      ExecutionConfigOptions.TABLE_EXEC_RESOURCE_EXTERNAL_BUFFER_MEMORY)
    val externalBufferMemoryInMB = MemorySize.parse(externalBufferMemText).getMebiBytes
    val externalBufferMemory = externalBufferMemoryInMB * NodeResourceUtil.SIZE_IN_MB

    val sortMemText = config.getConfiguration.getString(
      ExecutionConfigOptions.TABLE_EXEC_RESOURCE_SORT_MEMORY)
    val sortMemoryInMB = MemorySize.parse(sortMemText).getMebiBytes
    val sortMemory = sortMemoryInMB * NodeResourceUtil.SIZE_IN_MB

    def newSortGen(originalKeys: Array[Int], t: RowType): SortCodeGenerator = {
      val originalOrders = originalKeys.map(_ => true)
      val (keys, orders, nullsIsLast) = SortUtil.deduplicateSortKeys(
        originalKeys,
        originalOrders,
        SortUtil.getNullDefaultOrders(originalOrders))
      val types = keys.map(t.getTypeAt)
      new SortCodeGenerator(config, keys, types, orders, nullsIsLast)
    }

    val leftSortGen = newSortGen(leftAllKey, leftType)
    val rightSortGen = newSortGen(rightAllKey, rightType)

    val operator = new SortMergeJoinOperator(
      sortMemory,
      sortMemory,
      externalBufferMemory,
      flinkJoinType,
      estimateOutputSize(getLeft) < estimateOutputSize(getRight),
      condFunc,
      generateProjection(
        CodeGeneratorContext(config), "SMJProjection", leftType, keyType, leftAllKey),
      generateProjection(
        CodeGeneratorContext(config), "SMJProjection", rightType, keyType, rightAllKey),
      leftSortGen.generateNormalizedKeyComputer("LeftComputer"),
      leftSortGen.generateRecordComparator("LeftComparator"),
      rightSortGen.generateNormalizedKeyComputer("RightComputer"),
      rightSortGen.generateRecordComparator("RightComparator"),
      newSortGen(leftAllKey.indices.toArray, keyType).generateRecordComparator("KeyComparator"),
      filterNulls)

    val externalBufferNum = if (flinkJoinType == FlinkJoinType.FULL) 2 else 1
    val managedMemoryInMB = externalBufferMemoryInMB * externalBufferNum + sortMemoryInMB * 2
    val ret = new TwoInputTransformation[BaseRow, BaseRow, BaseRow](
      leftInput,
      rightInput,
      getRelDetailedDescription,
      operator,
      BaseRowTypeInfo.of(FlinkTypeFactory.toLogicalRowType(getRowType)),
      rightInput.getParallelism)
    val resource = NodeResourceUtil.fromManagedMem(managedMemoryInMB)
    ret.setResources(resource, resource)
    ret
  }

  private def estimateOutputSize(relNode: RelNode): Double = {
    val mq = relNode.getCluster.getMetadataQuery
    mq.getAverageRowSize(relNode) * mq.getRowCount(relNode)
  }
}


text:
require 'test_helper'

class EngineRouterTest < ActiveSupport::TestCase
  test "truth" do
    assert_kind_of Module, EngineRouter
  end
end


text:
<?php

// autoload_classmap.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
    'NetteModule\\ErrorPresenter' => $vendorDir . '/nette/application/src/Application/ErrorPresenter.php',
    'NetteModule\\MicroPresenter' => $vendorDir . '/nette/application/src/Application/MicroPresenter.php',
    'Nette\\Application\\AbortException' => $vendorDir . '/nette/application/src/Application/exceptions.php',
    'Nette\\Application\\Application' => $vendorDir . '/nette/application/src/Application/Application.php',
    'Nette\\Application\\ApplicationException' => $vendorDir . '/nette/application/src/Application/exceptions.php',
    'Nette\\Application\\BadRequestException' => $vendorDir . '/nette/application/src/Application/exceptions.php',
    'Nette\\Application\\ForbiddenRequestException' => $vendorDir . '/nette/application/src/Application/exceptions.php',
    'Nette\\Application\\IPresenter' => $vendorDir . '/nette/application/src/Application/IPresenter.php',
    'Nette\\Application\\IPresenterFactory' => $vendorDir . '/nette/application/src/Application/IPresenterFactory.php',
    'Nette\\Application\\IResponse' => $vendorDir . '/nette/application/src/Application/IResponse.php',
    'Nette\\Application\\IRouter' => $vendorDir . '/nette/application/src/Application/IRouter.php',
    'Nette\\Application\\InvalidPresenterException' => $vendorDir . '/nette/application/src/Application/exceptions.php',
    'Nette\\Application\\LinkGenerator' => $vendorDir . '/nette/application/src/Application/LinkGenerator.php',
    'Nette\\Application\\PresenterFactory' => $vendorDir . '/nette/application/src/Application/PresenterFactory.php',
    'Nette\\Application\\Request' => $vendorDir . '/nette/application/src/Application/Request.php',
    'Nette\\Application\\Responses\\FileResponse' => $vendorDir . '/nette/application/src/Application/Responses/FileResponse.php',
    'Nette\\Application\\Responses\\ForwardResponse' => $vendorDir . '/nette/application/src/Application/Responses/ForwardResponse.php',
    'Nette\\Application\\Responses\\JsonResponse' => $vendorDir . '/nette/application/src/Application/Responses/JsonResponse.php',
    'Nette\\Application\\Responses\\RedirectResponse' => $vendorDir . '/nette/application/src/Application/Responses/RedirectResponse.php',
    'Nette\\Application\\Responses\\TextResponse' => $vendorDir . '/nette/application/src/Application/Responses/TextResponse.php',
    'Nette\\Application\\Routers\\CliRouter' => $vendorDir . '/nette/application/src/Application/Routers/CliRouter.php',
    'Nette\\Application\\Routers\\Route' => $vendorDir . '/nette/application/src/Application/Routers/Route.php',
    'Nette\\Application\\Routers\\RouteList' => $vendorDir . '/nette/application/src/Application/Routers/RouteList.php',
    'Nette\\Application\\Routers\\SimpleRouter' => $vendorDir . '/nette/application/src/Application/Routers/SimpleRouter.php',
    'Nette\\Application\\UI\\BadSignalException' => $vendorDir . '/nette/application/src/Application/UI/BadSignalException.php',
    'Nette\\Application\\UI\\Control' => $vendorDir . '/nette/application/src/Application/UI/Control.php',
    'Nette\\Application\\UI\\Form' => $vendorDir . '/nette/application/src/Application/UI/Form.php',
    'Nette\\Application\\UI\\IRenderable' => $vendorDir . '/nette/application/src/Application/UI/IRenderable.php',
    'Nette\\Application\\UI\\ISignalReceiver' => $vendorDir . '/nette/application/src/Application/UI/ISignalReceiver.php',
    'Nette\\Application\\UI\\IStatePersistent' => $vendorDir . '/nette/application/src/Application/UI/IStatePersistent.php',
    'Nette\\Application\\UI\\ITemplate' => $vendorDir . '/nette/application/src/Application/UI/ITemplate.php',
    'Nette\\Application\\UI\\ITemplateFactory' => $vendorDir . '/nette/application/src/Application/UI/ITemplateFactory.php',
    'Nette\\Application\\UI\\InvalidLinkException' => $vendorDir . '/nette/application/src/Application/UI/InvalidLinkException.php',
    'Nette\\Application\\UI\\Link' => $vendorDir . '/nette/application/src/Application/UI/Link.php',
    'Nette\\Application\\UI\\Multiplier' => $vendorDir . '/nette/application/src/Application/UI/Multiplier.php',
    'Nette\\Application\\UI\\Presenter' => $vendorDir . '/nette/application/src/Application/UI/Presenter.php',
    'Nette\\Application\\UI\\PresenterComponent' => $vendorDir . '/nette/application/src/Application/UI/PresenterComponent.php',
    'Nette\\Application\\UI\\PresenterComponentReflection' => $vendorDir . '/nette/application/src/Application/UI/PresenterComponentReflection.php',
    'Nette\\ArgumentOutOfRangeException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
    'Nette\\Bridges\\ApplicationDI\\ApplicationExtension' => $vendorDir . '/nette/application/src/Bridges/ApplicationDI/ApplicationExtension.php',
    'Nette\\Bridges\\ApplicationDI\\LatteExtension' => $vendorDir . '/nette/application/src/Bridges/ApplicationDI/LatteExtension.php',
    'Nette\\Bridges\\ApplicationDI\\PresenterFactoryCallback' => $vendorDir . '/nette/application/src/Bridges/ApplicationDI/PresenterFactoryCallback.php',
    'Nette\\Bridges\\ApplicationDI\\RoutingExtension' => $vendorDir . '/nette/application/src/Bridges/ApplicationDI/RoutingExtension.php',
    'Nette\\Bridges\\ApplicationLatte\\ILatteFactory' => $vendorDir . '/nette/application/src/Bridges/ApplicationLatte/ILatteFactory.php',
    'Nette\\Bridges\\ApplicationLatte\\Loader' => $vendorDir . '/nette/application/src/Bridges/ApplicationLatte/Loader.php',
    'Nette\\Bridges\\ApplicationLatte\\Template' => $vendorDir . '/nette/application/src/Bridges/ApplicationLatte/Template.php',
    'Nette\\Bridges\\ApplicationLatte\\TemplateFactory' => $vendorDir . '/nette/application/src/Bridges/ApplicationLatte/TemplateFactory.php',
    'Nette\\Bridges\\ApplicationLatte\\UIMacros' => $vendorDir . '/nette/application/src/Bridges/ApplicationLatte/UIMacros.php',
    'Nette\\Bridges\\ApplicationTracy\\RoutingPanel' => $vendorDir . '/nette/application/src/Bridges/ApplicationTracy/RoutingPanel.php',
    'Nette\\Bridges\\CacheDI\\CacheExtension' => $vendorDir . '/nette/caching/src/Bridges/CacheDI/CacheExtension.php',
    'Nette\\Bridges\\CacheLatte\\CacheMacro' => $vendorDir . '/nette/caching/src/Bridges/CacheLatte/CacheMacro.php',
    'Nette\\Bridges\\DITracy\\ContainerPanel' => $vendorDir . '/nette/di/src/Bridges/DITracy/ContainerPanel.php',
    'Nette\\Bridges\\HttpDI\\HttpExtension' => $vendorDir . '/nette/http/src/Bridges/HttpDI/HttpExtension.php',
    'Nette\\Bridges\\HttpDI\\SessionExtension' => $vendorDir . '/nette/http/src/Bridges/HttpDI/SessionExtension.php',
    'Nette\\Bridges\\HttpTracy\\SessionPanel' => $vendorDir . '/nette/http/src/Bridges/HttpTracy/SessionPanel.php',
    'Nette\\Bridges\\ReflectionDI\\ReflectionExtension' => $vendorDir . '/nette/reflection/src/Bridges/ReflectionDI/ReflectionExtension.php',
    'Nette\\Bridges\\SecurityDI\\SecurityExtension' => $vendorDir . '/nette/security/src/Bridges/SecurityDI/SecurityExtension.php',
    'Nette\\Bridges\\SecurityTracy\\UserPanel' => $vendorDir . '/nette/security/src/Bridges/SecurityTracy/UserPanel.php',
    'Nette\\Caching\\Cache' => $vendorDir . '/nette/caching/src/Caching/Cache.php',
    'Nette\\Caching\\IStorage' => $vendorDir . '/nette/caching/src/Caching/IStorage.php',
    'Nette\\Caching\\OutputHelper' => $vendorDir . '/nette/caching/src/Caching/OutputHelper.php',
    'Nette\\Caching\\Storages\\DevNullStorage' => $vendorDir . '/nette/caching/src/Caching/Storages/DevNullStorage.php',
    'Nette\\Caching\\Storages\\FileJournal' => $vendorDir . '/nette/caching/src/Caching/Storages/FileJournal.php',
    'Nette\\Caching\\Storages\\FileStorage' => $vendorDir . '/nette/caching/src/Caching/Storages/FileStorage.php',
    'Nette\\Caching\\Storages\\IJournal' => $vendorDir . '/nette/caching/src/Caching/Storages/IJournal.php',
    'Nette\\Caching\\Storages\\MemcachedStorage' => $vendorDir . '/nette/caching/src/Caching/Storages/MemcachedStorage.php',
    'Nette\\Caching\\Storages\\MemoryStorage' => $vendorDir . '/nette/caching/src/Caching/Storages/MemoryStorage.php',
    'Nette\\Caching\\Storages\\SQLiteStorage' => $vendorDir . '/nette/caching/src/Caching/Storages/SQLiteStorage.php',
    'Nette\\ComponentModel\\Component' => $vendorDir . '/nette/component-model/src/ComponentModel/Component.php',
    'Nette\\ComponentModel\\Container' => $vendorDir . '/nette/component-model/src/ComponentModel/Container.php',
    'Nette\\ComponentModel\\IComponent' => $vendorDir . '/nette/component-model/src/ComponentModel/IComponent.php',
    'Nette\\ComponentModel\\IContainer' => $vendorDir . '/nette/component-model/src/ComponentModel/IContainer.php',
    'Nette\\ComponentModel\\RecursiveComponentIterator' => $vendorDir . '/nette/component-model/src/ComponentModel/RecursiveComponentIterator.php',
    'Nette\\DI\\Compiler' => $vendorDir . '/nette/di/src/DI/Compiler.php',
    'Nette\\DI\\CompilerExtension' => $vendorDir . '/nette/di/src/DI/CompilerExtension.php',
    'Nette\\DI\\Config\\Adapters\\IniAdapter' => $vendorDir . '/nette/di/src/DI/Config/Adapters/IniAdapter.php',
    'Nette\\DI\\Config\\Adapters\\NeonAdapter' => $vendorDir . '/nette/di/src/DI/Config/Adapters/NeonAdapter.php',
    'Nette\\DI\\Config\\Adapters\\PhpAdapter' => $vendorDir . '/nette/di/src/DI/Config/Adapters/PhpAdapter.php',
    'Nette\\DI\\Config\\Helpers' => $vendorDir . '/nette/di/src/DI/Config/Helpers.php',
    'Nette\\DI\\Config\\IAdapter' => $vendorDir . '/nette/di/src/DI/Config/IAdapter.php',
    'Nette\\DI\\Config\\Loader' => $vendorDir . '/nette/di/src/DI/Config/Loader.php',
    'Nette\\DI\\Container' => $vendorDir . '/nette/di/src/DI/Container.php',
    'Nette\\DI\\ContainerBuilder' => $vendorDir . '/nette/di/src/DI/ContainerBuilder.php',
    'Nette\\DI\\ContainerFactory' => $vendorDir . '/nette/di/src/DI/ContainerFactory.php',
    'Nette\\DI\\ContainerLoader' => $vendorDir . '/nette/di/src/DI/ContainerLoader.php',
    'Nette\\DI\\Extensions\\ConstantsExtension' => $vendorDir . '/nette/di/src/DI/Extensions/ConstantsExtension.php',
    'Nette\\DI\\Extensions\\DIExtension' => $vendorDir . '/nette/di/src/DI/Extensions/DIExtension.php',
    'Nette\\DI\\Extensions\\DecoratorExtension' => $vendorDir . '/nette/di/src/DI/Extensions/DecoratorExtension.php',
    'Nette\\DI\\Extensions\\ExtensionsExtension' => $vendorDir . '/nette/di/src/DI/Extensions/ExtensionsExtension.php',
    'Nette\\DI\\Extensions\\InjectExtension' => $vendorDir . '/nette/di/src/DI/Extensions/InjectExtension.php',
    'Nette\\DI\\Extensions\\PhpExtension' => $vendorDir . '/nette/di/src/DI/Extensions/PhpExtension.php',
    'Nette\\DI\\Helpers' => $vendorDir . '/nette/di/src/DI/Helpers.php',
    'Nette\\DI\\MissingServiceException' => $vendorDir . '/nette/di/src/DI/exceptions.php',
    'Nette\\DI\\PhpReflection' => $vendorDir . '/nette/di/src/DI/PhpReflection.php',
    'Nette\\DI\\ServiceCreationException' => $vendorDir . '/nette/di/src/DI/exceptions.php',
    'Nette\\DI\\ServiceDefinition' => $vendorDir . '/nette/di/src/DI/ServiceDefinition.php',
    'Nette\\DI\\Statement' => $vendorDir . '/nette/di/src/DI/Statement.php',
    'Nette\\DeprecatedException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
    'Nette\\DirectoryNotFoundException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
    'Nette\\FileNotFoundException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
    'Nette\\Http\\Context' => $vendorDir . '/nette/http/src/Http/Context.php',
    'Nette\\Http\\FileUpload' => $vendorDir . '/nette/http/src/Http/FileUpload.php',
    'Nette\\Http\\Helpers' => $vendorDir . '/nette/http/src/Http/Helpers.php',
    'Nette\\Http\\IRequest' => $vendorDir . '/nette/http/src/Http/IRequest.php',
    'Nette\\Http\\IResponse' => $vendorDir . '/nette/http/src/Http/IResponse.php',
    'Nette\\Http\\ISessionStorage' => $vendorDir . '/nette/http/src/Http/ISessionStorage.php',
    'Nette\\Http\\Request' => $vendorDir . '/nette/http/src/Http/Request.php',
    'Nette\\Http\\RequestFactory' => $vendorDir . '/nette/http/src/Http/RequestFactory.php',
    'Nette\\Http\\Response' => $vendorDir . '/nette/http/src/Http/Response.php',
    'Nette\\Http\\Session' => $vendorDir . '/nette/http/src/Http/Session.php',
    'Nette\\Http\\SessionSection' => $vendorDir . '/nette/http/src/Http/SessionSection.php',
    'Nette\\Http\\Url' => $vendorDir . '/nette/http/src/Http/Url.php',
    'Nette\\Http\\UrlScript' => $vendorDir . '/nette/http/src/Http/UrlScript.php',
    'Nette\\Http\\UserStorage' => $vendorDir . '/nette/http/src/Http/UserStorage.php',
    'Nette\\IOException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
    'Nette\\InvalidArgumentException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
    'Nette\\InvalidStateException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
    'Nette\\Iterators\\CachingIterator' => $vendorDir . '/nette/utils/src/Iterators/CachingIterator.php',
    'Nette\\Iterators\\Filter' => $vendorDir . '/nette/utils/src/Iterators/Filter.php',
    'Nette\\Iterators\\Mapper' => $vendorDir . '/nette/utils/src/Iterators/Mapper.php',
    'Nette\\Iterators\\RecursiveFilter' => $vendorDir . '/nette/utils/src/Iterators/RecursiveFilter.php',
    'Nette\\Localization\\ITranslator' => $vendorDir . '/nette/utils/src/Utils/ITranslator.php',
    'Nette\\MemberAccessException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
    'Nette\\Neon\\Decoder' => $vendorDir . '/nette/neon/src/Neon/Decoder.php',
    'Nette\\Neon\\Encoder' => $vendorDir . '/nette/neon/src/Neon/Encoder.php',
    'Nette\\Neon\\Entity' => $vendorDir . '/nette/neon/src/Neon/Entity.php',
    'Nette\\Neon\\Exception' => $vendorDir . '/nette/neon/src/Neon/Exception.php',
    'Nette\\Neon\\Neon' => $vendorDir . '/nette/neon/src/Neon/Neon.php',
    'Nette\\NotImplementedException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
    'Nette\\NotSupportedException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
    'Nette\\Object' => $vendorDir . '/nette/utils/src/Utils/Object.php',
    'Nette\\OutOfRangeException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
    'Nette\\PhpGenerator\\ClassType' => $vendorDir . '/nette/php-generator/src/PhpGenerator/ClassType.php',
    'Nette\\PhpGenerator\\Helpers' => $vendorDir . '/nette/php-generator/src/PhpGenerator/Helpers.php',
    'Nette\\PhpGenerator\\Method' => $vendorDir . '/nette/php-generator/src/PhpGenerator/Method.php',
    'Nette\\PhpGenerator\\Parameter' => $vendorDir . '/nette/php-generator/src/PhpGenerator/Parameter.php',
    'Nette\\PhpGenerator\\PhpFile' => $vendorDir . '/nette/php-generator/src/PhpGenerator/PhpFile.php',
    'Nette\\PhpGenerator\\PhpLiteral' => $vendorDir . '/nette/php-generator/src/PhpGenerator/PhpLiteral.php',
    'Nette\\PhpGenerator\\PhpNamespace' => $vendorDir . '/nette/php-generator/src/PhpGenerator/PhpNamespace.php',
    'Nette\\PhpGenerator\\Property' => $vendorDir . '/nette/php-generator/src/PhpGenerator/Property.php',
    'Nette\\Reflection\\Annotation' => $vendorDir . '/nette/reflection/src/Reflection/Annotation.php',
    'Nette\\Reflection\\AnnotationsParser' => $vendorDir . '/nette/reflection/src/Reflection/AnnotationsParser.php',
    'Nette\\Reflection\\ClassType' => $vendorDir . '/nette/reflection/src/Reflection/ClassType.php',
    'Nette\\Reflection\\Extension' => $vendorDir . '/nette/reflection/src/Reflection/Extension.php',
    'Nette\\Reflection\\GlobalFunction' => $vendorDir . '/nette/reflection/src/Reflection/GlobalFunction.php',
    'Nette\\Reflection\\Helpers' => $vendorDir . '/nette/reflection/src/Reflection/Helpers.php',
    'Nette\\Reflection\\IAnnotation' => $vendorDir . '/nette/reflection/src/Reflection/IAnnotation.php',
    'Nette\\Reflection\\Method' => $vendorDir . '/nette/reflection/src/Reflection/Method.php',
    'Nette\\Reflection\\Parameter' => $vendorDir . '/nette/reflection/src/Reflection/Parameter.php',
    'Nette\\Reflection\\Property' => $vendorDir . '/nette/reflection/src/Reflection/Property.php',
    'Nette\\Security\\AuthenticationException' => $vendorDir . '/nette/security/src/Security/AuthenticationException.php',
    'Nette\\Security\\IAuthenticator' => $vendorDir . '/nette/security/src/Security/IAuthenticator.php',
    'Nette\\Security\\IAuthorizator' => $vendorDir . '/nette/security/src/Security/IAuthorizator.php',
    'Nette\\Security\\IIdentity' => $vendorDir . '/nette/security/src/Security/IIdentity.php',
    'Nette\\Security\\IResource' => $vendorDir . '/nette/security/src/Security/IResource.php',
    'Nette\\Security\\IRole' => $vendorDir . '/nette/security/src/Security/IRole.php',
    'Nette\\Security\\IUserStorage' => $vendorDir . '/nette/security/src/Security/IUserStorage.php',
    'Nette\\Security\\Identity' => $vendorDir . '/nette/security/src/Security/Identity.php',
    'Nette\\Security\\Passwords' => $vendorDir . '/nette/security/src/Security/Passwords.php',
    'Nette\\Security\\Permission' => $vendorDir . '/nette/security/src/Security/Permission.php',
    'Nette\\Security\\SimpleAuthenticator' => $vendorDir . '/nette/security/src/Security/SimpleAuthenticator.php',
    'Nette\\Security\\User' => $vendorDir . '/nette/security/src/Security/User.php',
    'Nette\\StaticClassException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
    'Nette\\UnexpectedValueException' => $vendorDir . '/nette/utils/src/Utils/exceptions.php',
    'Nette\\Utils\\ArrayHash' => $vendorDir . '/nette/utils/src/Utils/ArrayHash.php',
    'Nette\\Utils\\ArrayList' => $vendorDir . '/nette/utils/src/Utils/ArrayList.php',
    'Nette\\Utils\\Arrays' => $vendorDir . '/nette/utils/src/Utils/Arrays.php',
    'Nette\\Utils\\AssertionException' => $vendorDir . '/nette/utils/src/Utils/Validators.php',
    'Nette\\Utils\\Callback' => $vendorDir . '/nette/utils/src/Utils/Callback.php',
    'Nette\\Utils\\CallbackFilterIterator' => $vendorDir . '/nette/finder/src/Finder/CallbackFilterIterator.php',
    'Nette\\Utils\\DateTime' => $vendorDir . '/nette/utils/src/Utils/DateTime.php',
    'Nette\\Utils\\FileSystem' => $vendorDir . '/nette/utils/src/Utils/FileSystem.php',
    'Nette\\Utils\\Finder' => $vendorDir . '/nette/finder/src/Finder/Finder.php',
    'Nette\\Utils\\Html' => $vendorDir . '/nette/utils/src/Utils/Html.php',
    'Nette\\Utils\\IHtmlString' => $vendorDir . '/nette/utils/src/Utils/IHtmlString.php',
    'Nette\\Utils\\Image' => $vendorDir . '/nette/utils/src/Utils/Image.php',
    'Nette\\Utils\\ImageException' => $vendorDir . '/nette/utils/src/Utils/Image.php',
    'Nette\\Utils\\Json' => $vendorDir . '/nette/utils/src/Utils/Json.php',
    'Nette\\Utils\\JsonException' => $vendorDir . '/nette/utils/src/Utils/Json.php',
    'Nette\\Utils\\ObjectMixin' => $vendorDir . '/nette/utils/src/Utils/ObjectMixin.php',
    'Nette\\Utils\\Paginator' => $vendorDir . '/nette/utils/src/Utils/Paginator.php',
    'Nette\\Utils\\Random' => $vendorDir . '/nette/utils/src/Utils/Random.php',
    'Nette\\Utils\\RecursiveCallbackFilterIterator' => $vendorDir . '/nette/finder/src/Finder/RecursiveCallbackFilterIterator.php',
    'Nette\\Utils\\RegexpException' => $vendorDir . '/nette/utils/src/Utils/Strings.php',
    'Nette\\Utils\\Strings' => $vendorDir . '/nette/utils/src/Utils/Strings.php',
    'Nette\\Utils\\UnknownImageFileException' => $vendorDir . '/nette/utils/src/Utils/Image.php',
    'Nette\\Utils\\Validators' => $vendorDir . '/nette/utils/src/Utils/Validators.php',
    'Tracy\\Bar' => $vendorDir . '/tracy/tracy/src/Tracy/Bar.php',
    'Tracy\\BlueScreen' => $vendorDir . '/tracy/tracy/src/Tracy/BlueScreen.php',
    'Tracy\\Bridges\\Nette\\TracyExtension' => $vendorDir . '/tracy/tracy/src/Bridges/Nette/TracyExtension.php',
    'Tracy\\Debugger' => $vendorDir . '/tracy/tracy/src/Tracy/Debugger.php',
    'Tracy\\DefaultBarPanel' => $vendorDir . '/tracy/tracy/src/Tracy/DefaultBarPanel.php',
    'Tracy\\Dumper' => $vendorDir . '/tracy/tracy/src/Tracy/Dumper.php',
    'Tracy\\FireLogger' => $vendorDir . '/tracy/tracy/src/Tracy/FireLogger.php',
    'Tracy\\Helpers' => $vendorDir . '/tracy/tracy/src/Tracy/Helpers.php',
    'Tracy\\IBarPanel' => $vendorDir . '/tracy/tracy/src/Tracy/IBarPanel.php',
    'Tracy\\ILogger' => $vendorDir . '/tracy/tracy/src/Tracy/ILogger.php',
    'Tracy\\Logger' => $vendorDir . '/tracy/tracy/src/Tracy/Logger.php',
    'Tracy\\OutputDebugger' => $vendorDir . '/tracy/tracy/src/Tracy/OutputDebugger.php',
);


text:
package ec2

import "github.com/timob/javabind"

type ServicesEc2ModelMonitoringStateInterface interface {

	// public static com.amazonaws.services.ec2.model.MonitoringState[] values()
	Values() []*ServicesEc2ModelMonitoringState

	// public static com.amazonaws.services.ec2.model.MonitoringState valueOf(java.lang.String)
	ValueOf(a string) *ServicesEc2ModelMonitoringState

	// public java.lang.String toString()
	ToString() string

	// public static com.amazonaws.services.ec2.model.MonitoringState fromValue(java.lang.String)
	FromValue(a string) *ServicesEc2ModelMonitoringState
}

type ServicesEc2ModelMonitoringState struct {
	*javabind.Callable
}

// public static com.amazonaws.services.ec2.model.MonitoringState[] values()
func (jbobject *ServicesEc2ModelMonitoringState) Values() []*ServicesEc2ModelMonitoringState {
	jret, err := javabind.GetEnv().CallStaticMethod("com/amazonaws/services/ec2/model/MonitoringState", "values", javabind.ObjectArrayType("com/amazonaws/services/ec2/model/MonitoringState"))
	if err != nil {
		panic(err)
	}
	retconv := javabind.NewJavaToGoObjectArray(javabind.NewJavaToGoCallable(), "com/amazonaws/services/ec2/model/MonitoringState")
	dst := new([]*ServicesEc2ModelMonitoringState)
	retconv.Dest(dst)
	if err := retconv.Convert(javabind.ObjectRef(jret)); err != nil {
		panic(err)
	}
	retconv.CleanUp()
	return *dst
}

// public static com.amazonaws.services.ec2.model.MonitoringState valueOf(java.lang.String)
func (jbobject *ServicesEc2ModelMonitoringState) ValueOf(a string) *ServicesEc2ModelMonitoringState {
	conv_a := javabind.NewGoToJavaString()
	if err := conv_a.Convert(a); err != nil {
		panic(err)
	}
	jret, err := javabind.GetEnv().CallStaticMethod("com/amazonaws/services/ec2/model/MonitoringState", "valueOf", "com/amazonaws/services/ec2/model/MonitoringState", conv_a.Value().Cast("java/lang/String"))
	if err != nil {
		panic(err)
	}
	conv_a.CleanUp()
	retconv := javabind.NewJavaToGoCallable()
	dst := &javabind.Callable{}
	retconv.Dest(dst)
	if err := retconv.Convert(javabind.ObjectRef(jret)); err != nil {
		panic(err)
	}
	retconv.CleanUp()
	unique_x := &ServicesEc2ModelMonitoringState{}
	unique_x.Callable = dst
	return unique_x
}

// public java.lang.String toString()
func (jbobject *ServicesEc2ModelMonitoringState) ToString() string {
	jret, err := jbobject.CallMethod(javabind.GetEnv(), "toString", "java/lang/String")
	if err != nil {
		panic(err)
	}
	retconv := javabind.NewJavaToGoString()
	dst := new(string)
	retconv.Dest(dst)
	if err := retconv.Convert(javabind.ObjectRef(jret)); err != nil {
		panic(err)
	}
	retconv.CleanUp()
	return *dst
}

// public static com.amazonaws.services.ec2.model.MonitoringState fromValue(java.lang.String)
func (jbobject *ServicesEc2ModelMonitoringState) FromValue(a string) *ServicesEc2ModelMonitoringState {
	conv_a := javabind.NewGoToJavaString()
	if err := conv_a.Convert(a); err != nil {
		panic(err)
	}
	jret, err := javabind.GetEnv().CallStaticMethod("com/amazonaws/services/ec2/model/MonitoringState", "fromValue", "com/amazonaws/services/ec2/model/MonitoringState", conv_a.Value().Cast("java/lang/String"))
	if err != nil {
		panic(err)
	}
	conv_a.CleanUp()
	retconv := javabind.NewJavaToGoCallable()
	dst := &javabind.Callable{}
	retconv.Dest(dst)
	if err := retconv.Convert(javabind.ObjectRef(jret)); err != nil {
		panic(err)
	}
	retconv.CleanUp()
	unique_x := &ServicesEc2ModelMonitoringState{}
	unique_x.Callable = dst
	return unique_x
}

func (jbobject *ServicesEc2ModelMonitoringState) Disabled() *ServicesEc2ModelMonitoringState {
	jret, err := javabind.GetEnv().GetStaticField("com/amazonaws/services/ec2/model/MonitoringState", "Disabled", "com/amazonaws/services/ec2/model/MonitoringState")
	if err != nil {
		panic(err)
	}
	retconv := javabind.NewJavaToGoCallable()
	dst := &javabind.Callable{}
	retconv.Dest(dst)
	if err := retconv.Convert(javabind.ObjectRef(jret)); err != nil {
		panic(err)
	}
	retconv.CleanUp()
	unique_x := &ServicesEc2ModelMonitoringState{}
	unique_x.Callable = dst
	return unique_x
}

func (jbobject *ServicesEc2ModelMonitoringState) SetFieldDisabled(val ServicesEc2ModelMonitoringStateInterface) {
	conv_val := javabind.NewGoToJavaCallable()
	if err := conv_val.Convert(val); err != nil {
		panic(err)
	}
	err := javabind.GetEnv().SetStaticField("com/amazonaws/services/ec2/model/MonitoringState", "Disabled", conv_val.Value())
	if err != nil {
		panic(err)
	}
	conv_val.CleanUp()

}

func (jbobject *ServicesEc2ModelMonitoringState) Disabling() *ServicesEc2ModelMonitoringState {
	jret, err := javabind.GetEnv().GetStaticField("com/amazonaws/services/ec2/model/MonitoringState", "Disabling", "com/amazonaws/services/ec2/model/MonitoringState")
	if err != nil {
		panic(err)
	}
	retconv := javabind.NewJavaToGoCallable()
	dst := &javabind.Callable{}
	retconv.Dest(dst)
	if err := retconv.Convert(javabind.ObjectRef(jret)); err != nil {
		panic(err)
	}
	retconv.CleanUp()
	unique_x := &ServicesEc2ModelMonitoringState{}
	unique_x.Callable = dst
	return unique_x
}

func (jbobject *ServicesEc2ModelMonitoringState) SetFieldDisabling(val ServicesEc2ModelMonitoringStateInterface) {
	conv_val := javabind.NewGoToJavaCallable()
	if err := conv_val.Convert(val); err != nil {
		panic(err)
	}
	err := javabind.GetEnv().SetStaticField("com/amazonaws/services/ec2/model/MonitoringState", "Disabling", conv_val.Value())
	if err != nil {
		panic(err)
	}
	conv_val.CleanUp()

}

func (jbobject *ServicesEc2ModelMonitoringState) Enabled() *ServicesEc2ModelMonitoringState {
	jret, err := javabind.GetEnv().GetStaticField("com/amazonaws/services/ec2/model/MonitoringState", "Enabled", "com/amazonaws/services/ec2/model/MonitoringState")
	if err != nil {
		panic(err)
	}
	retconv := javabind.NewJavaToGoCallable()
	dst := &javabind.Callable{}
	retconv.Dest(dst)
	if err := retconv.Convert(javabind.ObjectRef(jret)); err != nil {
		panic(err)
	}
	retconv.CleanUp()
	unique_x := &ServicesEc2ModelMonitoringState{}
	unique_x.Callable = dst
	return unique_x
}

func (jbobject *ServicesEc2ModelMonitoringState) SetFieldEnabled(val ServicesEc2ModelMonitoringStateInterface) {
	conv_val := javabind.NewGoToJavaCallable()
	if err := conv_val.Convert(val); err != nil {
		panic(err)
	}
	err := javabind.GetEnv().SetStaticField("com/amazonaws/services/ec2/model/MonitoringState", "Enabled", conv_val.Value())
	if err != nil {
		panic(err)
	}
	conv_val.CleanUp()

}

func (jbobject *ServicesEc2ModelMonitoringState) Pending() *ServicesEc2ModelMonitoringState {
	jret, err := javabind.GetEnv().GetStaticField("com/amazonaws/services/ec2/model/MonitoringState", "Pending", "com/amazonaws/services/ec2/model/MonitoringState")
	if err != nil {
		panic(err)
	}
	retconv := javabind.NewJavaToGoCallable()
	dst := &javabind.Callable{}
	retconv.Dest(dst)
	if err := retconv.Convert(javabind.ObjectRef(jret)); err != nil {
		panic(err)
	}
	retconv.CleanUp()
	unique_x := &ServicesEc2ModelMonitoringState{}
	unique_x.Callable = dst
	return unique_x
}

func (jbobject *ServicesEc2ModelMonitoringState) SetFieldPending(val ServicesEc2ModelMonitoringStateInterface) {
	conv_val := javabind.NewGoToJavaCallable()
	if err := conv_val.Convert(val); err != nil {
		panic(err)
	}
	err := javabind.GetEnv().SetStaticField("com/amazonaws/services/ec2/model/MonitoringState", "Pending", conv_val.Value())
	if err != nil {
		panic(err)
	}
	conv_val.CleanUp()

}


text:
<?php

function path($path){
    $paths = array('sys'=>__DIR__.DS.'system','app'=>__DIR__.DS.'app');
    return $paths[$path];
}