text:
<!DOCTYPE html>

    <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="keywords" content=" ">
<title>Retrieve Chat Events | LivePerson Technical Documentation</title>
<link rel="stylesheet" href="css/syntax.css">

<link rel="stylesheet" type="text/css" href="css/font-awesome-4.7.0/css/font-awesome.min.css">

<link rel="stylesheet" href="css/modern-business.css">
<link rel="stylesheet" href="css/lavish-bootstrap.css">
<link rel="stylesheet" href="css/customstyles.css">
<link rel="stylesheet" href="css/theme-blue.css">

<link rel="shortcut icon" href="images/favicon.ico">

<link rel="alternate" type="application/rss+xml" title="" href="http://0.0.0.0:4005feed.xml">

            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                Toggle navigation

            </button>
              LivePerson Technical Documentation

 Issues

                        <input type="text" id="search-input" placeholder="search...">

                Common Guidelines

                                        Introduction

Home

                Account Configuration

                                        Predefined Content API

Overview

Methods

Get Predefined Content Items

Get Predefined Content by ID

Predefined Content Query Delta

Create Predefined Content

Update Predefined Content

Update Predefined Content Items

Delete Predefined Content

Delete Predefined Content Items

Get Default Predefined Content Items

Get Default Predefined Content by ID

Appendix

                                        Automatic Messages API

Overview

Methods

Get Automatic Messages

Get Automatic Message by ID

Update an Automatic Message

Appendix

                Administration

                                        Users API

Overview

Methods

Get all users

Get user by ID

Create users

Update users

Update user

Delete users

Delete user

Change user's password

Reset user's password

User query delta

Appendix

                                        Skills API

Overview

Methods

Get all skills

Get skill by ID

Create skills

Update skills

Update skill

Delete skills

Delete skill

Skills Query Delta

Appendix

                                        Agent Groups API

Overview

Methods

Get all agent groups

Get agent group by ID

Create agent groups

Update agent groups

Update agent group

Delete agent groups

Delete agent group

Get subgroups and members of an agent group

Agent Groups Query Delta

                Consumer Experience

                                        JavaScript Chat API

Getting Started

Chat States

Surveys

Creating an Instance

Methods

getEstimatedWaitTime

getPreChatSurvey

getEngagement

requestChat

addLine

setVisitorTyping

setVisitorName

endChat

requestTranscript

getExitSurvey

submitExitSurvey

getOfflineSurvey

submitOfflineSurvey

getState

getAgentLoginName

getVisitorName

getAgentId

getRtSessionId

getSessionKey

getAgentTyping

Events

onLoad

onInit

onEstimatedWaitTime

onEngagement

onPreChatSurvey

onStart

onStop

onRequestChat

onTranscript

onLine

onState

onInfo

onAgentTyping

onExitSurvey

onAccountToAccountTransfer

Engagement Attributes Body Example

                                        Server Chat API

Getting Started

Methods

Retrieve Availability

Retrieve Available Slots

Retrieve Estimated Wait Time

Retrieve an Offline Survey

Start a Chat

Retrieve Chat Resources, Events and Information

Retrieve Chat Events

Add Lines / End Chat

Retrieve Chat Information

Retrieve the Visitor's Name

Set the Visitor's Name

Retrieve the Agent's Typing Status

Retrieve the Visitor's Typing Status

Set the Visitor's Typing Status

Retrieve Exit Survey Structure

Submit Survey Data

Send a Transcript

Sample Postman Collection

                                        In-App Messaging SDK iOS (2.0)

Quick Start

Advanced Configurations

Methods

initialize

showConversation

removeConversation

reconnect

toggleChatActions

checkActiveConversation

markAsUrgent

isUrgent

dismissUrgent

resolveConversation

clearHistory

logout

destruct

handlePush

registerPushNotifications

setUserProfile

getAssignedAgent

subscribeLogEvents

getSDKVersion

printAllLocalizedKeys

printSupportedLanguages

getAllSupportedLanguages

Interface and Class Definitions

Callbacks index

Configuring the SDK

Attributes

Deprecated Attributes

String localization in SDK

Localization Keys

Timestamps Formatting

OS Certificate Creation

CSAT UI Content

Photo Sharing (Beta)

Configuring Push Notifications

Open Source List

Security

                                        In-App Messaging SDK Android (2.0)

Version 2.0

                Real-time Interactions

                                        Visit Information API

Overview

Visit Information

                                        App Engagement API

Overview

Methods

Create Session

Update Session

                                        Engagement Attributes

Overview

Engagement Attributes

                                        IVR Engagement API

Overview

Methods

External Engagement

                                        Validate Engagement

Overview

Validate Engagement API

                                        Engagement Window Widget SDK

Overview

Getting Started

Limitations

Configuration

How to use the SDK

Code Examples

Event Structure

                Agent

                                        Agent Workspace Widget SDK

Overview

Getting Started

Limitations

How to use the SDK

Methods

Public Model Structure

Public Properties

Code Examples

                                        LivePerson Domain API

Domain API

                                        Login Service API

Getting Started

Methods

                                        Chat Agent API

Getting Started

Methods

                                        Messaging Agent SDK

Overview

                Data

                                        Data Access API

Data Access API

                                        Messaging Operations API

Messaging Operations API

                                        Messaging Interactions API

Messaging Interactions API (Beta)

                                        Engagement History API

Engagement History API

                                        Operational Real-time API

Operational Real-time API

                LiveEngage Tag

                                        LE Tag Events

LE Tag Events

                Messaging Window API

                                        Introduction

Home

Protocol Overview

Getting Started

                                        Tutorials

Get Messages

Conversation Metadata

Read/Accept events

Authentication

Agent Profile

Post Conversation Survey

Client Properties

Avoid Webqasocket Headers

                                        Samples

JavaScript Messenger

                                        API Reference

Overview

Request Builder

Response Builder

Notification Builder

New Conversation

Close Conversation

Update CSAT

Subscribe Conversations Metadata

Unsubscribe Conversations Metadata

Publish Content

Subscribe Conversation Content

Browser Init Connection

Retrieve Chat Events

This method retrieves the chat events. The possible event types include: state, url, line and a2a-transfer. You should use this method to periodically poll for new events in the chat session. The method for polling should always be the URI specified in the "next" link tag. This will retrieve a document that only contains events added after your last poll.

Request

      Method
      URI

      GET
      https://{domain}/api/account/{accountId}/chat/{chatId}/events?v=1&NC=true

Formats

XML

JSON

Request Headers

      Header
      Description

      Authorization
      LivePerson appKey=721c180b09eb463d9f3191c41762bb68

      Content-Type
      application/json

      Accept
      application/json

Parameters

      Name
      Description
      Type/Value

      from
      The ID of the first event that is shown in the response.
      numeric

Response

Response Codes

      Code
      Description

      200
      Successful

JSON Example:

{
  "events": {
    "link": [
      {
        "@href": "https://{domain}/api/account/{accountId}/chat/{chatId}/events",
        "@rel": "self"
      },
      {
        "@href": "https://{domain}/api/account/{accountId}/chat/{chatId}/events?from=5",
        "@rel": "next"
      }
    ],
    "event": [
      {
        "@id": "0",
        "@type": "state",
        "time": "2017-02-27T06:30:00.695-05:00",
        "state": "waiting"
      },
      {
        "@id": "1",
        "@type": "line",
        "time": "2017-02-27T06:30:00.696-05:00",
        "textType": "plain",
        "text": "Thank you for choosing to chat with us.",
        "by": "info",
        "source": "system",
        "systemMessageId": "4",
        "subType": "REGULAR"
      },
      {
        "@id": "2",
        "@type": "state",
        "time": "2017-02-27T06:30:25.502-05:00",
        "state": "chatting"
      },
      {
        "@id": "3",
        "@type": "line",
        "time": "2017-02-27T06:30:25.502-05:00",
        "textType": "plain",
        "text": "You are now chatting with Natalie.",
        "by": "info",
        "source": "system",
        "systemMessageId": "3",
        "subType": "REGULAR"
      },
      {
        "@id": "4",
        "@type": "line",
        "time": "2017-02-27T06:30:31.655-05:00",
        "textType": "html",
        "text": "<div dir=\"ltr\" style=\"direction: ltr; text-align: left;\">hi</div>",
        "by": "Natalie",
        "source": "agent",
        "subType": "REGULAR"
      }
    ]
  }
}

Elements in the Response

      Name
      Description
      Type/Value
      Notes

      time
      The time the event occurred.
      time

      text
      Content of the chat.
      alphanumeric

      textType
      The type of message.
      plain/html

      by
      Type of message that is sent.
      string
      Valid values: "info", "agent", "visitor"

      source
      Indication of who sent the message.
      string
      Valid values: "system", "agent", "visitor"

      systemMessageId
      The ID of the message.
      numeric
      See System Messages below.

System Messages

Messages that are initiated by the system. These messages are added with the <systemMessageId> element tag. The following table describes the available messages and IDs:

      ID
      Event

      4
      Routing chat to an operator.

      22
      Ticket ID associated with chat.

      5
      Operator ends chat.

      3
      Operator accepts chat.

      2
      Site operators are currently busy.

      13
      Chat is transferred to an operator.

      15
      Chat is transferred to another skill group.

      6
      Chat is unexpectedly disconnected.

      23
      Chat requeued by system.

Event type="state" Parameters

      Name
      Description
      Type/Value
      Notes

      time
      The time the event occurred.
      time

      state
      The state of the chat.
      string
      Valid values: "waiting", "chatting", "ended"

Event type="a2a-transfer" Parameters

      Name
      Description
      Type/Value
      Notes

      time
      The time the event occurred.
      time

      domain
      The domain of the target account.
      alphanumeric

      chatRequestParameters
      The parameters for the chat request.
      alphanumeric
      Should be taken as is and sent in the body of the chat request to the target account.

      a2aEventId
      The id of the a2a-transfer event.
      alphanumeric
      Needed for the target account to identify the a2a-transfer chat request.

      a2aSourceSessionId
      The session id in the source account.
      alphanumeric
      Needed for the target account to identify the a2a-transfer chat request.

      a2aSourceSiteId
      The id of the source account.
      alphanumeric
      Needed for the target account to identify the a2a-transfer chat request.

      skill
      The skill of the target account.
      alphanumeric

      remoteSiteId
      The id of the target account.
      numeric

      a2a-transfer
      URI to initiate a request to chat after the a2a-transfer.
      link relationship

               ©2017 LivePerson. All rights reserved.
This documentation is subject to change without notice.

 Site last generated: Mar 2, 2017


text:
<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<artifactId>OWLTools-Parent</artifactId>
		<groupId>org.bbop</groupId>
		<version>0.3.0-SNAPSHOT</version>
		<relativePath>../OWLTools-Parent/pom.xml</relativePath>
	</parent>

	<artifactId>OWLTools-Core</artifactId>
	<name>OWLTools-Core</name>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>3.2.0</version>
				<executions>
					<execution>
						<goals>
							<goal>test-jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<excludes>
						<!-- May exclude because they use GO; they take a while to run. -->
						<!-- <exclude>owltools/graph/OWLGraphShuntTest.java</exclude> --><!-- I ran into a funny case where I needed to know this... -->
						<exclude>owltools/graph/OWLGraphManipulatorTest.java</exclude>
						<exclude>owltools/graph/DLLikeQueryTest.java</exclude>
						<exclude>owltools/graph/AncestorsTest.java</exclude>
						<exclude>owltools/gfx/DrawOmmatidiumTest.java</exclude>
						<exclude>owltools/mooncat/Mireot2Test.java</exclude>
						<exclude>owltools/graph/PKBTest.java</exclude>
						<exclude>owltools/AddImportTest.java</exclude>
						<exclude>owltools/gfx/ImportTest.java</exclude>
						<exclude>owltools/graph/GraphImportsClosureTest.java</exclude>
						<exclude>owltools/mooncat/SubsetDefMooncatTest.java</exclude>
						<exclude>owltools/mooncat/PropertyViewTest.java</exclude>
						<exclude>owltools/graph/OWLGraphWrapperEdgeTest</exclude>
						<exclude>owltools/gfx/LegoVizTest.java</exclude>
					</excludes>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<dependencies>
		<dependency>
			<groupId>net.sourceforge.owlapi</groupId>
			<artifactId>owlapi-distribution</artifactId>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
		</dependency>
		<dependency>
			<groupId>net.sourceforge.owlapi</groupId>
			<artifactId>org.semanticweb.hermit</artifactId>
		</dependency>
		<dependency>
			<groupId>org.bbop</groupId>
			<artifactId>oboformat-tools</artifactId>
		</dependency>
		<dependency>
			<groupId>uk.ac.ebi.interpro</groupId>
			<artifactId>graphdraw</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.ant</groupId>
			<artifactId>ant</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-math</artifactId>
		</dependency>
		<dependency>
			<groupId>de.derivo</groupId>
			<artifactId>sparqldl-api</artifactId>
			<exclusions>
				<exclusion>
					<artifactId>owlapi</artifactId>
					<groupId>owlapi</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
		</dependency>
		<dependency>
			<groupId>org.semanticweb.elk</groupId>
			<artifactId>elk-owlapi</artifactId>
		</dependency>
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
		</dependency>
		<dependency>
			<groupId>org.geneontology</groupId>
			<artifactId>expression-materializing-reasoner</artifactId>
		</dependency>
		<dependency>
			<groupId>org.prefixcommons</groupId>
 			<artifactId>curie-util</artifactId>
 			<version>0.0.2</version>
		</dependency>
		<dependency>
			<groupId>org.geneontology</groupId>
			<artifactId>obographs</artifactId>
			<version>0.2.1</version>
		</dependency>
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
		</dependency>
		<dependency>
			<groupId>net.sf.trove4j</groupId>
			<artifactId>trove4j</artifactId>
		</dependency>
	</dependencies>
</project>

redpajama_set_name: RedPajamaGithub


text:
<!DOCTYPE html>

    <title>Example</title>

    <link rel="stylesheet" type="text/css" href="styles.css"/>
    <link rel="stylesheet" type="text/css" href="jquery-ui-1.8.16.custom.css"/>

Jacqui's Flower Shop

    <form method="post" action="http://node.jacquisflowershop.com/order">

Row 1

Row 2

Row 3

<button type="submit">Place Order</button>

    </form>


text:
package com.fanlehai.java.json;

import org.junit.Assert;
import org.junit.Test;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import org.json.*;

/*
 {
    "name": "Alice",
    "age": 20,
    "address": {
        "streetAddress": "100 Wall Street",
        "city": "New York"
    },
    "phoneNumber": [
        {
            "type": "home",
            "number": "212-333-1111"
        },{
            "type": "fax",
            "number": "646-444-2222"
        }
    ]
}
*/

public class JsonExample {

	@Test
	public void readJson() throws IOException {
		String filePath = "src/main/java/com/fanlehai/java/json/example.json";
		FileReader fileReader = new FileReader(filePath);
		char[] cbuf = new char[10];
		StringBuilder stringBuilder = new StringBuilder();
		while (fileReader.read(cbuf) != -1) {
			stringBuilder.append(cbuf);
		}
		fileReader.close();

		JSONObject object = new JSONObject(stringBuilder.toString());
		Assert.assertEquals("Alice", object.get("name"));
		Assert.assertEquals(20, object.get("age"));

		JSONObject objAddress = object.getJSONObject("address");
		Assert.assertEquals("100 Wall Street", objAddress.get("streetAddress"));
		Assert.assertEquals("New York", objAddress.get("city"));

		JSONArray array = object.getJSONArray("phoneNumber");
		for (int i = 0; i < array.length(); ++i) {
			System.out.println("type : " + array.getJSONObject(i).get("type"));
			System.out.println("number : " + array.getJSONObject(i).get("number"));
		}
	}

	@Test
	public void writeJson() throws IOException {
		String filePath = "src/main/java/com/fanlehai/java/json/write.json";
		FileWriter writer = new FileWriter(filePath);
		JSONObject obj = new JSONObject();
		obj.put("name", "john");
		obj.put("age", 28);
		JSONArray array = new JSONArray();
		array.put(0, obj);

		JSONObject objData = new JSONObject();
		objData.put("data", array);
		System.out.println(objData.toString());
	}
}


text:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package eu.monnetproject.math.sparse.eigen;

import eu.monnetproject.math.sparse.RealVector;
import eu.monnetproject.math.sparse.SparseMatrix;
import eu.monnetproject.math.sparse.TridiagonalMatrix;
import org.apache.commons.math.linear.Array2DRowRealMatrix;
import org.apache.commons.math.linear.EigenDecompositionImpl;
import org.apache.commons.math.linear.RealMatrix;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

/**
 *
 * @author jmccrae
 */
public class LanczosAlgorithmTest {

    public LanczosAlgorithmTest() {
    }

    @Before
    public void setUp() {
    }

    @After
    public void tearDown() {
    }

    @Test
    public void testLanczos() {
        final SparseMatrix<Double> A = SparseMatrix.fromArray(new double[][]{
                    {1, 3, 4},
                    {3, 2, 8},
                    {4, 8, 3}
                });
        final TridiagonalMatrix tri = LanczosAlgorithm.lanczos(A).tridiagonal();
        final RealMatrix mat = new Array2DRowRealMatrix(3, 3);
        for (int i = 0; i < 3; i++) {
            mat.setEntry(i, i, tri.alpha()[i]);
            if (i < 2) {
                mat.setEntry(i, i + 1, tri.beta()[i]);
                mat.setEntry(i + 1, i, tri.beta()[i]);
            }
        }
        final EigenDecompositionImpl eigenDecompositionImpl = new EigenDecompositionImpl(mat, 0.0001);
        final double[] realEigenvalues = eigenDecompositionImpl.getRealEigenvalues();
        Assert.assertArrayEquals(new double[]{12.64, -1.06, -5.57}, realEigenvalues, 0.01);
    }

    @Test
    public void testLanczosDiag() {
        final SparseMatrix<Double> A = SparseMatrix.fromArray(new double[][]{
                    {1, 0, 0, 0},
                    {0, 2, 0, 0},
                    {0, 0, 3, 0},
                    {0, 0, 0, 4}
                });
        double[] w = {0.2192688, 0.1660255, 0.849479, 0.4507047};
        final TridiagonalMatrix tri = LanczosAlgorithm.lanczos(A.asVectorFunction(), new RealVector(w)).tridiagonal();
        Assert.assertArrayEquals(new double[]{3.079, 2.338, 2.578, 2.004}, tri.alpha(), 0.01);
        Assert.assertArrayEquals(new double[]{0.6455, 1.277, 0.381}, tri.beta(), 0.01);
    }
}


text:
/*!
 * Heritage API.
 *
 * Main application entry.
 * @author Guillaume de Boyer <guillaume@geopan.io>
 */

'use strict';

// Set default node environment to development
process.env.NODE_ENV = process.env.NODE_ENV || 'development';

const express = require('express');
const sqldb = require('./sqldb');
const config = require('./config/env');
const http = require('http');

// Setup server
const app = express();
const server = http.createServer(app);

require('./config/express')(app);
require('./routes')(app);

// Start server
function startServer() {
  server.listen(config.port, config.ip, function() {
    console.log('Heritage API listening on %d, in %s mode', config.port, app.get('env'));
  });
}

sqldb.sequelize.sync()
  .then(startServer)
  .catch(function(err) {
    console.log('Server failed to start due to error: %s', err);
  });

// Expose app
exports = module.exports = app;


text:
/* */
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
exports.__esModule = true;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _PanelGroup = require('./PanelGroup');
var _PanelGroup2 = _interopRequireDefault(_PanelGroup);
var Accordion = _react2['default'].createClass({
  displayName: 'Accordion',
  render: function render() {
    return _react2['default'].createElement(_PanelGroup2['default'], _extends({}, this.props, {accordion: true}), this.props.children);
  }
});
exports['default'] = Accordion;
module.exports = exports['default'];


text:
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

#import "FBSDKShareLinkContent.h"

#import "FBSDKCoreKit+Internal.h"
#import "FBSDKHashtag.h"
#import "FBSDKShareUtility.h"

#define FBSDK_SHARE_STATUS_CONTENT_CONTENT_URL_KEY @"contentURL"
#define FBSDK_SHARE_STATUS_CONTENT_HASHTAG_KEY @"hashtag"
#define FBSDK_SHARE_STATUS_CONTENT_PEOPLE_IDS_KEY @"peopleIDs"
#define FBSDK_SHARE_STATUS_CONTENT_PLACE_ID_KEY @"placeID"
#define FBSDK_SHARE_STATUS_CONTENT_REF_KEY @"ref"
#define FBSDK_SHARE_STATUS_CONTENT_PAGE_ID_KEY @"pageID"
#define FBSDK_SHARE_STATUS_CONTENT_QUOTE_TEXT_KEY @"quote"
#define FBSDK_SHARE_STATUS_CONTENT_UUID_KEY @"uuid"

@implementation FBSDKShareLinkContent

#pragma mark - Properties

@synthesize contentURL = _contentURL;
@synthesize hashtag = _hashtag;
@synthesize peopleIDs = _peopleIDs;
@synthesize placeID = _placeID;
@synthesize ref = _ref;
@synthesize pageID = _pageID;
@synthesize quote = _quote;
@synthesize shareUUID = _shareUUID;

#pragma mark - Initializer

- (instancetype)init
{
  self = [super init];
  if (self) {
    _shareUUID = [NSUUID UUID].UUIDString;
  }
  return self;
}

#pragma mark - Setters

- (void)setPeopleIDs:(NSArray<NSString *> *)peopleIDs
{
  [FBSDKShareUtility assertCollection:peopleIDs ofClass:[NSString class] name:@"peopleIDs"];
  if (![FBSDKInternalUtility object:_peopleIDs isEqualToObject:peopleIDs]) {
    _peopleIDs = [peopleIDs copy];
  }
}

#pragma mark - FBSDKSharingContent

- (NSDictionary<NSString *, id> *)addParameters:(NSDictionary<NSString *, id> *)existingParameters
                                  bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions
{
  NSMutableDictionary<NSString *, id> *updatedParameters = [NSMutableDictionary dictionaryWithDictionary:existingParameters];

  [FBSDKBasicUtility dictionary:updatedParameters setObject:_contentURL forKey:@"link"];
  [FBSDKBasicUtility dictionary:updatedParameters setObject:_quote forKey:@"quote"];

  /**
   Pass link parameter as "messenger_link" due to versioning requirements for message dialog flow.
   We will only use the new share flow we developed if messenger_link is present, not link.
   */
  [FBSDKBasicUtility dictionary:updatedParameters setObject:_contentURL forKey:@"messenger_link"];

  return updatedParameters;
}

#pragma mark - FBSDKSharingValidation

- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef
{
  return [FBSDKShareUtility validateNetworkURL:_contentURL name:@"contentURL" error:errorRef];
}

#pragma mark - Equality

- (NSUInteger)hash
{
  NSUInteger subhashes[] = {
    _contentURL.hash,
    _hashtag.hash,
    _peopleIDs.hash,
    _placeID.hash,
    _ref.hash,
    _pageID.hash,
    _quote.hash,
    _shareUUID.hash,
  };
  return [FBSDKMath hashWithIntegerArray:subhashes count:sizeof(subhashes) / sizeof(subhashes[0])];
}

- (BOOL)isEqual:(id)object
{
  if (self == object) {
    return YES;
  }
  if (![object isKindOfClass:[FBSDKShareLinkContent class]]) {
    return NO;
  }
  return [self isEqualToShareLinkContent:(FBSDKShareLinkContent *)object];
}

- (BOOL)isEqualToShareLinkContent:(FBSDKShareLinkContent *)content
{
  return (content &&
          [FBSDKInternalUtility object:_contentURL isEqualToObject:content.contentURL] &&
          [FBSDKInternalUtility object:_hashtag isEqualToObject:content.hashtag] &&
          [FBSDKInternalUtility object:_peopleIDs isEqualToObject:content.peopleIDs] &&
          [FBSDKInternalUtility object:_placeID isEqualToObject:content.placeID] &&
          [FBSDKInternalUtility object:_ref isEqualToObject:content.ref] &&
          [FBSDKInternalUtility object:_pageID isEqualToObject:content.pageID] &&
          [FBSDKInternalUtility object:_shareUUID isEqualToObject:content.shareUUID]) &&
          [FBSDKInternalUtility object:_quote isEqualToObject:content.quote];
}

#pragma mark - NSCoding

+ (BOOL)supportsSecureCoding
{
  return YES;
}

- (instancetype)initWithCoder:(NSCoder *)decoder
{
  if ((self = [self init])) {
    _contentURL = [decoder decodeObjectOfClass:[NSURL class] forKey:FBSDK_SHARE_STATUS_CONTENT_CONTENT_URL_KEY];
    _hashtag = [decoder decodeObjectOfClass:[FBSDKHashtag class] forKey:FBSDK_SHARE_STATUS_CONTENT_HASHTAG_KEY];
    _peopleIDs = [decoder decodeObjectOfClass:[NSArray class] forKey:FBSDK_SHARE_STATUS_CONTENT_PEOPLE_IDS_KEY];
    _placeID = [decoder decodeObjectOfClass:[NSString class] forKey:FBSDK_SHARE_STATUS_CONTENT_PLACE_ID_KEY];
    _ref = [decoder decodeObjectOfClass:[NSString class] forKey:FBSDK_SHARE_STATUS_CONTENT_REF_KEY];
    _pageID = [decoder decodeObjectOfClass:[NSString class] forKey:FBSDK_SHARE_STATUS_CONTENT_PAGE_ID_KEY];
    _quote = [decoder decodeObjectOfClass:[NSString class] forKey:FBSDK_SHARE_STATUS_CONTENT_QUOTE_TEXT_KEY];
    _shareUUID = [decoder decodeObjectOfClass:[NSString class] forKey:FBSDK_SHARE_STATUS_CONTENT_UUID_KEY];
  }
  return self;
}

- (void)encodeWithCoder:(NSCoder *)encoder
{
  [encoder encodeObject:_contentURL forKey:FBSDK_SHARE_STATUS_CONTENT_CONTENT_URL_KEY];
  [encoder encodeObject:_hashtag forKey:FBSDK_SHARE_STATUS_CONTENT_HASHTAG_KEY];
  [encoder encodeObject:_peopleIDs forKey:FBSDK_SHARE_STATUS_CONTENT_PEOPLE_IDS_KEY];
  [encoder encodeObject:_placeID forKey:FBSDK_SHARE_STATUS_CONTENT_PLACE_ID_KEY];
  [encoder encodeObject:_ref forKey:FBSDK_SHARE_STATUS_CONTENT_REF_KEY];
  [encoder encodeObject:_pageID forKey:FBSDK_SHARE_STATUS_CONTENT_PAGE_ID_KEY];
  [encoder encodeObject:_quote forKey:FBSDK_SHARE_STATUS_CONTENT_QUOTE_TEXT_KEY];
  [encoder encodeObject:_shareUUID forKey:FBSDK_SHARE_STATUS_CONTENT_UUID_KEY];
}

#pragma mark - NSCopying

- (id)copyWithZone:(NSZone *)zone
{
  FBSDKShareLinkContent *copy = [[FBSDKShareLinkContent alloc] init];
  copy->_contentURL = [_contentURL copy];
  copy->_hashtag = [_hashtag copy];
  copy->_peopleIDs = [_peopleIDs copy];
  copy->_placeID = [_placeID copy];
  copy->_ref = [_ref copy];
  copy->_pageID = [_pageID copy];
  copy->_quote = [_quote copy];
  copy->_shareUUID = [_shareUUID copy];
  return copy;
}

@end


text:
const testPackage = require('../../helpers/test-package');
const processorFactory = require('./computeApiBreadCrumbs');
const Dgeni = require('dgeni');

describe('angular-api-package: computeApiBreadCrumbs processor', () => {

  it('should be available on the injector', () => {
    const dgeni = new Dgeni([testPackage('angular-api-package')]);
    const injector = dgeni.configureInjector();
    const processor = injector.get('computeApiBreadCrumbs');
    expect(processor.$process).toBeDefined();
    expect(processor.$runAfter).toEqual(['paths-computed']);
    expect(processor.$runBefore).toEqual(['rendering-docs']);
  });

  it('should attach a breadCrumbs property to each of the API_DOC_TYPES_TO_RENDER docs', () => {
    const API_DOC_TYPES_TO_RENDER = ['class', 'interface', 'package'];
    const processor = processorFactory(API_DOC_TYPES_TO_RENDER);

    const corePackage = { docType: 'package', name: '@angular/core', id: 'core', path: 'core', isPrimaryPackage: true };
    const coreTestingPackage = { docType: 'package', name: '@angular/core/testing', id: 'core/testing', path: 'core/testing', packageInfo: { primary: corePackage } };
    const testRequestClass = { docType: 'class', name: 'InjectSetupWrapper', path: 'core/testing/test_bed', moduleDoc: coreTestingPackage };

    const docs = [
      { docType: 'class', name: 'ClassA', path: 'module-1/class-a', moduleDoc: { id: 'moduleOne', path: 'module-1' } },
      { docType: 'interface', name: 'InterfaceB', path: 'module-2/interface-b', moduleDoc: { id: 'moduleTwo', path: 'module-2' } },
      { docType: 'guide', name: 'Guide One', path: 'guide/guide-1' },
      corePackage,
      coreTestingPackage,
      testRequestClass
    ];
    processor.$process(docs);

    expect(docs[0].breadCrumbs).toEqual([
      { text: 'API', path: '/api' },
      { text: '@angular/moduleOne', path: 'module-1' },
      { text: 'ClassA', path: 'module-1/class-a' },
    ]);
    expect(docs[1].breadCrumbs).toEqual([
      { text: 'API', path: '/api' },
      { text: '@angular/moduleTwo', path: 'module-2' },
      { text: 'InterfaceB', path: 'module-2/interface-b' },
    ]);
    expect(docs[2].breadCrumbs).toBeUndefined();
    expect(docs[3].breadCrumbs).toEqual([
      { text: 'API', path: '/api' },
      { text: '@angular/core', path: 'core' },
    ]);
    expect(docs[4].breadCrumbs).toEqual([
      { text: 'API', path: '/api' },
      { text: '@angular/core', path: 'core' },
      { text: '@angular/core/testing', path: 'core/testing' },
    ]);
    expect(docs[5].breadCrumbs).toEqual([
      { text: 'API', path: '/api' },
      { text: '@angular/core', path: 'core' },
      { text: '@angular/core/testing', path: 'core/testing' },
      { text: 'InjectSetupWrapper', path: 'core/testing/test_bed' },
    ]);
  });
});


text:
package uk.ac.ed.easyccg.syntax;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;

import com.google.common.collect.ImmutableSet;

public abstract class Category {
  private final String asString;
  private final int id;
  private final static String WILDCARD_FEATURE = "X";
  private final static Set<String> bracketAndQuoteCategories = ImmutableSet.of("LRB", "RRB", "LQU", "RQU");

  private Category(String asString, String semanticAnnotation) {
    this.asString = asString + (semanticAnnotation == null ? "" : "{" + semanticAnnotation + "}");
    this.id = numCats.getAndIncrement();
  }

  public enum Slash {
    FWD, BWD, EITHER;
    public String toString()
    {
      String result = "";

      switch (this)
      {
      case FWD: result = "/"; break;
      case BWD: result = "\\"; break;
      case EITHER: result = "|"; break;

      }

      return result;
    }

    public static Slash fromString(String text) {
      if (text != null) {
        for (Slash slash : values()) {
          if (text.equalsIgnoreCase(slash.toString()))
          {
            return slash;
          }
        }
      }
      throw new IllegalArgumentException("Invalid slash: " + text);
    }

    public boolean matches(Slash other)
    {
      return this == EITHER || this == other;
    }
  }

  private static AtomicInteger numCats = new AtomicInteger();
  private final static Map<String, Category> cache = new HashMap<String, Category>();
  public static final Category COMMA = Category.valueOf(",");
  public static final Category SEMICOLON = Category.valueOf(";");
  public static final Category CONJ = Category.valueOf("conj");
  public final static Category N = valueOf("N");
  public static final Category LQU = Category.valueOf("LQU");
  public static final Category LRB = Category.valueOf("LRB");
  public static final Category NP = Category.valueOf("NP");
  public static final Category PP = Category.valueOf("PP");
  public static final Category PREPOSITION = Category.valueOf("PP/NP");
  public static final Category PR = Category.valueOf("PR");

  public static Category valueOf(String cat) {

    Category result = cache.get(cat);
    if (result == null) {

      String name = Util.dropBrackets(cat);
      result = cache.get(name);

      if (result == null) {
        result = Category.valueOfUncached(name);
        if (name != cat) {
          synchronized(cache) {
            cache.put(name, result);
          }
        }
      }

      synchronized(cache) {
        cache.put(cat, result);
      }
    }

    return result;
  }

  /**
   * Builds a category from a string representation.
   */
  private static Category valueOfUncached(String source)
  {
    // Categories have the form: ((X/Y)\Z[feature]){ANNOTATION}
    String newSource = source;

    String semanticAnnotation;
    if (newSource.endsWith("}")) {
      int openIndex = newSource.lastIndexOf("{");
      semanticAnnotation = newSource.substring(openIndex + 1, newSource.length() - 1);
      newSource = newSource.substring(0, openIndex);
    } else {
      semanticAnnotation = null;
    }

    if (newSource.startsWith("("))
    {
      int closeIndex = Util.findClosingBracket(newSource);

      if (Util.indexOfAny(newSource.substring(closeIndex), "/\\|") == -1)
      {
        // Simplify (X) to X
        newSource = newSource.substring(1, closeIndex);
        Category result = valueOfUncached(newSource);

        return result;
      }
    }

    int endIndex = newSource.length();

    int opIndex =  Util.findNonNestedChar(newSource, "/\\|");

    if (opIndex == -1)
    {
      // Atomic Category
      int featureIndex = newSource.indexOf("[");
      List<String> features = new ArrayList<String>();

      String base = (featureIndex == -1 ? newSource : newSource.substring(0, featureIndex));

      while (featureIndex > -1)
      {
        features.add(newSource.substring(featureIndex + 1, newSource.indexOf("]", featureIndex)));
        featureIndex = newSource.indexOf("[", featureIndex + 1);
      }

      if (features.size() > 1) {
        throw new RuntimeException("Can only handle single features: " + source);
      }

      Category c = new AtomicCategory(base, features.size() == 0 ? null : features.get(0), semanticAnnotation);
      return c;
    }
    else
    {
      // Functor Category

      Category left = valueOf(newSource.substring(0, opIndex));
      Category right = valueOf(newSource.substring(opIndex + 1, endIndex));
      return new FunctorCategory(left,
          Slash.fromString(newSource.substring(opIndex, opIndex + 1)),
          right,
          semanticAnnotation
      );
    }
  }

  public String toString() {
    return asString;
  }

  @Override
  public boolean equals(Object other) {
    return this == other;
  }

  @Override
  public int hashCode() {
    return id;
  }

  abstract boolean isTypeRaised();
  abstract boolean isForwardTypeRaised();
  abstract boolean isBackwardTypeRaised();

  public abstract boolean isModifier();
  public abstract boolean matches(Category other);
  public abstract Category getLeft();
  public abstract Category getRight();
  abstract Slash getSlash();
  abstract String getFeature();

  abstract String toStringWithBrackets();
  public abstract Category dropPPandPRfeatures();

  static class FunctorCategory extends Category {
    private final Category left;
    private final Category right;
    private final Slash slash;
    private final boolean isMod;

    private FunctorCategory(Category left, Slash slash, Category right, String semanticAnnotation) {
      super(left.toStringWithBrackets() + slash + right.toStringWithBrackets(), semanticAnnotation);
      this.left = left;
      this.right = right;
      this.slash = slash;
      this.isMod = left.equals(right);

      // X|(X|Y)
      this.isTypeRaised = right.isFunctor() && right.getLeft().equals(left);
    }

    @Override
    public boolean isModifier()
    {
      return isMod;
    }

    @Override
    public boolean matches(Category other)
    {
      return other.isFunctor() && left.matches(other.getLeft()) && right.matches(other.getRight()) && slash.matches(other.getSlash());
    }

    @Override
    public Category getLeft()
    {
      return left;
    }

    @Override
    public Category getRight()
    {
      return right;
    }

    @Override
    Slash getSlash()
    {
      return slash;
    }

    @Override
    String getFeature()
    {
      throw new UnsupportedOperationException();
    }

    @Override
    String toStringWithBrackets()
    {
      return "(" + toString() + ")";
    }

    @Override
    public boolean isFunctor()
    {
      return true;
    }

    @Override
    public boolean isPunctuation()
    {
      return false;
    }

    @Override
    String getType()
    {
      throw new UnsupportedOperationException();
    }

    @Override
    String getSubstitution(Category other)
    {
      String result = getRight().getSubstitution(other.getRight());
      if (result == null) {
        // Bit of a hack, but seems to reproduce CCGBank in cases of clashing features.
        result = getLeft().getSubstitution(other.getLeft());
      }
      return result;
    }

    private final boolean isTypeRaised;
    @Override
    public boolean isTypeRaised()
    {
      return isTypeRaised;
    }

    @Override
    public boolean isForwardTypeRaised()
    {
      // X/(X\Y)
      return isTypeRaised() && getSlash() == Slash.FWD;
    }

    @Override
    public boolean isBackwardTypeRaised()
    {
      // X\(X/Y)
      return isTypeRaised() && getSlash() == Slash.BWD;
    }

    @Override
    boolean isNounOrNP()
    {
      return false;
    }

    @Override
    public Category addFeature(String preposition)
    {
      throw new RuntimeException("Functor categories cannot take features");
    }

    @Override
    public int getNumberOfArguments()
    {
      return 1 + left.getNumberOfArguments();
    }

    @Override
    public Category replaceArgument(int argNumber, Category newCategory)
    {
      if (argNumber == getNumberOfArguments()) {
        return Category.make(left, slash, newCategory);
      } else {
        return Category.make(left.replaceArgument(argNumber, newCategory), slash, right);
      }
    }

    @Override
    public Category getArgument(int argNumber)
    {
      if (argNumber == getNumberOfArguments()) {
        return right;
      } else {
        return left.getArgument(argNumber);
      }
    }

    @Override
    public Category getHeadCategory()
    {
      return left.getHeadCategory();
    }

    @Override
    public boolean isFunctionIntoModifier()
    {
      return isModifier() || left.isModifier();
    }

    @Override
    public boolean isFunctionInto(Category into)
    {
      return into.matches(this) || left.isFunctionInto(into);
    }

    @Override
    public Category dropPPandPRfeatures()
    {
      return Category.make(left.dropPPandPRfeatures(), slash, right.dropPPandPRfeatures());
    }
  }

  abstract String getSubstitution(Category other);

  static class AtomicCategory extends Category {

    private AtomicCategory(String type, String feature, String semanticAnnotation)
    {
      super(type + (feature == null ? "" : "[" + feature + "]"), semanticAnnotation);
      this.type = type;
      this.feature = feature;
      isPunctuation = !type.matches("[A-Za-z]+") || bracketAndQuoteCategories.contains(type);
    }

    private final String type;
    private final String feature;
    @Override
    public boolean isModifier()
    {
      return false;
    }

    @Override
    public boolean matches(Category other)
    {
      return !other.isFunctor() && type.equals(other.getType()) &&
      (feature == null || feature.equals(other.getFeature()) || WILDCARD_FEATURE.equals(getFeature()) || WILDCARD_FEATURE.equals(other.getFeature())
          || feature.equals("nb") // Ignoring the NP[nb] feature, which isn't very helpful. For example, it stops us coordinating "John and a girl",
          // because "and a girl" ends up with a NP[nb]\NP[nb] tag.
      );
    }

    @Override
    public Category getLeft()
    {
      throw new UnsupportedOperationException();
    }

    @Override
    public Category getRight()
    {
      throw new UnsupportedOperationException();
    }

    @Override
    Slash getSlash()
    {
      throw new UnsupportedOperationException();
    }

    @Override
    String getFeature()
    {
      return feature;
    }

    @Override
    String toStringWithBrackets()
    {
      return toString();
    }

    @Override
    public boolean isFunctor()
    {
      return false;
    }

    private final boolean isPunctuation;
    @Override
    public boolean isPunctuation()
    {
      return isPunctuation ;
    }

    @Override
    String getType()
    {
      return type;
    }

    @Override
    String getSubstitution(Category other)
    {
      if (WILDCARD_FEATURE.equals(getFeature())) {
        return other.getFeature();
      } else if (WILDCARD_FEATURE.equals(other.getFeature())) {
        return feature;
      }
      return null;
    }

    @Override
    public boolean isTypeRaised()
    {
      return false;
    }

    public boolean isForwardTypeRaised()
    {
      return false;
    }

    public boolean isBackwardTypeRaised()
    {
      return false;
    }

    @Override
    boolean isNounOrNP()
    {
      return type.equals("N") || type.equals("NP");
    }

    @Override
    public Category addFeature(String newFeature)
    {
      if (feature != null) throw new RuntimeException("Only one feature allowed. Can't add feature: " + newFeature + " to category: " + this);
      newFeature = newFeature.replaceAll("/", "");
      newFeature = newFeature.replaceAll("\\\\", "");
      return valueOf(type + "[" + newFeature + "]");
    }

    @Override
    public int getNumberOfArguments()
    {
      return 0;
    }

    @Override
    public Category replaceArgument(int argNumber, Category newCategory)
    {
      if (argNumber == 0) return newCategory;
      throw new RuntimeException("Error replacing argument of category");
    }

    @Override
    public Category getArgument(int argNumber)
    {
      if (argNumber == 0) return this;
      throw new RuntimeException("Error getting argument of category");
    }

    @Override
    public Category getHeadCategory()
    {
      return this;
    }

    @Override
    public boolean isFunctionIntoModifier()
    {
      return false;
    }

    @Override
    public boolean isFunctionInto(Category into)
    {
      return into.matches(this);
    }

    @Override
    public Category dropPPandPRfeatures()
    {
      if (type.equals("PP") || type.equals("PP")) {
        return valueOf(type);
      } else {
        return this;
      }
    }
  }

  public static Category make(Category left, Slash op, Category right)
  {
    return valueOf(left.toStringWithBrackets() + op + right.toStringWithBrackets());
  }

  abstract String getType();

  abstract boolean isFunctor();

  abstract boolean isPunctuation();

  /**
   * Returns the Category created by substituting all [X] wildcard features with the supplied argument.
   */
  Category doSubstitution(String substitution)
  {
    if (substitution == null) return this;
    return valueOf(toString().replaceAll(WILDCARD_FEATURE, substitution));
  }

  /**
   * A unique numeric identifier for this category.
   */
  int getID()
  {
    return id;
  }

  abstract boolean isNounOrNP();

  public abstract Category addFeature(String preposition);

  public abstract int getNumberOfArguments();
  public abstract Category getHeadCategory();
  public abstract boolean isFunctionInto(Category into);

  /**
   * Replaces the argument with the given index with the new Category. Arguments are count from the left, starting with 0 for the head Category.
   * e.g. (((S\NP)/NP)/PP)/PR @replaceArgument(3, PP[in]) =  (((S\NP)/NP)/PP[in])/PR
   */
  public abstract Category replaceArgument(int argNumber, Category newCategory);

  public abstract Category getArgument(int argNumber);
  public abstract boolean isFunctionIntoModifier();

}


text:
webpackJsonp([1,4],{

/***/ 158:
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__(69);

/***/ }),

/***/ 68:
/***/ (function(module, exports) {

function webpackEmptyContext(req) {
	throw new Error("Cannot find module '" + req + "'.");
}
webpackEmptyContext.keys = function() { return []; };
webpackEmptyContext.resolve = webpackEmptyContext;
module.exports = webpackEmptyContext;
webpackEmptyContext.id = 68;

/***/ }),

/***/ 69:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(10);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__environments_environment__ = __webpack_require__(79);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_platform_browser__ = __webpack_require__(20);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__gendir_app_app_module_ngfactory__ = __webpack_require__(76);

if (__WEBPACK_IMPORTED_MODULE_1__environments_environment__["a" /* environment */].production) {
    __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["a" /* enableProdMode */])();
}
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__angular_platform_browser__["a" /* platformBrowser */])().bootstrapModuleFactory(__WEBPACK_IMPORTED_MODULE_3__gendir_app_app_module_ngfactory__["a" /* AppModuleNgFactory */]);
//# sourceMappingURL=main.js.map

/***/ }),

/***/ 74:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return styles; });
/**
 * @fileoverview This file is generated by the Angular template compiler.
 * Do not edit.
 * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride}
 */
/* tslint:disable */
/**
 * @fileoverview This file is generated by the Angular template compiler.
 * Do not edit.
 * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride}
 */ var styles = [''];
//# sourceMappingURL=data:application/json;base64,eyJmaWxlIjoiQzovVXNlcnMvdXN1YXJpby9naXQvYW5ndWxhcjIvYW5ndWxhci9wcm9kdWNjaW9uL2VqZW1wbG9TaW1wbGUvc3JjL2FwcC9hcHAuY29tcG9uZW50LmNzcy5zaGltLm5nc3R5bGUudHMiLCJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJuZzovLy9DOi9Vc2Vycy91c3VhcmlvL2dpdC9hbmd1bGFyMi9hbmd1bGFyL3Byb2R1Y2Npb24vZWplbXBsb1NpbXBsZS9zcmMvYXBwL2FwcC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiICJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7OyJ9
//# sourceMappingURL=app.component.css.shim.ngstyle.js.map

/***/ }),

/***/ 75:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__app_component_css_shim_ngstyle__ = __webpack_require__(74);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(10);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__app_app_component__ = __webpack_require__(77);
/* unused harmony export RenderType_AppComponent */
/* unused harmony export View_AppComponent_0 */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AppComponentNgFactory; });
/**
 * @fileoverview This file is generated by the Angular template compiler.
 * Do not edit.
 * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride}
 */
/* tslint:disable */

var styles_AppComponent = [__WEBPACK_IMPORTED_MODULE_0__app_component_css_shim_ngstyle__["a" /* styles */]];
var RenderType_AppComponent = __WEBPACK_IMPORTED_MODULE_1__angular_core__["_14" /* ɵcrt */]({
    encapsulation: 0,
    styles: styles_AppComponent,
    data: {}
});
function View_AppComponent_0(l) {
    return __WEBPACK_IMPORTED_MODULE_1__angular_core__["_15" /* ɵvid */](0, [
        (l()(), __WEBPACK_IMPORTED_MODULE_1__angular_core__["_16" /* ɵeld */](0, null, null, 1, 'h1', [], null, null, null, null, null)),
        (l()(), __WEBPACK_IMPORTED_MODULE_1__angular_core__["_17" /* ɵted */](null, [
            '\n  ',
            '\n'
        ])),
        (l()(), __WEBPACK_IMPORTED_MODULE_1__angular_core__["_17" /* ɵted */](null, ['\n']))
    ], null, function (ck, v) {
        var co = v.component;
        var currVal_0 = co.title;
        ck(v, 1, 0, currVal_0);
    });
}
function View_AppComponent_Host_0(l) {
    return __WEBPACK_IMPORTED_MODULE_1__angular_core__["_15" /* ɵvid */](0, [
        (l()(), __WEBPACK_IMPORTED_MODULE_1__angular_core__["_16" /* ɵeld */](0, null, null, 1, 'app-root', [], null, null, null, View_AppComponent_0, RenderType_AppComponent)),
        __WEBPACK_IMPORTED_MODULE_1__angular_core__["_18" /* ɵdid */](49152, null, 0, __WEBPACK_IMPORTED_MODULE_2__app_app_component__["a" /* AppComponent */], [], null, null)
    ], null, null);
}
var AppComponentNgFactory = __WEBPACK_IMPORTED_MODULE_1__angular_core__["_19" /* ɵccf */]('app-root', __WEBPACK_IMPORTED_MODULE_2__app_app_component__["a" /* AppComponent */], View_AppComponent_Host_0, {}, {}, []);
//# sourceMappingURL=data:application/json;base64,eyJmaWxlIjoiQzovVXNlcnMvdXN1YXJpby9naXQvYW5ndWxhcjIvYW5ndWxhci9wcm9kdWNjaW9uL2VqZW1wbG9TaW1wbGUvc3JjL2FwcC9hcHAuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsInZlcnNpb24iOjMsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm5nOi8vL0M6L1VzZXJzL3VzdWFyaW8vZ2l0L2FuZ3VsYXIyL2FuZ3VsYXIvcHJvZHVjY2lvbi9lamVtcGxvU2ltcGxlL3NyYy9hcHAvYXBwLmNvbXBvbmVudC50cyIsIm5nOi8vL0M6L1VzZXJzL3VzdWFyaW8vZ2l0L2FuZ3VsYXIyL2FuZ3VsYXIvcHJvZHVjY2lvbi9lamVtcGxvU2ltcGxlL3NyYy9hcHAvYXBwLmNvbXBvbmVudC5odG1sIiwibmc6Ly8vQzovVXNlcnMvdXN1YXJpby9naXQvYW5ndWxhcjIvYW5ndWxhci9wcm9kdWNjaW9uL2VqZW1wbG9TaW1wbGUvc3JjL2FwcC9hcHAuY29tcG9uZW50LnRzLkFwcENvbXBvbmVudF9Ib3N0Lmh0bWwiXSwic291cmNlc0NvbnRlbnQiOlsiICIsIjxoMT5cbiAge3t0aXRsZX19XG48L2gxPlxuIiwiPGFwcC1yb290PjwvYXBwLXJvb3Q+Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNBQTtJQUFJO01BQUE7TUFBQTtJQUFBO0lBQUE7SUFFQzs7OztJQUZEO0lBQUE7Ozs7O0lDQUo7Z0JBQUE7Ozs7In0=
//# sourceMappingURL=app.component.ngfactory.js.map

/***/ }),

/***/ 76:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(10);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__app_app_module__ = __webpack_require__(78);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_common__ = __webpack_require__(46);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__ = __webpack_require__(20);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__angular_forms__ = __webpack_require__(72);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_http__ = __webpack_require__(73);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__app_component_ngfactory__ = __webpack_require__(75);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AppModuleNgFactory; });
/**
 * @fileoverview This file is generated by the Angular template compiler.
 * Do not edit.
 * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride}
 */
/* tslint:disable */
var __extends = (this && this.__extends) || (function () {
    var extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();

var AppModuleInjector = (function (_super) {
    __extends(AppModuleInjector, _super);
    function AppModuleInjector(parent) {
        return _super.call(this, parent, [__WEBPACK_IMPORTED_MODULE_6__app_component_ngfactory__["a" /* AppComponentNgFactory */]], [__WEBPACK_IMPORTED_MODULE_6__app_component_ngfactory__["a" /* AppComponentNgFactory */]]) || this;
    }
    Object.defineProperty(AppModuleInjector.prototype, "_LOCALE_ID_12", {
        get: function () {
            if ((this.__LOCALE_ID_12 == null)) {
                (this.__LOCALE_ID_12 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["b" /* ɵn */](this.parent.get(__WEBPACK_IMPORTED_MODULE_0__angular_core__["c" /* LOCALE_ID */], null)));
            }
            return this.__LOCALE_ID_12;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_NgLocalization_13", {
        get: function () {
            if ((this.__NgLocalization_13 == null)) {
                (this.__NgLocalization_13 = new __WEBPACK_IMPORTED_MODULE_2__angular_common__["a" /* NgLocaleLocalization */](this._LOCALE_ID_12));
            }
            return this.__NgLocalization_13;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_Compiler_14", {
        get: function () {
            if ((this.__Compiler_14 == null)) {
                (this.__Compiler_14 = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["d" /* Compiler */]());
            }
            return this.__Compiler_14;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_APP_ID_15", {
        get: function () {
            if ((this.__APP_ID_15 == null)) {
                (this.__APP_ID_15 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["e" /* ɵg */]());
            }
            return this.__APP_ID_15;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_IterableDiffers_16", {
        get: function () {
            if ((this.__IterableDiffers_16 == null)) {
                (this.__IterableDiffers_16 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["f" /* ɵl */]());
            }
            return this.__IterableDiffers_16;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_KeyValueDiffers_17", {
        get: function () {
            if ((this.__KeyValueDiffers_17 == null)) {
                (this.__KeyValueDiffers_17 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["g" /* ɵm */]());
            }
            return this.__KeyValueDiffers_17;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_DomSanitizer_18", {
        get: function () {
            if ((this.__DomSanitizer_18 == null)) {
                (this.__DomSanitizer_18 = new __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["b" /* ɵe */](this.parent.get(__WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["c" /* DOCUMENT */])));
            }
            return this.__DomSanitizer_18;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_Sanitizer_19", {
        get: function () {
            if ((this.__Sanitizer_19 == null)) {
                (this.__Sanitizer_19 = this._DomSanitizer_18);
            }
            return this.__Sanitizer_19;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_HAMMER_GESTURE_CONFIG_20", {
        get: function () {
            if ((this.__HAMMER_GESTURE_CONFIG_20 == null)) {
                (this.__HAMMER_GESTURE_CONFIG_20 = new __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["d" /* HammerGestureConfig */]());
            }
            return this.__HAMMER_GESTURE_CONFIG_20;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_EVENT_MANAGER_PLUGINS_21", {
        get: function () {
            if ((this.__EVENT_MANAGER_PLUGINS_21 == null)) {
                (this.__EVENT_MANAGER_PLUGINS_21 = [
                    new __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["e" /* ɵDomEventsPlugin */](this.parent.get(__WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["c" /* DOCUMENT */])),
                    new __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["f" /* ɵKeyEventsPlugin */](this.parent.get(__WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["c" /* DOCUMENT */])),
                    new __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["g" /* ɵHammerGesturesPlugin */](this.parent.get(__WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["c" /* DOCUMENT */]), this._HAMMER_GESTURE_CONFIG_20)
                ]);
            }
            return this.__EVENT_MANAGER_PLUGINS_21;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_EventManager_22", {
        get: function () {
            if ((this.__EventManager_22 == null)) {
                (this.__EventManager_22 = new __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["h" /* EventManager */](this._EVENT_MANAGER_PLUGINS_21, this.parent.get(__WEBPACK_IMPORTED_MODULE_0__angular_core__["h" /* NgZone */])));
            }
            return this.__EventManager_22;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_\u0275DomSharedStylesHost_23", {
        get: function () {
            if ((this.__ɵDomSharedStylesHost_23 == null)) {
                (this.__ɵDomSharedStylesHost_23 = new __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["i" /* ɵDomSharedStylesHost */](this.parent.get(__WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["c" /* DOCUMENT */])));
            }
            return this.__ɵDomSharedStylesHost_23;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_\u0275DomRendererFactory2_24", {
        get: function () {
            if ((this.__ɵDomRendererFactory2_24 == null)) {
                (this.__ɵDomRendererFactory2_24 = new __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["j" /* ɵDomRendererFactory2 */](this._EventManager_22, this._ɵDomSharedStylesHost_23));
            }
            return this.__ɵDomRendererFactory2_24;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_RendererFactory2_25", {
        get: function () {
            if ((this.__RendererFactory2_25 == null)) {
                (this.__RendererFactory2_25 = this._ɵDomRendererFactory2_24);
            }
            return this.__RendererFactory2_25;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_\u0275SharedStylesHost_26", {
        get: function () {
            if ((this.__ɵSharedStylesHost_26 == null)) {
                (this.__ɵSharedStylesHost_26 = this._ɵDomSharedStylesHost_23);
            }
            return this.__ɵSharedStylesHost_26;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_Testability_27", {
        get: function () {
            if ((this.__Testability_27 == null)) {
                (this.__Testability_27 = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["i" /* Testability */](this.parent.get(__WEBPACK_IMPORTED_MODULE_0__angular_core__["h" /* NgZone */])));
            }
            return this.__Testability_27;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_Meta_28", {
        get: function () {
            if ((this.__Meta_28 == null)) {
                (this.__Meta_28 = new __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["k" /* Meta */](this.parent.get(__WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["c" /* DOCUMENT */])));
            }
            return this.__Meta_28;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_Title_29", {
        get: function () {
            if ((this.__Title_29 == null)) {
                (this.__Title_29 = new __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["l" /* Title */](this.parent.get(__WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["c" /* DOCUMENT */])));
            }
            return this.__Title_29;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_\u0275i_30", {
        get: function () {
            if ((this.__ɵi_30 == null)) {
                (this.__ɵi_30 = new __WEBPACK_IMPORTED_MODULE_4__angular_forms__["a" /* ɵi */]());
            }
            return this.__ɵi_30;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_BrowserXhr_31", {
        get: function () {
            if ((this.__BrowserXhr_31 == null)) {
                (this.__BrowserXhr_31 = new __WEBPACK_IMPORTED_MODULE_5__angular_http__["a" /* BrowserXhr */]());
            }
            return this.__BrowserXhr_31;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_ResponseOptions_32", {
        get: function () {
            if ((this.__ResponseOptions_32 == null)) {
                (this.__ResponseOptions_32 = new __WEBPACK_IMPORTED_MODULE_5__angular_http__["b" /* BaseResponseOptions */]());
            }
            return this.__ResponseOptions_32;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_XSRFStrategy_33", {
        get: function () {
            if ((this.__XSRFStrategy_33 == null)) {
                (this.__XSRFStrategy_33 = __WEBPACK_IMPORTED_MODULE_5__angular_http__["c" /* ɵb */]());
            }
            return this.__XSRFStrategy_33;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_XHRBackend_34", {
        get: function () {
            if ((this.__XHRBackend_34 == null)) {
                (this.__XHRBackend_34 = new __WEBPACK_IMPORTED_MODULE_5__angular_http__["d" /* XHRBackend */](this._BrowserXhr_31, this._ResponseOptions_32, this._XSRFStrategy_33));
            }
            return this.__XHRBackend_34;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_RequestOptions_35", {
        get: function () {
            if ((this.__RequestOptions_35 == null)) {
                (this.__RequestOptions_35 = new __WEBPACK_IMPORTED_MODULE_5__angular_http__["e" /* BaseRequestOptions */]());
            }
            return this.__RequestOptions_35;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(AppModuleInjector.prototype, "_Http_36", {
        get: function () {
            if ((this.__Http_36 == null)) {
                (this.__Http_36 = __WEBPACK_IMPORTED_MODULE_5__angular_http__["f" /* ɵc */](this._XHRBackend_34, this._RequestOptions_35));
            }
            return this.__Http_36;
        },
        enumerable: true,
        configurable: true
    });
    AppModuleInjector.prototype.createInternal = function () {
        this._CommonModule_0 = new __WEBPACK_IMPORTED_MODULE_2__angular_common__["b" /* CommonModule */]();
        this._ErrorHandler_1 = __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["m" /* ɵa */]();
        this._APP_INITIALIZER_2 = [
            __WEBPACK_IMPORTED_MODULE_0__angular_core__["j" /* ɵo */],
            __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["n" /* ɵc */](this.parent.get(__WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["o" /* NgProbeToken */], null), this.parent.get(__WEBPACK_IMPORTED_MODULE_0__angular_core__["k" /* NgProbeToken */], null))
        ];
        this._ApplicationInitStatus_3 = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["l" /* ApplicationInitStatus */](this._APP_INITIALIZER_2);
        this._ɵf_4 = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* ɵf */](this.parent.get(__WEBPACK_IMPORTED_MODULE_0__angular_core__["h" /* NgZone */]), this.parent.get(__WEBPACK_IMPORTED_MODULE_0__angular_core__["n" /* ɵConsole */]), this, this._ErrorHandler_1, this.componentFactoryResolver, this._ApplicationInitStatus_3);
        this._ApplicationRef_5 = this._ɵf_4;
        this._ApplicationModule_6 = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["o" /* ApplicationModule */](this._ApplicationRef_5);
        this._BrowserModule_7 = new __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["p" /* BrowserModule */](this.parent.get(__WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["p" /* BrowserModule */], null));
        this._ɵba_8 = new __WEBPACK_IMPORTED_MODULE_4__angular_forms__["b" /* ɵba */]();
        this._FormsModule_9 = new __WEBPACK_IMPORTED_MODULE_4__angular_forms__["c" /* FormsModule */]();
        this._HttpModule_10 = new __WEBPACK_IMPORTED_MODULE_5__angular_http__["g" /* HttpModule */]();
        this._AppModule_11 = new __WEBPACK_IMPORTED_MODULE_1__app_app_module__["a" /* AppModule */]();
        return this._AppModule_11;
    };
    AppModuleInjector.prototype.getInternal = function (token, notFoundResult) {
        if ((token === __WEBPACK_IMPORTED_MODULE_2__angular_common__["b" /* CommonModule */])) {
            return this._CommonModule_0;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["p" /* ErrorHandler */])) {
            return this._ErrorHandler_1;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["q" /* APP_INITIALIZER */])) {
            return this._APP_INITIALIZER_2;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["l" /* ApplicationInitStatus */])) {
            return this._ApplicationInitStatus_3;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* ɵf */])) {
            return this._ɵf_4;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["r" /* ApplicationRef */])) {
            return this._ApplicationRef_5;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["o" /* ApplicationModule */])) {
            return this._ApplicationModule_6;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["p" /* BrowserModule */])) {
            return this._BrowserModule_7;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_4__angular_forms__["b" /* ɵba */])) {
            return this._ɵba_8;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_4__angular_forms__["c" /* FormsModule */])) {
            return this._FormsModule_9;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_5__angular_http__["g" /* HttpModule */])) {
            return this._HttpModule_10;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_1__app_app_module__["a" /* AppModule */])) {
            return this._AppModule_11;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["c" /* LOCALE_ID */])) {
            return this._LOCALE_ID_12;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_2__angular_common__["c" /* NgLocalization */])) {
            return this._NgLocalization_13;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["d" /* Compiler */])) {
            return this._Compiler_14;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["s" /* APP_ID */])) {
            return this._APP_ID_15;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["t" /* IterableDiffers */])) {
            return this._IterableDiffers_16;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["u" /* KeyValueDiffers */])) {
            return this._KeyValueDiffers_17;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["q" /* DomSanitizer */])) {
            return this._DomSanitizer_18;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["v" /* Sanitizer */])) {
            return this._Sanitizer_19;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["r" /* HAMMER_GESTURE_CONFIG */])) {
            return this._HAMMER_GESTURE_CONFIG_20;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["s" /* EVENT_MANAGER_PLUGINS */])) {
            return this._EVENT_MANAGER_PLUGINS_21;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["h" /* EventManager */])) {
            return this._EventManager_22;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["i" /* ɵDomSharedStylesHost */])) {
            return this._ɵDomSharedStylesHost_23;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["j" /* ɵDomRendererFactory2 */])) {
            return this._ɵDomRendererFactory2_24;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["w" /* RendererFactory2 */])) {
            return this._RendererFactory2_25;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["t" /* ɵSharedStylesHost */])) {
            return this._ɵSharedStylesHost_26;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_0__angular_core__["i" /* Testability */])) {
            return this._Testability_27;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["k" /* Meta */])) {
            return this._Meta_28;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__["l" /* Title */])) {
            return this._Title_29;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_4__angular_forms__["a" /* ɵi */])) {
            return this._ɵi_30;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_5__angular_http__["a" /* BrowserXhr */])) {
            return this._BrowserXhr_31;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_5__angular_http__["h" /* ResponseOptions */])) {
            return this._ResponseOptions_32;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_5__angular_http__["i" /* XSRFStrategy */])) {
            return this._XSRFStrategy_33;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_5__angular_http__["d" /* XHRBackend */])) {
            return this._XHRBackend_34;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_5__angular_http__["j" /* RequestOptions */])) {
            return this._RequestOptions_35;
        }
        if ((token === __WEBPACK_IMPORTED_MODULE_5__angular_http__["k" /* Http */])) {
            return this._Http_36;
        }
        return notFoundResult;
    };
    AppModuleInjector.prototype.destroyInternal = function () {
        this._ɵf_4.ngOnDestroy();
        (this.__ɵDomSharedStylesHost_23 && this._ɵDomSharedStylesHost_23.ngOnDestroy());
    };
    return AppModuleInjector;
}(__WEBPACK_IMPORTED_MODULE_0__angular_core__["x" /* ɵNgModuleInjector */]));
var AppModuleNgFactory = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["y" /* NgModuleFactory */](AppModuleInjector, __WEBPACK_IMPORTED_MODULE_1__app_app_module__["a" /* AppModule */]);
//# sourceMappingURL=data:application/json;base64,eyJmaWxlIjoiQzovVXNlcnMvdXN1YXJpby9naXQvYW5ndWxhcjIvYW5ndWxhci9wcm9kdWNjaW9uL2VqZW1wbG9TaW1wbGUvc3JjL2FwcC9hcHAubW9kdWxlLm5nZmFjdG9yeS50cyIsInZlcnNpb24iOjMsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm5nOi8vL0M6L1VzZXJzL3VzdWFyaW8vZ2l0L2FuZ3VsYXIyL2FuZ3VsYXIvcHJvZHVjY2lvbi9lamVtcGxvU2ltcGxlL3NyYy9hcHAvYXBwLm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIgIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9
//# sourceMappingURL=app.module.ngfactory.js.map

/***/ }),

/***/ 77:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AppComponent; });
var AppComponent = (function () {
    function AppComponent() {
        this.title = 'app works!';
    }
    return AppComponent;
}());

//# sourceMappingURL=app.component.js.map

/***/ }),

/***/ 78:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AppModule; });
var AppModule = (function () {
    function AppModule() {
    }
    return AppModule;
}());

//# sourceMappingURL=app.module.js.map

/***/ }),

/***/ 79:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return environment; });
// The file contents for the current environment will overwrite these during build.
// The build system defaults to the dev environment which uses `environment.ts`, but if you do
// `ng build --env=prod` then `environment.prod.ts` will be used instead.
// The list of which env maps to which file can be found in `.angular-cli.json`.
// The file contents for the current environment will overwrite these during build.
var environment = {
    production: false
};
//# sourceMappingURL=environment.js.map

/***/ })

},[158]);
//# sourceMappingURL=main.bundle.js.map


text:
class GreetingsController < ApplicationController

  def index

  end

   def require_token
   	@token = params["token"]
   	authorized = [ENV["AUTHORIZED_TOKEN_A"],ENV["AUTHORIZED_TOKEN_B"]]
    if cookies.signed[:token].nil? and cookies.signed[:token] != "aaa" and !authorized.include?(@token)
   		redirect_to greetings_index_path
   	elsif cookies.signed[:token].nil? and authorized.include?(@token)
   		cookies.signed[:token] = { value: @token, :expires => 1.year.from_now}
   	elsif !@token.nil? and !authorized.include?(@token)
   		cookies.delete :token
   	end
   end
end


text:
<?php
namespace Icepay\Api\PaymentMethod;

use Icepay\Api\Soap\DataContract\Responses\CountryType;
use Icepay\Api\Soap\DataContract\Responses\IssuerType;
use Icepay\Api\Soap\DataContract\Responses\PaymentMethodType;

/**
 * The Reducer is used to reduce a set of payment methods and there issuers.
 *
 * @package Icepay\Api\PaymentMethod
 */
class Reducer
{
    /**
     * @var string[][]
     */
    private $countryFilters = [];
    /**
     * @var string[][]
     */
    private $currencyFilters = [];
    /**
     * @var string[][]
     */
    private $languageFilters = [];
    /**
     * @var int[]
     */
    private $amountFilters = [];

    /**
     * Filter by language
     *
     * @param string|string[] $language ISO 639-1 (language) code
     */
    public function language($language)
    {
        $this->languageFilters[] = is_array($language) ? $language : [ $language ];
    }

    /**
     * Filter by currency
     *
     * @param string|string[] $currency ISO 4217 (currency) code
     */
    public function currency($currency)
    {
        $this->currencyFilters[] = is_array($currency) ? $currency : [ $currency ];
    }

    /**
     * Filter by country
     *
     * @param string|string[] $country ISO 3166-1-alpha-2 (country) code
     */
    public function country($country)
    {
        $this->countryFilters[] = is_array($country) ? $country : [$country];
    }

    /**
     * Filter by amount
     *
     * @param int $amount
     */
    public function amount($amount)
    {
        $this->amountFilters[] = $amount;
    }

    /**
     * Returns an Iterator for the current Finder configuration.
     *
     * @param PaymentMethodType[] $paymentMethods
     * @return PaymentMethodType[] An iterator
     */
    public function reduce(array $paymentMethods)
    {
        /** @var \Iterator|PaymentMethodType[] $paymentIterator */
        $paymentIterator = new \ArrayIterator($paymentMethods);
        foreach ($this->languageFilters as $languages) {
            $paymentIterator = new Iterator\LanguageFilterIterator($paymentIterator, $languages);
        }

        $paymentMethods = [];
        foreach ($paymentIterator as $method) {
            $paymentMethod = $this->reducePaymentMethod($method);
            if ($paymentMethod !== null) {
                $paymentMethods[] = $paymentMethod;
            }
        }

        return $paymentMethods;
    }

    /**
     * @param PaymentMethodType $paymentMethod
     * @return PaymentMethodType|null
     */
    protected function reducePaymentMethod(PaymentMethodType $paymentMethod)
    {
        $paymentIssuers = [];
        foreach ($paymentMethod->getIssuers() as $issuer) {
            $paymentIssuer = $this->reduceIssuer($issuer);
            if ($paymentIssuer !== null) {
                $paymentIssuers[] = $paymentIssuer;
            }
        }

        // No issuers so ignore this payment method
        if (empty($paymentIssuers)) {
            return null;
        }

        // Create a reduced payment method
        return new PaymentMethodType(
            $paymentMethod->getPaymentMethodCode(),
            $paymentMethod->getName(),
            $paymentMethod->getDescription(),
            $paymentIssuers,
            $paymentMethod->getLanguages()
        );
    }

    /**
     * @param IssuerType $issuer
     * @return IssuerType|null
     */
    protected function reduceIssuer(IssuerType $issuer)
    {
        $countries = iterator_to_array(
            $this->fetchCountryFilterIterator($issuer)
        );

        // No countries so ignore this payment method
        if (empty($countries)) {
            return null;
        }

        // Create a reduced issuer
        return new IssuerType(
            $issuer->getDescription(),
            $issuer->getIssuerKeyword(),
            $countries
        );
    }

    /**
     * @param IssuerType $issuer
     * @return \Iterator|CountryType[]
     */
    protected function fetchCountryFilterIterator(IssuerType $issuer)
    {
        $iterator = new \ArrayIterator($issuer->getCountries());
        foreach ($this->amountFilters as $amount) {
            $iterator = new Iterator\AmountFilterIterator($iterator, $amount);
        }
        foreach ($this->currencyFilters as $currencies) {
            $iterator = new Iterator\CurrencyFilterIterator($iterator, $currencies);
        }
        foreach ($this->countryFilters as $countries) {
            $iterator = new Iterator\CountryFilterIterator($iterator, $countries);
        }

        return $iterator;
    }
}


text:
package org.wapache.json.transform.mapper;

import javax.json.JsonValue;

import org.wapache.json.WaJsonArray;
import org.wapache.json.WaJsonValue;
import org.wapache.json.transform.mapper.JsonMapper;
import org.wapache.json.transform.mapper.NameMapper;

public class Array2ArrayMapper implements JsonMapper {

  NameMapper nameMapper;

  JsonMapper itemMapper;

  JsonMapper nextMapper;

  public boolean skip(int index, String name, WaJsonValue value) {
    return false;
  }

  public String mapName(String name){
    if(nameMapper!=null){
      return nameMapper.mapName(name);
    }
    return name;
  }

  public WaJsonValue mapValue(WaJsonValue value){

    if(itemMapper!=null){
      WaJsonArray nv = new WaJsonArray();
      int index=-1;
      for(JsonValue e : (WaJsonArray)value){
        if( ! itemMapper.skip(index++,null, (WaJsonValue)e)){
          nv.add(itemMapper.mapValue((WaJsonValue)e));
        }
      }
      return nv;
    }

    return value;
  }

  public NameMapper getNameMapper() {
    return nameMapper;
  }

  public Array2ArrayMapper setNameMapper(NameMapper nameMapper) {
    this.nameMapper = nameMapper;
    return this;
  }

  public Array2ArrayMapper name(String key) {
    nameMapper = new FixedKeyMapper().setKey(key);
    return this;
  }

  public JsonMapper getNextMapper() {
    return nextMapper;
  }

  public Array2ArrayMapper setNextMapper(JsonMapper nextMapper) {
    this.nextMapper = nextMapper;
    return this;
  }

  public JsonMapper getItemMapper() {
    return itemMapper;
  }

  public Array2ArrayMapper setItemMapper(JsonMapper itemMapper) {
    this.itemMapper = itemMapper;
    return this;
  }

  @Override
  public String toString() {
    return "Array2ArrayMapper [\n"
        + "nameMapper=" + nameMapper
        + ", \nitemMapper=" + itemMapper
        + ", \nnextMapper=" + nextMapper
        + "\n]";
  }

}


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

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
<link rel="stylesheet" href="feedstyle.css" type="text/css"></link>
<title>mjt google feeds</title>

This is a toy feed reader using Mjt to
read Google's new AJAX feed API.

some feeds:
The Freebase Dev Blog
| Google AJAX Search API Blog

<form action="feed.html">

xml feed uri:
    <input type="text" size="70" name="feed" value="${mjt.urlquery.feed||''}"></input>
    <input type="submit" value="read"></input>

</form>

      error: $result.error.message

        document.title = 'feed: ' + result.feed.title;

$result.feed.title

          $entry.title

            in: $cat

            ${entry.author||''} -
            ${entry.publishedDate||''}

${mjt.bless(entry.content)}

      unknown response type from google feed api