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

<!--
  ~ Copyright 2020 Red Hat, Inc. and/or its affiliates.
  ~
  ~ 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.
  -->
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.8.2//EN"
    "http://www.gwtproject.org/doctype/2.8.2/gwt-module.dtd">
<!--
  ~ Dummy module. UberfirePreferencesClientBackend is not needed but inherited through the dependency chain.
  -->
<module>

</module>


text:
package java.util;

public class Observable {

  private List<Observer> observers = new ArrayList<Observer>();
  private boolean changed = false;

  public void addObserver(Observer o) {
    if(o == null) {
      throw new NullPointerException();
    }
    synchronized(this) {
      if(!observers.contains(o)) {
        observers.add(o);
      }
    }
  }

  public synchronized int countObservers() {
    return observers.size();
  }

  public void deleteObserver(Observer o) {
    if(o == null) {
      throw new NullPointerException();
    }
    synchronized(this) {
      observers.remove(o);
    }
  }

  public void notifyObservers() {
    notifyObservers(null);
  }

  public synchronized void notifyObservers(Object value) {
    Observer[] obsArray = null;
    synchronized(this) {
      if(hasChanged()) {
        clearChanged();
        obsArray = observers.toArray(new Observer[observers.size()]);
      }
    }
    if(obsArray != null) {
      for(Observer obs : obsArray) {
        obs.update(this, value);
      }
    }
  }

  public boolean hasChanged() {
    return changed;
  }

  protected void setChanged() {
    changed = true;
  }

  protected void clearChanged() {
    changed = false;
  }

}

redpajama_set_name: RedPajamaGithub


text:
<?php
class db_manager
{
    protected $con;

    public function __construct($mysql_database, $mysql_host, $mysql_username, $mysql_password, $charset='utf8')
    {
        $dbConnection = new PDO('mysql:dbname=' . $mysql_database.  ';host=' . $mysql_host . ';charset=' . $charset , $mysql_username, $mysql_password);
        $dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        $this->con = $dbConnection;
    }

    public function execute($sql, $params = array())
    {
        $stmt = $this->con->prepare($sql);
        $stmt->execute($params);

        return $stmt;
    }

    public function fetch($sql, $params = array())
    {
        return $this->execute($sql, $params)->fetch(PDO::FETCH_ASSOC);
    }

    public function fetchAll($sql, $params = array())
    {
        return $this->execute($sql, $params)->fetchAll(PDO::FETCH_ASSOC);
    }

    public function __destruct()
    {
        unset($this->con);
    }
}
?>


text:
//  Copyright 2021 Google Inc. All Rights Reserved.
//
//  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.

using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;

namespace NtApiDotNet.Utilities.Text
{
    /// <summary>
    /// Utility class to extract strings from a byte value.
    /// </summary>
    public static class StringExtractor
    {
        private static bool IsPrintable(char c)
        {
            switch (c)
            {
                case '\t':
                case ' ':
                    return true;
            }
            return c > 32 && c < 128;
        }

        private static ExtractedString CreateResult(this StringBuilder builder, long base_offset, long i, ExtractedStringType type, string source)
        {
            int str_length = type.HasFlagSet(ExtractedStringType.Unicode) ? (builder.Length * 2 + 1) : builder.Length;
            return new ExtractedString(builder.ToString(), base_offset + i - str_length, type, source);
        }

        private static IEnumerable<ExtractedString> Extract(Stream data, long base_offset, int minimum_length, ExtractedStringType type, string source)
        {
            if (data is null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            if (minimum_length <= 0)
                throw new ArgumentException("Must specify a minimum length of at least 1.");

            StringBuilder ascii = new StringBuilder();
            StringBuilder unicode = new StringBuilder();
            StringBuilder unicode_unaligned = new StringBuilder();
            bool parse_ascii = type.HasFlagSet(ExtractedStringType.Ascii);
            bool parse_unicode = type.HasFlagSet(ExtractedStringType.Unicode);
            byte[] unicode_char = new byte[2];
            int b = data.ReadByte();
            long i = 0;
            while(b >= 0)
            {
                if (parse_ascii)
                {
                    char c = (char)b;
                    if (IsPrintable(c))
                    {
                        ascii.Append(c);
                    }
                    else
                    {
                        if (ascii.Length >= minimum_length)
                        {
                            yield return ascii.CreateResult(base_offset, i, ExtractedStringType.Ascii, source);
                        }
                        ascii.Clear();
                    }
                }
                if (parse_unicode)
                {
                    unicode_char[0] = unicode_char[1];
                    unicode_char[1] = (byte)b;
                    char c = BitConverter.ToChar(unicode_char, 0);
                    if ((i & 1) == 1)
                    {
                        if (IsPrintable(c))
                        {
                            unicode.Append(c);
                        }
                        else
                        {
                            if (unicode.Length >= minimum_length)
                            {
                                yield return unicode.CreateResult(base_offset, i, ExtractedStringType.Unicode, source);
                            }
                            unicode.Clear();
                        }
                    }
                    else if (i > 1)
                    {
                        if (IsPrintable(c))
                        {
                            unicode_unaligned.Append(c);
                        }
                        else
                        {
                            if (unicode_unaligned.Length >= minimum_length)
                            {
                                yield return unicode_unaligned.CreateResult(base_offset, i, ExtractedStringType.Unicode, source);
                            }
                            unicode_unaligned.Clear();
                        }
                    }
                }

                i++;
                b = data.ReadByte();
            }

            if (ascii.Length >= minimum_length)
            {
                yield return ascii.CreateResult(base_offset, i, ExtractedStringType.Ascii, source);
            }

            if (unicode.Length >= minimum_length)
            {
                yield return unicode.CreateResult(base_offset, i, ExtractedStringType.Unicode, source);
            }

            if (unicode_unaligned.Length >= minimum_length)
            {
                yield return unicode_unaligned.CreateResult(base_offset, i, ExtractedStringType.Unicode, source);
            }
        }

        /// <summary>
        /// Extracts strings from a binary buffer.
        /// </summary>
        /// <param name="data">The data to search.</param>
        /// <param name="count">The length of the data to search.</param>
        /// <param name="minimum_length">The minimum string length.</param>
        /// <param name="offset">The offset into the data to search.</param>
        /// <param name="type">The type of strings to search for.</param>
        /// <returns>The list of extracted strings.</returns>
        public static IEnumerable<ExtractedString> Extract(byte[] data, int offset, int count, int minimum_length, ExtractedStringType type)
        {
            return Extract(new MemoryStream(data, offset, count), offset, minimum_length, type, string.Empty);
        }

        /// <summary>
        /// Extracts strings from a binary buffer.
        /// </summary>
        /// <param name="data">The data to search.</param>
        /// <param name="minimum_length">The minimum string length.</param>
        /// <param name="type">The type of strings to search for.</param>
        /// <returns>The list of extracted strings.</returns>
        public static IEnumerable<ExtractedString> Extract(byte[] data, int minimum_length, ExtractedStringType type)
        {
            return Extract(data, 0, data.Length, minimum_length, type);
        }

        /// <summary>
        /// Extracts strings from a stream.
        /// </summary>
        /// <param name="stm">The stream to extract strings from.</param>
        /// <param name="minimum_length">The minimum string length.</param>
        /// <param name="type">The type of strings to search for.</param>
        /// <returns>The list of extracted strings.</returns>
        public static IEnumerable<ExtractedString> Extract(Stream stm, int minimum_length, ExtractedStringType type)
        {
            return Extract(stm, 0, minimum_length, type, string.Empty);
        }

        /// <summary>
        /// Extracts strings from a file.
        /// </summary>
        /// <param name="path">The file to search.</param>
        /// <param name="minimum_length">The minimum string length.</param>
        /// <param name="type">The type of strings to search for.</param>
        /// <returns>The list of extracted strings.</returns>
        public static IEnumerable<ExtractedString> Extract(string path, int minimum_length, ExtractedStringType type)
        {
            using (var stm = File.OpenRead(path))
            {
                foreach (var res in Extract(stm, 0, minimum_length, type, stm.Name))
                {
                    yield return res;
                }
            }
        }

        /// <summary>
        /// Extracts strings from a safe buffer.
        /// </summary>
        /// <param name="buffer">Safe buffer to extract the value from.</param>
        /// <param name="minimum_length">The minimum string length.</param>
        /// <param name="type">The type of strings to search for.</param>
        /// <returns>The list of extracted strings.</returns>
        public static IEnumerable<ExtractedString> Extract(SafeBuffer buffer, int minimum_length, ExtractedStringType type)
        {
            return Extract(buffer, 0, buffer.GetLength(), minimum_length, type);
        }

        /// <summary>
        /// Extracts strings from a safe buffer.
        /// </summary>
        /// <param name="buffer">Safe buffer to extract the value from.</param>
        /// <param name="minimum_length">The minimum string length.</param>
        /// <param name="type">The type of strings to search for.</param>
        /// <param name="count">The length of the data to search.</param>
        /// <param name="offset">The offset into the data to search.</param>
        /// <returns>The list of extracted strings.</returns>
        public static IEnumerable<ExtractedString> Extract(SafeBuffer buffer, int offset, int count, int minimum_length, ExtractedStringType type)
        {
            return Extract(new UnmanagedMemoryStream(buffer, offset, count), buffer.DangerousGetHandle().ToInt64() + offset,
                    minimum_length, type, string.Empty);
        }
    }
}


text:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<TITLE>
Uses of Class model.RefundHelper
</TITLE>

<META NAME="date" CONTENT="2015-10-23">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">

      Overview
      Package
      Class
    Use
      Tree
      Deprecated
      Index
      Help

 PREV
 NEXT

  FRAMES
 NO FRAMES

  All Classes

Uses of Class
model.RefundHelper

Packages that use RefundHelper

controller

Uses of RefundHelper in controller

Methods in controller that return RefundHelper

 RefundHelper
BitPay.requestRefund(Invoice invoice,
              java.lang.String bitcoinAddress,
              java.lang.Double amount,
              java.lang.String currency)

          Request a refund for a BitPay invoice.

 RefundHelper
BitPay.requestRefund(java.lang.String invoiceId,
              java.lang.String bitcoinAddress)

          Request a full refund for a BitPay invoice.

      Overview
      Package
      Class
    Use
      Tree
      Deprecated
      Index
      Help

 PREV
 NEXT

  FRAMES
 NO FRAMES

  All Classes


text:
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/api/servicemanagement/v1/servicemanager.proto

package com.google.api.servicemanagement.v1;

/**
 *

 * Response message for ListServiceRollouts method.
 *

 *
 * Protobuf type {@code google.api.servicemanagement.v1.ListServiceRolloutsResponse}
 */
public  final class ListServiceRolloutsResponse extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:google.api.servicemanagement.v1.ListServiceRolloutsResponse)
    ListServiceRolloutsResponseOrBuilder {
  // Use ListServiceRolloutsResponse.newBuilder() to construct.
  private ListServiceRolloutsResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }
  private ListServiceRolloutsResponse() {
    rollouts_ = java.util.Collections.emptyList();
    nextPageToken_ = "";
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
  }
  private ListServiceRolloutsResponse(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    this();
    int mutable_bitField0_ = 0;
    try {
      boolean done = false;
      while (!done) {
        int tag = input.readTag();
        switch (tag) {
          case 0:
            done = true;
            break;
          default: {
            if (!input.skipField(tag)) {
              done = true;
            }
            break;
          }
          case 10: {
            if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
              rollouts_ = new java.util.ArrayList<com.google.api.servicemanagement.v1.Rollout>();
              mutable_bitField0_ |= 0x00000001;
            }
            rollouts_.add(
                input.readMessage(com.google.api.servicemanagement.v1.Rollout.parser(), extensionRegistry));
            break;
          }
          case 18: {
            java.lang.String s = input.readStringRequireUtf8();

            nextPageToken_ = s;
            break;
          }
        }
      }
    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
      throw e.setUnfinishedMessage(this);
    } catch (java.io.IOException e) {
      throw new com.google.protobuf.InvalidProtocolBufferException(
          e).setUnfinishedMessage(this);
    } finally {
      if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
        rollouts_ = java.util.Collections.unmodifiableList(rollouts_);
      }
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return com.google.api.servicemanagement.v1.ServiceManagerProto.internal_static_google_api_servicemanagement_v1_ListServiceRolloutsResponse_descriptor;
  }

  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.google.api.servicemanagement.v1.ServiceManagerProto.internal_static_google_api_servicemanagement_v1_ListServiceRolloutsResponse_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.google.api.servicemanagement.v1.ListServiceRolloutsResponse.class, com.google.api.servicemanagement.v1.ListServiceRolloutsResponse.Builder.class);
  }

  private int bitField0_;
  public static final int ROLLOUTS_FIELD_NUMBER = 1;
  private java.util.List<com.google.api.servicemanagement.v1.Rollout> rollouts_;
  /**
   *

   * The list of rollout resources.
   *

   *
   * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
   */
  public java.util.List<com.google.api.servicemanagement.v1.Rollout> getRolloutsList() {
    return rollouts_;
  }
  /**
   *

   * The list of rollout resources.
   *

   *
   * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
   */
  public java.util.List<? extends com.google.api.servicemanagement.v1.RolloutOrBuilder>
      getRolloutsOrBuilderList() {
    return rollouts_;
  }
  /**
   *

   * The list of rollout resources.
   *

   *
   * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
   */
  public int getRolloutsCount() {
    return rollouts_.size();
  }
  /**
   *

   * The list of rollout resources.
   *

   *
   * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
   */
  public com.google.api.servicemanagement.v1.Rollout getRollouts(int index) {
    return rollouts_.get(index);
  }
  /**
   *

   * The list of rollout resources.
   *

   *
   * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
   */
  public com.google.api.servicemanagement.v1.RolloutOrBuilder getRolloutsOrBuilder(
      int index) {
    return rollouts_.get(index);
  }

  public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2;
  private volatile java.lang.Object nextPageToken_;
  /**
   *

   * The token of the next page of results.
   *

   *
   * optional string next_page_token = 2;
   */
  public java.lang.String getNextPageToken() {
    java.lang.Object ref = nextPageToken_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs =
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      nextPageToken_ = s;
      return s;
    }
  }
  /**
   *

   * The token of the next page of results.
   *

   *
   * optional string next_page_token = 2;
   */
  public com.google.protobuf.ByteString
      getNextPageTokenBytes() {
    java.lang.Object ref = nextPageToken_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      nextPageToken_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  private byte memoizedIsInitialized = -1;
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    for (int i = 0; i < rollouts_.size(); i++) {
      output.writeMessage(1, rollouts_.get(i));
    }
    if (!getNextPageTokenBytes().isEmpty()) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 2, nextPageToken_);
    }
  }

  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    for (int i = 0; i < rollouts_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(1, rollouts_.get(i));
    }
    if (!getNextPageTokenBytes().isEmpty()) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, nextPageToken_);
    }
    memoizedSize = size;
    return size;
  }

  private static final long serialVersionUID = 0L;
  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof com.google.api.servicemanagement.v1.ListServiceRolloutsResponse)) {
      return super.equals(obj);
    }
    com.google.api.servicemanagement.v1.ListServiceRolloutsResponse other = (com.google.api.servicemanagement.v1.ListServiceRolloutsResponse) obj;

    boolean result = true;
    result = result && getRolloutsList()
        .equals(other.getRolloutsList());
    result = result && getNextPageToken()
        .equals(other.getNextPageToken());
    return result;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptorForType().hashCode();
    if (getRolloutsCount() > 0) {
      hash = (37 * hash) + ROLLOUTS_FIELD_NUMBER;
      hash = (53 * hash) + getRolloutsList().hashCode();
    }
    hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER;
    hash = (53 * hash) + getNextPageToken().hashCode();
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.google.api.servicemanagement.v1.ListServiceRolloutsResponse parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.google.api.servicemanagement.v1.ListServiceRolloutsResponse parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.google.api.servicemanagement.v1.ListServiceRolloutsResponse parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.google.api.servicemanagement.v1.ListServiceRolloutsResponse parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.google.api.servicemanagement.v1.ListServiceRolloutsResponse parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.google.api.servicemanagement.v1.ListServiceRolloutsResponse parseFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }
  public static com.google.api.servicemanagement.v1.ListServiceRolloutsResponse parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static com.google.api.servicemanagement.v1.ListServiceRolloutsResponse parseDelimitedFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static com.google.api.servicemanagement.v1.ListServiceRolloutsResponse parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.google.api.servicemanagement.v1.ListServiceRolloutsResponse parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }

  public Builder newBuilderForType() { return newBuilder(); }
  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }
  public static Builder newBuilder(com.google.api.servicemanagement.v1.ListServiceRolloutsResponse prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE
        ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(
      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   *

   * Response message for ListServiceRollouts method.
   *

   *
   * Protobuf type {@code google.api.servicemanagement.v1.ListServiceRolloutsResponse}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
      // @@protoc_insertion_point(builder_implements:google.api.servicemanagement.v1.ListServiceRolloutsResponse)
      com.google.api.servicemanagement.v1.ListServiceRolloutsResponseOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.google.api.servicemanagement.v1.ServiceManagerProto.internal_static_google_api_servicemanagement_v1_ListServiceRolloutsResponse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.google.api.servicemanagement.v1.ServiceManagerProto.internal_static_google_api_servicemanagement_v1_ListServiceRolloutsResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.google.api.servicemanagement.v1.ListServiceRolloutsResponse.class, com.google.api.servicemanagement.v1.ListServiceRolloutsResponse.Builder.class);
    }

    // Construct using com.google.api.servicemanagement.v1.ListServiceRolloutsResponse.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessageV3
              .alwaysUseFieldBuilders) {
        getRolloutsFieldBuilder();
      }
    }
    public Builder clear() {
      super.clear();
      if (rolloutsBuilder_ == null) {
        rollouts_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
      } else {
        rolloutsBuilder_.clear();
      }
      nextPageToken_ = "";

      return this;
    }

    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return com.google.api.servicemanagement.v1.ServiceManagerProto.internal_static_google_api_servicemanagement_v1_ListServiceRolloutsResponse_descriptor;
    }

    public com.google.api.servicemanagement.v1.ListServiceRolloutsResponse getDefaultInstanceForType() {
      return com.google.api.servicemanagement.v1.ListServiceRolloutsResponse.getDefaultInstance();
    }

    public com.google.api.servicemanagement.v1.ListServiceRolloutsResponse build() {
      com.google.api.servicemanagement.v1.ListServiceRolloutsResponse result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    public com.google.api.servicemanagement.v1.ListServiceRolloutsResponse buildPartial() {
      com.google.api.servicemanagement.v1.ListServiceRolloutsResponse result = new com.google.api.servicemanagement.v1.ListServiceRolloutsResponse(this);
      int from_bitField0_ = bitField0_;
      int to_bitField0_ = 0;
      if (rolloutsBuilder_ == null) {
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          rollouts_ = java.util.Collections.unmodifiableList(rollouts_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.rollouts_ = rollouts_;
      } else {
        result.rollouts_ = rolloutsBuilder_.build();
      }
      result.nextPageToken_ = nextPageToken_;
      result.bitField0_ = to_bitField0_;
      onBuilt();
      return result;
    }

    public Builder clone() {
      return (Builder) super.clone();
    }
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        Object value) {
      return (Builder) super.setField(field, value);
    }
    public Builder clearField(
        com.google.protobuf.Descriptors.FieldDescriptor field) {
      return (Builder) super.clearField(field);
    }
    public Builder clearOneof(
        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return (Builder) super.clearOneof(oneof);
    }
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        int index, Object value) {
      return (Builder) super.setRepeatedField(field, index, value);
    }
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        Object value) {
      return (Builder) super.addRepeatedField(field, value);
    }
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof com.google.api.servicemanagement.v1.ListServiceRolloutsResponse) {
        return mergeFrom((com.google.api.servicemanagement.v1.ListServiceRolloutsResponse)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.google.api.servicemanagement.v1.ListServiceRolloutsResponse other) {
      if (other == com.google.api.servicemanagement.v1.ListServiceRolloutsResponse.getDefaultInstance()) return this;
      if (rolloutsBuilder_ == null) {
        if (!other.rollouts_.isEmpty()) {
          if (rollouts_.isEmpty()) {
            rollouts_ = other.rollouts_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureRolloutsIsMutable();
            rollouts_.addAll(other.rollouts_);
          }
          onChanged();
        }
      } else {
        if (!other.rollouts_.isEmpty()) {
          if (rolloutsBuilder_.isEmpty()) {
            rolloutsBuilder_.dispose();
            rolloutsBuilder_ = null;
            rollouts_ = other.rollouts_;
            bitField0_ = (bitField0_ & ~0x00000001);
            rolloutsBuilder_ =
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getRolloutsFieldBuilder() : null;
          } else {
            rolloutsBuilder_.addAllMessages(other.rollouts_);
          }
        }
      }
      if (!other.getNextPageToken().isEmpty()) {
        nextPageToken_ = other.nextPageToken_;
        onChanged();
      }
      onChanged();
      return this;
    }

    public final boolean isInitialized() {
      return true;
    }

    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      com.google.api.servicemanagement.v1.ListServiceRolloutsResponse parsedMessage = null;
      try {
        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        parsedMessage = (com.google.api.servicemanagement.v1.ListServiceRolloutsResponse) e.getUnfinishedMessage();
        throw e.unwrapIOException();
      } finally {
        if (parsedMessage != null) {
          mergeFrom(parsedMessage);
        }
      }
      return this;
    }
    private int bitField0_;

    private java.util.List<com.google.api.servicemanagement.v1.Rollout> rollouts_ =
      java.util.Collections.emptyList();
    private void ensureRolloutsIsMutable() {
      if (!((bitField0_ & 0x00000001) == 0x00000001)) {
        rollouts_ = new java.util.ArrayList<com.google.api.servicemanagement.v1.Rollout>(rollouts_);
        bitField0_ |= 0x00000001;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.google.api.servicemanagement.v1.Rollout, com.google.api.servicemanagement.v1.Rollout.Builder, com.google.api.servicemanagement.v1.RolloutOrBuilder> rolloutsBuilder_;

    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public java.util.List<com.google.api.servicemanagement.v1.Rollout> getRolloutsList() {
      if (rolloutsBuilder_ == null) {
        return java.util.Collections.unmodifiableList(rollouts_);
      } else {
        return rolloutsBuilder_.getMessageList();
      }
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public int getRolloutsCount() {
      if (rolloutsBuilder_ == null) {
        return rollouts_.size();
      } else {
        return rolloutsBuilder_.getCount();
      }
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public com.google.api.servicemanagement.v1.Rollout getRollouts(int index) {
      if (rolloutsBuilder_ == null) {
        return rollouts_.get(index);
      } else {
        return rolloutsBuilder_.getMessage(index);
      }
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public Builder setRollouts(
        int index, com.google.api.servicemanagement.v1.Rollout value) {
      if (rolloutsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRolloutsIsMutable();
        rollouts_.set(index, value);
        onChanged();
      } else {
        rolloutsBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public Builder setRollouts(
        int index, com.google.api.servicemanagement.v1.Rollout.Builder builderForValue) {
      if (rolloutsBuilder_ == null) {
        ensureRolloutsIsMutable();
        rollouts_.set(index, builderForValue.build());
        onChanged();
      } else {
        rolloutsBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public Builder addRollouts(com.google.api.servicemanagement.v1.Rollout value) {
      if (rolloutsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRolloutsIsMutable();
        rollouts_.add(value);
        onChanged();
      } else {
        rolloutsBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public Builder addRollouts(
        int index, com.google.api.servicemanagement.v1.Rollout value) {
      if (rolloutsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRolloutsIsMutable();
        rollouts_.add(index, value);
        onChanged();
      } else {
        rolloutsBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public Builder addRollouts(
        com.google.api.servicemanagement.v1.Rollout.Builder builderForValue) {
      if (rolloutsBuilder_ == null) {
        ensureRolloutsIsMutable();
        rollouts_.add(builderForValue.build());
        onChanged();
      } else {
        rolloutsBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public Builder addRollouts(
        int index, com.google.api.servicemanagement.v1.Rollout.Builder builderForValue) {
      if (rolloutsBuilder_ == null) {
        ensureRolloutsIsMutable();
        rollouts_.add(index, builderForValue.build());
        onChanged();
      } else {
        rolloutsBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public Builder addAllRollouts(
        java.lang.Iterable<? extends com.google.api.servicemanagement.v1.Rollout> values) {
      if (rolloutsBuilder_ == null) {
        ensureRolloutsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, rollouts_);
        onChanged();
      } else {
        rolloutsBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public Builder clearRollouts() {
      if (rolloutsBuilder_ == null) {
        rollouts_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
      } else {
        rolloutsBuilder_.clear();
      }
      return this;
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public Builder removeRollouts(int index) {
      if (rolloutsBuilder_ == null) {
        ensureRolloutsIsMutable();
        rollouts_.remove(index);
        onChanged();
      } else {
        rolloutsBuilder_.remove(index);
      }
      return this;
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public com.google.api.servicemanagement.v1.Rollout.Builder getRolloutsBuilder(
        int index) {
      return getRolloutsFieldBuilder().getBuilder(index);
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public com.google.api.servicemanagement.v1.RolloutOrBuilder getRolloutsOrBuilder(
        int index) {
      if (rolloutsBuilder_ == null) {
        return rollouts_.get(index);  } else {
        return rolloutsBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public java.util.List<? extends com.google.api.servicemanagement.v1.RolloutOrBuilder>
         getRolloutsOrBuilderList() {
      if (rolloutsBuilder_ != null) {
        return rolloutsBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(rollouts_);
      }
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public com.google.api.servicemanagement.v1.Rollout.Builder addRolloutsBuilder() {
      return getRolloutsFieldBuilder().addBuilder(
          com.google.api.servicemanagement.v1.Rollout.getDefaultInstance());
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public com.google.api.servicemanagement.v1.Rollout.Builder addRolloutsBuilder(
        int index) {
      return getRolloutsFieldBuilder().addBuilder(
          index, com.google.api.servicemanagement.v1.Rollout.getDefaultInstance());
    }
    /**
     *

     * The list of rollout resources.
     *

     *
     * repeated .google.api.servicemanagement.v1.Rollout rollouts = 1;
     */
    public java.util.List<com.google.api.servicemanagement.v1.Rollout.Builder>
         getRolloutsBuilderList() {
      return getRolloutsFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.google.api.servicemanagement.v1.Rollout, com.google.api.servicemanagement.v1.Rollout.Builder, com.google.api.servicemanagement.v1.RolloutOrBuilder>
        getRolloutsFieldBuilder() {
      if (rolloutsBuilder_ == null) {
        rolloutsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.google.api.servicemanagement.v1.Rollout, com.google.api.servicemanagement.v1.Rollout.Builder, com.google.api.servicemanagement.v1.RolloutOrBuilder>(
                rollouts_,
                ((bitField0_ & 0x00000001) == 0x00000001),
                getParentForChildren(),
                isClean());
        rollouts_ = null;
      }
      return rolloutsBuilder_;
    }

    private java.lang.Object nextPageToken_ = "";
    /**
     *

     * The token of the next page of results.
     *

     *
     * optional string next_page_token = 2;
     */
    public java.lang.String getNextPageToken() {
      java.lang.Object ref = nextPageToken_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        nextPageToken_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *

     * The token of the next page of results.
     *

     *
     * optional string next_page_token = 2;
     */
    public com.google.protobuf.ByteString
        getNextPageTokenBytes() {
      java.lang.Object ref = nextPageToken_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        nextPageToken_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *

     * The token of the next page of results.
     *

     *
     * optional string next_page_token = 2;
     */
    public Builder setNextPageToken(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }

      nextPageToken_ = value;
      onChanged();
      return this;
    }
    /**
     *

     * The token of the next page of results.
     *

     *
     * optional string next_page_token = 2;
     */
    public Builder clearNextPageToken() {

      nextPageToken_ = getDefaultInstance().getNextPageToken();
      onChanged();
      return this;
    }
    /**
     *

     * The token of the next page of results.
     *

     *
     * optional string next_page_token = 2;
     */
    public Builder setNextPageTokenBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);

      nextPageToken_ = value;
      onChanged();
      return this;
    }
    public final Builder setUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return this;
    }

    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return this;
    }

    // @@protoc_insertion_point(builder_scope:google.api.servicemanagement.v1.ListServiceRolloutsResponse)
  }

  // @@protoc_insertion_point(class_scope:google.api.servicemanagement.v1.ListServiceRolloutsResponse)
  private static final com.google.api.servicemanagement.v1.ListServiceRolloutsResponse DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new com.google.api.servicemanagement.v1.ListServiceRolloutsResponse();
  }

  public static com.google.api.servicemanagement.v1.ListServiceRolloutsResponse getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser<ListServiceRolloutsResponse>
      PARSER = new com.google.protobuf.AbstractParser<ListServiceRolloutsResponse>() {
    public ListServiceRolloutsResponse parsePartialFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
        return new ListServiceRolloutsResponse(input, extensionRegistry);
    }
  };

  public static com.google.protobuf.Parser<ListServiceRolloutsResponse> parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser<ListServiceRolloutsResponse> getParserForType() {
    return PARSER;
  }

  public com.google.api.servicemanagement.v1.ListServiceRolloutsResponse getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}


text:
var __hasProp = {}.hasOwnProperty,
  __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };

define(function(require) {
  var $, Backbone, Router, events, _;

  $ = require('jquery');
  _ = require('underscore');
  Backbone = require('backbone');
  events = require('./events');
  require('flashbar');
  require('confirm');
  return Router = (function(_super) {
    __extends(Router, _super);

    Router.prototype.routes = {
      '!/documents/new': 'newDocument',
      '!/documents/:id': 'openDocument',
      '!/documents': 'openDocuments'
    };

    function Router() {
      var _this = this;

      Router.__super__.constructor.apply(this, arguments);
      this.navigationHistory = [];
      this.on('all', function() {
        var path;

        path = Backbone.history.fragment;
        if (_this.navigationHistory.length && _(_this.navigationHistory).last() === path) {
          return false;
        }
        return _this.navigationHistory.push(path);
      });
    }

    Router.prototype.initialize = function(options) {
      this.context = options.context;
      return this.defaultUrl = options.defaultUrl;
    };

    Router.prototype.newDocument = function() {
      this.context.resetCurrentDocument();
      return events.trigger('documentChanged');
    };

    Router.prototype.openDocument = function(id) {
      var _this = this;

      return this.ensureSignedIn(function() {
        return _this.context.setCurrentDocument(id, function(document) {
          if (!document) {
            $.showErrorbar(("Document with id <strong>" + id + "</strong> ") + 'does not exist.');
            _this.redirecToPrevious();
          }
          return events.trigger('documentChanged');
        });
      });
    };

    Router.prototype.openDocuments = function() {
      var _this = this;

      return this.ensureSignedIn(function() {
        return events.trigger('showDocuments', {
          cancel: function() {
            return _this.redirectToPrevious(false);
          }
        });
      });
    };

    Router.prototype.ensureSignedIn = function(action) {
      var _this = this;

      if (!this.context.isUserSignedIn()) {
        return events.trigger('showMembership', {
          ok: function() {
            if (_this.context.isUserSignedIn()) {
              return action();
            } else {
              return _this.redirectToPrevious();
            }
          },
          cancel: function() {
            return _this.redirectToPrevious();
          }
        });
      }
      return action();
    };

    Router.prototype.redirectToPrevious = function(replace) {
      var path;

      if (replace == null) {
        replace = true;
      }
      if (this.navigationHistory.length > 1) {
        path = this.navigationHistory[this.navigationHistory.length - 2];
      } else {
        path = this.defaultUrl;
      }
      return this.navigate(path, replace);
    };

    return Router;

  })(Backbone.Router);
});


text:
with (Scripting) {
    var instance = new ReaderScript({
        validate: function () {
            return ["This will never work."];
        }
    });
}


text:
A typed Pixiv browser.

## Development

rkgk depends on these:

- [yarn](https://yarnpkg.com/lang/en/) or [npm](https://www.npmjs.com/)
- [Go](https://golang.org/)

To install and run (replace `yarn` with `npm` as needed):

```shell
yarn        # install dependencies
yarn bundle # compile and bundle
yarn start  # compile and start proxy server at localhost:9292
```

Then navigate to `localhost:9292` on your browser.

Other useful scripts for development:

```shell
yarn ts     # typecheck only
yarn test   # run tests
yarn doc    # generate documentation
yarn lint   # run linter
```

#### Dumping API responses

To save samples of API responses for testing, invoke the proxy with `-dump-dir <dir>`:

```shell
mkdir _dump
yarn start -dump-dir _dump
```

The responses will be saved in gzip.

# Related projects

- [PixivDeck](https://github.com/akameco/PixivDeck) - desktop client using Electron, very similar to rkgk (except it's actually finished). It has a TweetDeck-like UI, which I don't care much for. Uses [pixiv-app-api](https://github.com/akameco/pixiv-app-api).
- [PxView](https://github.com/alphasp/pxview) - mobile client using React Native. Uses [pixiv-api-client](https://github.com/alphasp/pixiv-api-client).
- [Patchouli](https://github.com/FlandreDaisuki/Patchouli) - Tampermonkey script to enhance Pixiv browsing
- [cockpit for pixiv](https://8th713.github.io/cockpit-for-pixiv/)

## API wrappers

- [pixiv-app-api](https://github.com/akameco/pixiv-app-api) - JS
- [pixiv-api-client](https://github.com/alphasp/pixiv-api-client) - JS
- [pixivpy](https://github.com/upbit/pixivpy) - Python
- [PyPixiv](https://github.com/Yukariin/PyPixiv) - Python
- [Sagitta](https://github.com/mika-f/Sagitta) - C#
- [PixivAppAPI](https://github.com/kokororin/pixiv-api-php) - PHP, not very comprehensive but well documented params
- [pixiv-cookie](https://github.com/kokororin/pixiv-cookie) - JS (cookie)


text:
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>Seminar</title>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

Department of Mathematics

Indian Institute of Science

Bangalore 560 012

SEMINAR

    Speaker

    :

S.R.S. Varadhan

    Affiliation

    :

    Courant Institute

    Subject Area

    :

    Mathematics

    Venue

    :

    Lecture Hall - I, Dept of Mathematics

    Time

    :

4 pm

    Date

    :

Feb 12,2009 (Thursday)

    Title

    :

An unusual problem in large deviations

    Abstract

    :

We will investigate the
    large deviation rates for sums of the form $\sum_i f(x_i)g(x_2i)$ where $\{x_i\}$
    is a nice Markov process. In other words "calculate" $$ \lim_{n\to\infty}{1\over
    n}\log E[\exp\sum_{i=1}^n f(x_i) g(x_2i)]$$ where $\{x_i\}$ is Markov Chain
    with transition probability $\pi(x, y)$.

Prof. Varadhan is giving one more lecture at
IISc. and one at ISI - see

http://www.ias.ac.in/academy/pjubilee/events.html


text:
module("Literal");

testCompile(
    "null",
    function anonymous() {
        null;
    },
    function anonymous() {
        promise.unit(null);
    }
);

testCompile(
    "Number",
    function anonymous() {
        1;
    },
    function anonymous() {
        promise.unit(1);
    }
);

testCompile(
    "String",
    function anonymous() {
        'test string';
    },
    function anonymous() {
        promise.unit('test string');
    }
);


text:
// Eventicka II V.1 //
// Copyright 2016, Mandar Shirke //

// --------- INIT JS ---------  //

// -- 1. NAV MENU --  //
// -- 2. COUNTDOWN TIMER --  Removed //
// -- 3. CAROUSEL --  //
// -- 4. TESTIMONIAL --  //
// -- 5. SCHEDULE TABS --  //
// -- 6. TIPSY --  //
// -- 7. MATCH HEIGHTS --  //
// -- 8. PRETTYPHOTO --  //
// -- 9. FITVIDS --  //
// -- 10. TOGGLES --  //
// -- 11. GOOGLE MAPS --  //
// -- 12. FORMS --  //

// --------------------------  //

$(document).ready(function() {

"use strict";

// --------------------  //

// --------- 1. NAV MENU ----------  //

$('#qcOpenNav').click(function() {
	$('#qcSiteNav').fadeIn();
});
$('#qcSiteNav').click(function() {
	$('#qcSiteNav').fadeOut();
});
$('#qcPriNav li').click(function() {
	$(this).find(' > ul').slideToggle();
});

/* MOBILE MENU */
$('#qcMbTrigger').text($('#qcTabNav li.active').text());
$('#qcMbTrigger').click(function() {
	$('#qcTabNav').show();
});
function mbTrigger() {
	if($('#qcMbTrigger').is(':visible')) {
		$('#qcTabNav li').click(function() {
			$('#qcTabNav').hide();
			$('#qcMbTrigger').text($(this).text());
		});
	} else {
		$('#qcTabNav').show();
		$('#qcTabNav li').click(function() {
			$('#qcTabNav').show();
		});
	}
}
mbTrigger();
$(window).resize(function() {
	mbTrigger();
});

// --------- 3. CAROUSEL ----------  //

if (jQuery.isFunction(jQuery.fn.owlCarousel)) {

// --- SPEAKERS -- //
$(".qcSpeakerList").owlCarousel({
	items : 4, //10 items above 1000px browser width
	itemsDesktop : [1080,3], //5 items between 1000px and 901px
	itemsDesktopSmall : [900,2], // betweem 900px and 601px
	itemsTablet: [600,1], //2 items between 600 and 0
	itemsMobile : [600,1], // itemsMobile disabled - inherit from itemsTablet option
	navigation: true,
	navigationText : false,
	rewindNav: false,
});

// --- SPONSORS -- //
$(".qcSponsorList").owlCarousel({
	items : 5, //10 items above 1000px browser width
	itemsDesktop : [1080,3], //5 items between 1000px and 901px
	itemsDesktopSmall : [900,4], // betweem 900px and 601px
	itemsTablet: [600,1], //2 items between 600 and 0
	itemsMobile : [600,1], // itemsMobile disabled - inherit from itemsTablet option
	navigation: true,
	navigationText : false,
	rewindNav: false,
});

}

// --------- 4. TESTIMONIAL ----------  //

$('#qcTestimonial p').html($('#qcTestimonialList li a.active').attr('data-content'));
$('#qcTestimonial cite').html('- ' + $('#qcTestimonialList li a.active').attr('data-cite'));
$('#qcTestimonialList li a').hover(function() {
	$('#qcTestimonialList li a.active').removeAttr('class');
	$(this).addClass('active');
	$('#qcTestimonial p').html($(this).attr('data-content'));
	$('#qcTestimonial cite').html('- ' + $(this).attr('data-cite'));
});
$('#qcTestimonialList li a').click(function() {
	return false;
});

// --------- 5. SCHEDULE TABS ----------  //
	$('#qcScheduleContentTabs').tabslet({ deeplinking: true });
	$('#qcFaqContentTabs').tabslet({ deeplinking: true });
	$('#qcVenueContentTabs').tabslet({ deeplinking: true });

	// HACK: fix bug with deep linking where other tabs are also active styled despite not being active
	if (!!window.location.hash && $(window.location.hash)) {
		$('a[href="' + window.location.hash + '"]').parent().siblings().removeClass('active')
	}

// --------- 6. TIPSY ----------  //

$('.tips').tipsy({gravity: 'e'});

// --------- 7. MATCH HEIGHTS ----------  //

$('.qcTicketBox > .col').matchHeight();

// --------- 8. PRETTYPHOTO ----------  //

if (jQuery.isFunction(jQuery.fn.prettyPhoto)) {
	$("a[data-rel^='prettyPhoto']").prettyPhoto({theme:'light_square'});
}

// --------- 9. FITVIDS ----------  //

$(".qcFitVids").fitVids();
$('.qcFitVids').click(function() {
	$(this).addClass('hide');
});

// --------- 10. TOGGLES ----------  //

/* SPEAKER TOGGLE */
$('.speakers .item').click(function() {
	$('.speakers .item').not(this).find('.toggled').removeClass('toggled');
	$(this).toggleClass('toggled');
	$('.speakers .item').not(this).find('.item-desc').fadeOut(200);
	$(this).find('.item-desc').slideToggle({ easing: 'easeInOutExpo' }, 600);

});

/* SCHEDULE TOGGLE */
$('.qcScheduleList .toggle, .qcFaqList .toggle').click(function() {
	$(this).toggleClass('active');
	var toggle = $(this).find('.qcTogContent');
    if (toggle.is(':visible')) {
        toggle.slideUp();
    } else {
        toggle.slideDown();
    }
});

// --------- 11. GOOGLE MAPS ----------  //

if (document.getElementById('qcContactMap')) {
	var myLatlng = new google.maps.LatLng($('#qcMapAddress').attr('data-lat'),$('#qcMapAddress').attr('data-lng'));
	var mapOptions = {
		zoom: 15,
		center: myLatlng,
		mapTypeControl: false,
		scrollwheel: false,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	}
	var map = new google.maps.Map(document.getElementById('qcContactMap'), mapOptions);
	var contentString = '
'+
	'
'+
	'
'+
	'
'+ $('#qcMapAddress').attr('data-add') +
	'
'+
	'
';
	var infowindow = new google.maps.InfoWindow({
		content: contentString
	});
	var marker = new google.maps.Marker({
		position: myLatlng,
		map: map,
		title: ''
	});
	google.maps.event.addListener(marker, 'click', function() {
		infowindow.open(map,marker);
	});

	/* RESIZE MAP ON TAB CHANGE */
	$('#qcTabNav li').click(function() {
		if($('#qcContactMap').is(':visible')) {
			google.maps.event.trigger(map, 'resize');
			map.setCenter(myLatlng);
		}
	});
}

// --------- 12. FORMS ----------  //

$('.qcForm').submit(function() {
	$(this).find('.error').remove();
	$('.inputError').removeClass('inputError');
	var hasError = false;
	$(this).find('.requiredField').each(function() {
		if($.trim($(this).val()) == '') {
			var labelText = $(this).prev( 'label').text();
			$(this).parent().append( 'Please enter '+labelText+'' );
			$(this).parent().addClass( 'inputError' );
			hasError = true;
		} else if($(this).hasClass( 'email')) {
			var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
			if(!emailReg.test($.trim($(this).val()))) {
				var labelText = $(this).prev( 'label').text();
				$(this).parent().append( 'You have entered an invalid '+labelText+'' );
				$(this).parent().addClass( 'inputError' );
				hasError = true;
			}
		} else if($(this).hasClass('checkbox')) {
			if(!$(this).is(':checked')) {
				$(this).parent().append( 'You must agree to the Terms & Conditions' );
				$(this).parent().addClass( 'inputError' );
				hasError = true;
			}
		} else if($(this).hasClass( 'captcha')) {
			if($(this).val() != 'red' && $(this).val() != 'Red') {
				$(this).parent().append( 'You have entered wrong Captcha Value' );
				$(this).parent().addClass( 'inputError' );
				hasError = true;
			}
		}
	});
	if(!hasError) {
		var formInput = $(this).serialize();
		var hideForm = $(this);
		$.post($(this).attr('action'),formInput, function(data){
			$(hideForm).slideUp( "fast", function() {
				$(this).before( '
Thank you! Your email was successfully sent.
' );
			});
		});
	}
	return false;
});

// --------------------  //

});


text:
ACCEPTED

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
in Watzl, Beih. bot. Zbl. 57: 432 (1937)

#### Original name
Creoseptoria Petr.

### Remarks
null


text:
Scrapes streaming links from PrimeWire.

## Installation
    $ npm install primewire

## Examples
```javascript
var primewire = require('primewire');

function display(err, links, id) {
    if (err) {
        return console.error(err.stack);
    }

    console.log('%d total links found for "%s".', links.length, id);
    console.log('Watch now at ' + links[0]);
}

primewire({
    title: 'The Simpsons',
    year: 1989,
    season: 1,
    episode: 2
}, display);

// Using an ID instead of title/year will result in less page load time.
primewire({
    id: '4131', // http://www.primewire.ag/watch-4131-The-Simpsons
    season: 1,
    episode: 4
}, display);

primewire({
    title: 'Saw',
    year: 2004
}, display);

primewire({
    id: '1672' // http://www.primewire.ag/watch-1672-Saw-II
}, display);
```

## API
### primewire(show, [options], callback)
Grab all associated links (not including advertisements) for a specific
movie or TV episode.

If `show` is an object it is expected to have the following properties:

```javascript
{
    // This field is optional. By default we assume movies unless season and/or
    // episode is set.
    section: 'movies' || 'tv',

    // You may specify either an id, title or title AND year.
    id: String,
    title: String,
    year: Number,

    // If searching for a TV episode, specify these fields. Both default to
    // 1 if section is 'tv'.
    season: Number,
    episode: Number
}
```

Otherwise `show` is assumed to be a title.

`options` is an optional object. If passed it's expected to have the `host`
and/or `needle` properties. `host` is a string describing which website to
scrape from (by default it's `"http://primewire.ag"`) and `needle` is an
object passed into each `needle` request.

`callback` returns an array of links for the specified show as the first
argument, and the show `id` as the second.

## License
MIT


text:
declare namespace deepstreamIO {

        enum ConnectionState {
                CLOSED, AWAITING_CONNECTION, CHALLENGING, AWAITING_AUTHENTICATION, AUTHENTICATING, OPEN, ERROR, RECONNECTING
        }

        enum Event {
                TOO_MANY_AUTH_ATTEMPTS, NOT_AUTHENTICATED, CONNECTION_ERROR, MESSAGE_PERMISSION_ERROR, MESSAGE_PARSE_ERROR, MESSAGE_DENIED, LISTENER_EXISTS, NOT_LISTENING, IS_CLOSED, ACK_TIMEOUT, RESPONSE_TIMEOUT, DELETE_TIMEOUT, UNSOLICITED_MESSAGE, RECORD_NOT_FOUND, VERSION_EXISTS, UNKNOWN_CALLEE
        }

        enum MergeStrategy {

        }

        interface Options {
                /**
                 *A global merge strategy that is applied whenever two clients write to the same record at the same time. Can be overwritten on a per record level. Default merge strategies are exposed by the client constructor. It's also possible to write custom merge strategies as functions. You can find more on handling data conflicts here
        Type: Function
        Default: MERGE_STRATEGIES.REMOTE_WINS
                 */
                mergeStrategy?: MergeStrategy;
                /**Specifies the number of milliseconds by which the time until the next reconnection attempt will be incremented after every unsuccessful attempt.
        E.g.for 1500: if the connection is lost,the client will attempt to reconnect immediately, if that fails it will try again after 1.5 seconds, if that fails it will try again after 3 seconds and so on...
        Type: Number
        Default: 4000 */
                reconnectIntervalIncrement?: number;
                /**The number of reconnection attempts until the client gives up and declares the connection closed.
        Type: Number
        Default: 5 */
                maxReconnectAttempts?: number;
                /**The number of milliseconds after which a RPC will error if no Ack-message has been received.
        Type: Number
        Default: 6000 */
                rpcAckTimeout?: number;
                /**The number of milliseconds after which a RPC will error if no response-message has been received.
        Type: Number
        Default: 10000
         */
                rpcResponseTimeout?: number;
                /**The number of milliseconds that can pass after providing/unproviding a RPC or subscribing/unsubscribing/listening to a record or event before an error is thrown.
        Type: Number
        Default: 2000 */
                subscriptionTimeout?: number;
                /**If your app sends a large number of messages in quick succession, the deepstream client will try to split them into smaller packets and send these every ms. This parameter specifies the number of messages after which deepstream sends the packet and queues the remaining messages. Set to Infinity to turn the feature off.
        Type: Number
        Default: 100 */
                maxMessagesPerPacket?: number;
                /**Please see description for maxMessagesPerPacket. Sets the time in ms.
        Type: Number
        Default: 16 */
                timeBetweenSendingQueuedPackages?: number;
                /**The number of milliseconds from the moment client.record.getRecord() is called until an error is thrown since no ack message has been received.
        Type: Number
        Default: 1000 */
                recordReadAckTimeout?: number;
                /**The number of milliseconds from the moment client.record.getRecord() is called until an error is thrown since no data has been received.
        Type: Number
        Default: 3000 */
                recordReadTimeout?: number;
                /**The number of milliseconds from the moment record.delete() is called until an error is thrown since no delete ack message has been received. Please take into account that the deletion is only complete after the record has been deleted from both cache and storage.
        Type: Number
        Default: 3000 */
                recordDeleteTimeout?: number;
                /**Whether the client should try to upgrade the transport from long-polling to something better, e.g. WebSocket.
        Type: Boolean
        Default: true */
                upgrade?: boolean;
                /**Forces JSONP for polling transport.
        Type: Boolean
        Default: false */
                forceJSONP?: boolean;
                /**Determines whether to use JSONP when necessary for polling. If disabled (by settings to false) an error will be emitted (saying "No transports available") if no other transports are available. If another transport is available for opening a connection (e.g. WebSocket) that transport will be used instead.
        Type: Boolean
        Default: true */
                jsonp?: boolean;
                /**Forces base 64 encoding for polling transport even when XHR2 responseType is available and WebSocket even if the used standard supports binary.
        Type: Boolean
        Default: false */
                forceBase64?: boolean;
                /**Enable Cross Domain Requests for IE8 to avoid loading the bar flashing click sounds. Default to false because Cross Domain Requests can't send cookies.
        Type: Boolean
        Default: false */
                enablesXDR?: boolean;
                /**Whether to add the timestamp with each transport request. Note: this is ignored if the browser is IE or Android, in which case requests are always stamped.
        Type: Boolean
        Default: false
         */
                timestampRequests?: boolean;
                /**The GET parameter key to use for the timestamp.
        Type: String
        Default: t */
                timestampParam?: string;
                /**The path to connect to for browser connections.
        Type: String
        Default: /deepstream */
                path?: string;
                /**A list of transports to try (in order). Engine.io always attempts to connect directly with the first one, provided the feature detection test for it passes.
        Type: Array
        Default: ['polling', 'websocket'] */
                transports?: string[];
                /**If true and if the previous websocket connection to the server succeeded, the connection attempt will bypass the normal upgrade process and will initially try websocket. A connection attempt following a transport error will use the normal upgrade process. It is recommended you turn this on only when using SSL/TLS connections, or if you know that your network does not block websockets.
        Type: Boolean
        Default: false */
                rememberUpgrade?: boolean;
        }

        interface Record extends EventEmitter {
                name: string;
                usages: number;
                isReady: boolean;
                hasProvider: boolean;
                isDestroyed: boolean;
                /**Immediately executes the callback if the record is ready. Otherwise, it registers it as a callback for the ready event. */
                whenReady(callback: Function): void;
                /**Used to set the record's data and can be called with a value. A path can optionally be included. */
                set(path: string, value: any): void;
                /**Used to set the record's data and can be called with a value. A path can optionally be included. */
                set(value: any): void;
                /**Used to return the record's data but if called without an argument, will return all the data. get() can also be used to retrive a specific part by defining a path string. If the part can not be found, undefined will be returned. */
                get(path?: string): any;
                /**Registers that a function will be performed whenever the record's value changes. All of the record's data can be subscribed to by providing a callback function or when changes are performed to a specific path within the record.
        Optional: Passing true will execute the callback immediately with the record's current value.
        Listening to any changes on the record: */
                subscribe(path: string, callback: Function, trggerNow?: boolean): void;
                /**Registers that a function will be performed whenever the record's value changes. All of the record's data can be subscribed to by providing a callback function or when changes are performed to a specific path within the record.
        Optional: Passing true will execute the callback immediately with the record's current value.
        Listening to any changes on the record: */
                subscribe(callback: Function, trggerNow?: boolean): void;
                /**Removes a subscription previous made using record.subscribe(). Defining a path with unsubscribe removes that specific path, or with a callback, can remove it from generic subscriptions.
        Info:
        unsubscribe is entirely a client-side operation. To notify the server that the app would no longer interested in the record, use discard() instead.
        Important:
        It is important to unsubscribe all callbacks that are registered when discarding a record. Just calling discard does not guarantee that callbacks will not be called.*/
                unsubscribe(path: string, callback: Function): void;
                /**Removes a subscription previous made using record.subscribe(). Defining a path with unsubscribe removes that specific path, or with a callback, can remove it from generic subscriptions.
        Info:
        unsubscribe is entirely a client-side operation. To notify the server that the app would no longer interested in the record, use discard() instead.
        Important:
        It is important to unsubscribe all callbacks that are registered when discarding a record. Just calling discard does not guarantee that callbacks will not be called.*/
                unsubscribe(callback: Function): void;
                /**Removes all change listerners and notifies the server that client no longer wants updates for this record if your application no longer requires the record. */
                discard(): void;
                /**This permanently deletes the record on the server for all users. */
                delete(): void;
        }
        interface List extends EventEmitter {
                name: string;
                usages: number;
                isReady: boolean;
                /**Invokes callback once the list has been loaded. This might happen synchronously if the list is already available or asynchronously if the list still needs to be retrieved. Some methods, e.g. addEntry() or setEntries() or subscribe() can be used before the list is ready. */
                whenReady(callback: Function): void;
                /**Returns false if the list has entries or true if it doesn't. */
                isEmpty(): boolean;
                /**Returns an array of the current entries in the list. */
                getEntries(): string[];
                /**Sets the contents of the list to the provided array of record names. To add or remove specific entries use addEntry() or removeEntry() respectively. */
                setEntries(entries: string[]): void;
                /**Adds a new record name to the list. */
                addEntry(entry: string, index?: number): void;
                /**Removes an entry from the list. removeEntry will not throw any error if the entry doesn't exist. */
                removeEntry(entry: string, index?: number): void;
                /**Registers a function that will be invoked whenever any changes to the list's contents occur. Optionally you can also pass true to execute the callback function straight away with the list's current entries. */
                subscribe(callback: Function, trggerNow?: boolean): void;
                /**Removes a subscription that was previously made using list.subscribe()
        Please Note: unsubscribe is purely a client side operation. To notify the server that the app no longer requires updates for this list use discard(). */
                unsubscribe(callback: Function): void;
                /**Removes all change listeners and notifies the server that the client is no longer interested in updates for this list. */
                discard(): void;
                /**Deletes the list on the server. This action deletes the list for all users from both cache and storage and is irreversible. */
                delete(): void;
        }

        interface RPCResponse {
                /**
                 *Succesfully complete a remote procedure call and sends data back to the requesting client.
        data can be any kind of serializable data, e.g. Objects, Numbers, Booleans or Strings
        If autoAck is disabled and the response is sent before the ack message, the request will still be completed and the ack message will be ignored.
                 */
                send(data: any): void;
                /**
                 *Rejects the request. Rejections are not errors, but merely a means of saying "I'm busy at the moment, try another client". Upon receiving a rejection deepstream will try to re-route the request to another provider for the same RPC. If there are no more providers left to try, deepstream will send a NO_RPC_PROVIDER error to the client.
                 */
                reject(): void;
                /**
                 *Send an error to the client. errorMsg will be received as the first argument to the callback registered with client.rpc.make(). This will complete the RPC.
                 */
                error(errorMsg: string): void;
                /**
                 *Explicitly acknowledges the receipt of a request.
        This is usually done automatically, but can also be performed explicitly by setting response.autoAck = false and calling ack() later. This is useful when a client needs to perform an asynchronous operation to determine if it will accept or reject the request.
        Info

        Requests count as completed once send() or error() was called. Calling ack() after that won't do anything.
                 */
                ack(): void;
        }

        interface RecordStatic {
                /** Get a record. */
                getRecord(path: string): Record;
                /** Get a snapshot of a record without livecycle or subscribtions */
                snapshot(name: string, callback: Function): void;
                /** Get a list of record names */
                getList(oath: string): List;
        }

        interface EventStatic {
                /**Subscribes to an event. Callback will receive the data passed to emit() */
                subscribe(event: string, callback: Function): void;
                /**Unsubscribes from an event that was previously registered with subscribe(). This stops a client from receiving the event. */
                unsubscribe(event: string, callback: Function): void;
                /**Sends the event to all subscribed clients */
                emit(event: string, data: any): void;
                /**Registers the client as a listener for event subscriptions made by other clients. This is useful to create "active" data providers - processes that only send events if clients are actually interested in them. You can find more about listening in the events tutorial
        The callback is invoked with three arguments:
        - eventName: The name of the event that has been matched against the provided pattern
        - isSubscribed: A boolean indicating whether the event is subscribed or unsubscribed
        - response: contains two functions (accept and reject), one of them needs to be called */
                listen(pattern: RegExp, callback: Function): void;
                /**This removes a previously registered listening pattern and the user will no longer be listening for active/inactive subscriptions. */
                unlisten(pattern: RegExp): void;
        }

        interface RPCStatic {
                /** Registers the client as a provider for incoming RPCs of a specific name. The callback will be invoked when another client client.rpc.make().*/
                provide(name: string, callback: (response: RPCResponse) => void): void;
                /**Removes the client as a provider previously registered using provide(). */
                unprovide(name: string): void;
                /**
                 * Executes a remote procedure call. callback will be invoked with the returned result or with an error if the RPC failed.
                 */
                make(name: string, data: any, callback: Function): void;
        }

        interface Presence {
                /**Subscribes to presence events. Callback will receive the username of the newly added client*/
                subscribe(callback: Function): void;
                /**Removes a previously registered presence callback*/
                unsubscribe(callback: Function): void;
                /**Queries for currently connected clients*/
                getAll(callback: Function): void;
        }

        interface EventEmitter {
                /**Subscribe to an event. */
                on(type: string, callback: Function): void;
                /**Unsubscribes from an event by:
        - removing a specific callback when called with both arguments.
        deepstream.off( 'error', errorCallback )
        - removing all listeners for an event when only called with an event.
        deepstream.off( 'error' )
        - removing all listeners for all events if called without arguments.
        deepstream.off() */
                off(type?: string, callback?: Function): void;
                /** Register a one-time listener for an event. The listener will be removed immediately after its first execution. */
                once(type: string, callback: Function): void;
                /**Emits an event. */
                emit(event: string, arguments?: any): void;
                /**Returns an array of listeners that are registered for the event. */
                listeners(event: string): any[];
                /**Returns true if there are listeners registered for that event. */
                hasListeners(event: string): boolean;
                /**Authenticates the client against the server. To learn more about how authentication works, please have a look at the Security Overview.
                 *Callback will be called with: success (Boolean), data (Object).
                 */
        }

        interface Client extends EventEmitter {

                login(authParams?: {}, callback?: Function): Client;
                /**Closes the connection to the server. */
                close(): void;
                /**Returns the current connectionState. Please find a list of available connectionStates here. */
                getConnectionState(): ConnectionState;
                /**Returnes a unique id. The uid starts with a Base64 encoded timestamp to allow for semi-sequentual ordering and ends with a random string. */
                getUid(): string;

                record: RecordStatic;

                event: EventStatic;

                presence: Presence;

                rpc: RPCStatic;
        }

        interface deepstreamQuarantine extends Client {

        }
        interface deepstreamStatic {
                CONSTANTS: {
                        [key: string]: string
                }
                MERGE_STRATEGIES: {

                }
                (url: string, options?: Options): deepstreamQuarantine;
        }
}
declare module 'deepstream.io-client-js' {
        var deepstream: deepstreamIO.deepstreamStatic;
        export = deepstream;
}


text:
<!doctype html>

	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title>Function | typescript</title>
	<meta name="description" content="">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link rel="stylesheet" href="../assets/css/main.css">

						Search
						<input id="tsd-search-field" type="text" />

Preparing search index...

The search index is not available

					typescript

						Options

								All

Public

Public/Protected

All

							<input type="checkbox" id="tsd-filter-inherited" checked />
							Inherited
							<input type="checkbox" id="tsd-filter-externals" checked />
							Externals
							<input type="checkbox" id="tsd-filter-only-exported" />
							Only exported

					Menu

					Globals

					".nvm/versions/v8.4.0/lib/node_modules/typedoc/node_modules/typescript/lib/lib.es5.d"

					Function

Interface Function

Creates a new function.

Hierarchy

						Function

Index

Properties

arguments

caller

length

prototype

Methods

apply

bind

call

to<wbr>String

Properties

arguments

arguments: any

Defined in .nvm/versions/v8.4.0/lib/node_modules/typedoc/node_modules/typescript/lib/lib.es5.d.ts:292

caller

caller: Function

Defined in .nvm/versions/v8.4.0/lib/node_modules/typedoc/node_modules/typescript/lib/lib.es5.d.ts:293

length

length: number

Defined in .nvm/versions/v8.4.0/lib/node_modules/typedoc/node_modules/typescript/lib/lib.es5.d.ts:289

prototype

prototype: any

Defined in .nvm/versions/v8.4.0/lib/node_modules/typedoc/node_modules/typescript/lib/lib.es5.d.ts:288

Methods

apply

apply(this: Function, thisArg: any, argArray?: any): any

Defined in .nvm/versions/v8.4.0/lib/node_modules/typedoc/node_modules/typescript/lib/lib.es5.d.ts:268

Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function.

Parameters

this: Function

thisArg: any

The object to be used as the this object.

Optional argArray: any

A set of arguments to be passed to the function.

Returns any

bind

bind(this: Function, thisArg: any, ...argArray: any[]): any

Defined in .nvm/versions/v8.4.0/lib/node_modules/typedoc/node_modules/typescript/lib/lib.es5.d.ts:283

For a given function, creates a bound function that has the same body as the original function.
									The this object of the bound function is associated with the specified object, and has the specified initial parameters.

Parameters

this: Function

thisArg: any

An object to which the this keyword can refer inside the new function.

Rest ...argArray: any[]

A list of arguments to be passed to the new function.

Returns any

call

call(this: Function, thisArg: any, ...argArray: any[]): any

Defined in .nvm/versions/v8.4.0/lib/node_modules/typedoc/node_modules/typescript/lib/lib.es5.d.ts:275

Calls a method of an object, substituting another object for the current object.

Parameters

this: Function

thisArg: any

The object to be used as the current object.

Rest ...argArray: any[]

A list of arguments to be passed to the method.

Returns any

to<wbr>String

to<wbr>String(): string

Defined in .nvm/versions/v8.4.0/lib/node_modules/typedoc/node_modules/typescript/lib/lib.es5.d.ts:286

Returns a string representation of a function.

Returns string

						Globals

						Internals

						"workspace/scion-<wbr>scxml-<wbr>platform/projects/SCION-<wbr>CORE/tsd/scion-<wbr>core.d"

						Externals

						".nvm/versions/v8.4.0/lib/node_<wbr>modules/typedoc/node_<wbr>modules/typescript/lib/lib.es2015.collection.d"

						".nvm/versions/v8.4.0/lib/node_<wbr>modules/typedoc/node_<wbr>modules/typescript/lib/lib.es2015.core.d"

						".nvm/versions/v8.4.0/lib/node_<wbr>modules/typedoc/node_<wbr>modules/typescript/lib/lib.es2015.d"

						".nvm/versions/v8.4.0/lib/node_<wbr>modules/typedoc/node_<wbr>modules/typescript/lib/lib.es2015.generator.d"

						".nvm/versions/v8.4.0/lib/node_<wbr>modules/typedoc/node_<wbr>modules/typescript/lib/lib.es2015.iterable.d"

						".nvm/versions/v8.4.0/lib/node_<wbr>modules/typedoc/node_<wbr>modules/typescript/lib/lib.es2015.promise.d"

						".nvm/versions/v8.4.0/lib/node_<wbr>modules/typedoc/node_<wbr>modules/typescript/lib/lib.es2015.proxy.d"

						".nvm/versions/v8.4.0/lib/node_<wbr>modules/typedoc/node_<wbr>modules/typescript/lib/lib.es2015.reflect.d"

						".nvm/versions/v8.4.0/lib/node_<wbr>modules/typedoc/node_<wbr>modules/typescript/lib/lib.es2015.symbol.d"

						".nvm/versions/v8.4.0/lib/node_<wbr>modules/typedoc/node_<wbr>modules/typescript/lib/lib.es2015.symbol.wellknown.d"

						".nvm/versions/v8.4.0/lib/node_<wbr>modules/typedoc/node_<wbr>modules/typescript/lib/lib.es5.d"

								Intl

						"workspace/scion-<wbr>scxml-<wbr>platform/projects/SCION-<wbr>CORE/node_<wbr>modules/scion-<wbr>core-<wbr>base/tsd/scion-<wbr>core-<wbr>base.d"

						Function

								arguments

								caller

								length

								prototype

								apply

								bind

								call

								to<wbr>String

Legend

Module

Object literal

Variable

Function

Function with type parameter

Index signature

Type alias

Enumeration

Enumeration member

Property

Method

Interface

Interface with type parameter

Constructor

Property

Method

Index signature

Class

Class with type parameter

Constructor

Property

Method

Accessor

Index signature

Inherited constructor

Inherited property

Inherited method

Inherited accessor

Protected property

Protected method

Protected accessor

Private property

Private method

Private accessor

Static property

Static method

Generated using TypeDoc


text:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE appref SYSTEM "appref.dtd">

<appref>

    <copyright>
      <year>1999</year><year>2013</year>
      <holder>Ericsson AB. All Rights Reserved.</holder>
    </copyright>
    <legalnotice>
      The contents of this file are subject to the Erlang Public License,
      Version 1.1, (the "License"); you may not use this file except in
      compliance with the License. You should have received a copy of the
      Erlang Public License along with this software. If not, it can be
      retrieved online at http://www.erlang.org/.

      Software distributed under the License is distributed on an "AS IS"
      basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
      the License for the specific language governing rights and limitations
      under the License.

    </legalnotice>

    <title>ssl</title>
    <file>ssl_app.sgml</file>

  <app>ssl</app>
  <appsummary>The SSL application provides secure communication over
  sockets.</appsummary>

    <title>DEPENDENCIES</title>

The ssl application uses the Erlang applications public_key and
    crypto to handle public keys and encryption, hence these
    applications needs to be loaded for the ssl application to work. In
    an embedded environment that means they need to be started with
    application:start/[1,2] before the ssl application is started.

    <title>ENVIRONMENT</title>

The following application environment configuration parameters
    are defined for the SSL application. See <seealso
    marker="kernel:application">application(3)</seealso>for more
    information about configuration parameters.

Note that the environment parameters can be set on the command line,
      for instance,

<c>erl ... -ssl protocol_version '[sslv3, tlsv1]' ...</c>.

    <taglist>
      <tag><c><![CDATA[protocol_version = [sslv3|tlsv1] <optional>]]></c>.</tag>
      <item>

Protocol that will be supported by started clients and
	servers. If this option is not set it will default to all
	protocols currently supported by the erlang ssl application.
	Note that this option may be overridden by the version option
	to ssl:connect/[2,3] and ssl:listen/2.

      </item>

      <tag><c><![CDATA[session_lifetime = integer() <optional>]]></c></tag>
      <item>

The lifetime of session data in seconds.

      </item>

        <tag><c><![CDATA[session_cb = atom() <optional>]]></c></tag>
      <item>

	  Name of session cache callback module that implements
	  the ssl_session_cache_api behavior, defaults to
	  ssl_session_cache.erl.

      </item>

      <tag><c><![CDATA[session_cb_init_args = list() <optional>]]></c></tag>
      <item>

	  List of arguments to the init function in session cache
	  callback module, defaults to [].

      </item>

    </taglist>

    <title>SEE ALSO</title>

<seealso marker="kernel:application">application(3)</seealso>

</appref>