master 3237471d2efb cached
22 files
3.2 MB
830.5k tokens
2701 symbols
1 requests
Download .txt
Showing preview only (3,322K chars total). Download the full file or copy to clipboard to get everything.
Repository: satya164/monaco-editor-boilerplate
Branch: master
Commit: 3237471d2efb
Files: 22
Total size: 3.2 MB

Directory structure:
gitextract_lphjetof/

├── .babelrc
├── .editorconfig
├── .eslintignore
├── .eslintrc
├── .flowconfig
├── .gitignore
├── LICENSE
├── README.md
├── index.html
├── package.json
├── serve.config.js
├── src/
│   ├── App.js
│   ├── Editor.css
│   ├── Editor.js
│   ├── config/
│   │   └── eslint.json
│   ├── index.js
│   ├── themes/
│   │   ├── dark.js
│   │   └── light.js
│   ├── vendor/
│   │   └── eslint.bundle.js
│   └── workers/
│       ├── eslint.worker.js
│       └── typings.worker.js
└── webpack.config.js

================================================
FILE CONTENTS
================================================

================================================
FILE: .babelrc
================================================
{
  "presets": [["env", { "modules": false }], "react", "stage-2"]
}


================================================
FILE: .editorconfig
================================================
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org

root = true


[*]

# change these settings to your own preference
indent_style = space
indent_size = 2

# we recommend you to keep these unchanged
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[{package,bower}.json]
indent_style = space
indent_size = 2


================================================
FILE: .eslintignore
================================================
**/dist/*
**/node_modules/*


================================================
FILE: .eslintrc
================================================
{
  "extends": "eslint-config-satya164",

  "env": {
    "browser": true,
    "node": true,
    "es6": true,
  }
}


================================================
FILE: .flowconfig
================================================
[ignore]

[include]

[libs]

[options]
munge_underscores=true

esproposal.class_static_fields=enable
esproposal.class_instance_fields=enable

module.name_mapper='^monaco-editor$' -> 'monaco-editor/esm/vs/editor/editor.main.js'
module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf|ttf|otf\)$' -> 'ImageStub'

suppress_type=$FlowIssue
suppress_type=$FlowFixMe
suppress_type=$FixMe

suppress_comment=\\(.\\|\n\\)*\\$FlowIssue
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe


================================================
FILE: .gitignore
================================================
*~
.DS_Store
.sass-cache

npm-debug.log
node_modules/
bower_components/
dist/


================================================
FILE: LICENSE
================================================
The MIT License (MIT)

Copyright (c) 2015 Satyajit Sahoo

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

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

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND 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.


================================================
FILE: README.md
================================================
Monaco Editor boilerplate
=========================

A simple boilerplate for Monaco editor with React.


================================================
FILE: index.html
================================================
<!doctype html>
<html lang='en'>

<head>
  <meta charset='utf-8' />
  <title>Monaco Editor Sample</title>
  <style type="text/css">
    html {
      box-sizing: border-box;
    }

    *,
    *:before,
    *:after {
      box-sizing: inherit;
    }

    body {
      margin: 0;
      padding: 0;
      overflow: hidden;
    }
  </style>
</head>

<body>
  <div id='root'></div>
  <script src='/dist/app.bundle.js'></script>
</body>

</html>


================================================
FILE: package.json
================================================
{
  "name": "monaco-editor-boilerplate",
  "version": "1.0.0",
  "private": true,
  "description": "Boilerplate for projects using ES2015 and React",
  "main": "index.js",
  "repository": {
    "type": "git",
    "url": "git://github.com/satya164/react-boilerplate.git"
  },
  "scripts": {
    "start": "cross-env NODE_ENV=development webpack-serve",
    "flow": "flow",
    "lint": "eslint .",
    "build": "cross-env NODE_ENV=production webpack -p",
    "prebuild": "del dist"
  },
  "author": "Satyajit Sahoo <satyajit.happy@gmail.com> (https://github.com/satya164/)",
  "license": "MIT",
  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-eslint": "^9.0.0",
    "babel-loader": "^7.1.5",
    "babel-preset-env": "^1.7.0",
    "babel-preset-react": "^6.24.1",
    "babel-preset-stage-2": "^6.24.1",
    "cross-env": "^5.2.0",
    "css-loader": "^1.0.0",
    "del-cli": "^1.1.0",
    "eslint": "^5.5.0",
    "eslint-config-satya164": "^2.0.1",
    "flow-bin": "^0.80.0",
    "mini-css-extract-plugin": "^0.4.2",
    "style-loader": "^0.23.0",
    "webpack": "^4.17.2",
    "webpack-command": "^0.4.1",
    "webpack-serve": "^2.0.2",
    "worker-loader": "^2.0.0"
  },
  "dependencies": {
    "babel-polyfill": "^6.26.0",
    "dedent": "^0.7.0",
    "idb-keyval": "^3.1.0",
    "lodash": "^4.17.10",
    "monaco-editor": "^0.14.3",
    "prettier": "^1.14.2",
    "react": "^16.5.0",
    "react-dom": "^16.5.0"
  }
}


================================================
FILE: serve.config.js
================================================
/* eslint-disable import/no-commonjs */

module.exports = {
  port: 3000,
  devMiddleware: { publicPath: '/dist/' },
};


================================================
FILE: src/App.js
================================================
/* @flow */

import 'babel-polyfill';
import * as React from 'react';
import dedent from 'dedent';
import Editor from './Editor';

const files = {
  'App.js': dedent`import React, { Component } from 'react';
  import { Text, View, StyleSheet } from 'react-native';
  import { Constants } from 'expo';
  import AssetExample from './AssetExample';

  export default class App extends Component {
    render() {
      return (
        <View style={styles.container}>
          <Text style={styles.paragraph}>
            Change code in the editor and watch it change on your phone!
            Save to get a shareable url.
          </Text>
          <AssetExample />
        </View>
      );
    }
  }

  const styles = StyleSheet.create({
    container: {
      flex: 1,
      alignItems: 'center',
      justifyContent: 'center',
      paddingTop: Constants.statusBarHeight,
      backgroundColor: '#ecf0f1',
    },
    paragraph: {
      margin: 24,
      fontSize: 18,
      fontWeight: 'bold',
      textAlign: 'center',
      color: '#34495e',
    },
  });`,
  'AssetExample.js': dedent`import React, { Component } from 'react';
  import { Text, View, StyleSheet, Image } from 'react-native';

  export default class AssetExample extends Component {
    render() {
      return (
        <View style={styles.container}>
          <Text style={styles.paragraph}>
            Local files and assets can be imported by dragging and dropping them into the editor
          </Text>
          <Image style={styles.logo} source={require("../assets/expo.symbol.white.png")}/>
        </View>
      );
    }
  }

  const styles = StyleSheet.create({
    container: {
      alignItems: 'center',
      justifyContent: 'center',
    },
    paragraph: {
      margin: 24,
      marginTop: 0,
      fontSize: 14,
      fontWeight: 'bold',
      textAlign: 'center',
      color: '#34495e',
    },
    logo: {
      backgroundColor: "#056ecf",
      height: 128,
      width: 128,
    }
  });`,
};

type State = {
  files: {
    [name: string]: string,
  },
  current: string,
};

export default class App extends React.Component<{}, State> {
  state = {
    files,
    current: 'App.js',
  };

  _handleValueChange = code =>
    this.setState(state => ({
      files: {
        ...state.files,
        [state.current]: code,
      },
    }));

  _handleOpenPath = path => this.setState({ current: path });

  render() {
    return (
      <div
        style={{
          display: 'flex',
          height: '100vh',
          width: '100vw',
          fontFamily: 'sans-serif',
        }}
      >
        <div
          style={{ width: 180, borderRight: '1px solid rgba(0, 0, 0, .08)' }}
        >
          {Object.keys(this.state.files).map(name => (
            <div
              key={name}
              style={{
                fontSize: 14,
                padding: '8px 24px',
                backgroundColor:
                  this.state.current === name ? 'black' : 'transparent',
                color: this.state.current === name ? 'white' : 'black',
                cursor: 'pointer',
              }}
              onClick={() => this._handleOpenPath(name)}
            >
              {name}
            </div>
          ))}
        </div>
        <Editor
          files={this.state.files}
          path={this.state.current}
          value={this.state.files[this.state.current]}
          onOpenPath={this._handleOpenPath}
          onValueChange={this._handleValueChange}
        />
      </div>
    );
  }
}


================================================
FILE: src/Editor.css
================================================
/* Common overrides */
.monaco-editor .line-numbers {
  color: currentColor;
  opacity: .5;
}

/* Light theme overrides */
.ayu-light .JsxText {
  color: #5c6773;
}

.ayu-light .JsxSelfClosingElement,
.ayu-light .JsxOpeningElement,
.ayu-light .JsxClosingElement,
.ayu-light .tagName-of-JsxOpeningElement,
.ayu-light .tagName-of-JsxClosingElement,
.ayu-light .tagName-of-JsxSelfClosingElement {
  color: #41a6d9;
}

.ayu-light .name-of-JsxAttribute {
  color: #f08c36;
}

.ayu-light .name-of-PropertyAssignment {
  color: #86b300;
}

.ayu-light .name-of-PropertyAccessExpression {
  color: #f08c36;
}

/* Dark theme overrides */
.ayu-dark .JsxText {
  color: #d9d7ce;
}

.ayu-dark .JsxSelfClosingElement,
.ayu-dark .JsxOpeningElement,
.ayu-dark .JsxClosingElement,
.ayu-dark .tagName-of-JsxOpeningElement,
.ayu-dark .tagName-of-JsxClosingElement,
.ayu-dark .tagName-of-JsxSelfClosingElement {
  color: #5ccfe6;
}

.ayu-dark .name-of-JsxAttribute {
  color: #ffcf71;
}

.ayu-dark .name-of-PropertyAssignment {
  color: #bae67e;
}

.ayu-dark .name-of-PropertyAccessExpression {
  color: #ffcf71;
}


================================================
FILE: src/Editor.js
================================================
/* @flow */

import * as monaco from 'monaco-editor/esm/vs/editor/editor.main';
import { SimpleEditorModelResolverService } from 'monaco-editor/esm/vs/editor/standalone/browser/simpleServices';
import { StaticServices } from 'monaco-editor/esm/vs/editor/standalone/browser/standaloneServices';
import * as React from 'react';
import debounce from 'lodash/debounce';
import TypingsWorker from './workers/typings.worker';
import ESLintWorker from './workers/eslint.worker';
import light from './themes/light';
import dark from './themes/dark';
import './Editor.css';

/**
 * Monkeypatch to make 'Find All References' work across multiple files
 * https://github.com/Microsoft/monaco-editor/issues/779#issuecomment-374258435
 */
SimpleEditorModelResolverService.prototype.findModel = function(
  editor,
  resource
) {
  return monaco.editor
    .getModels()
    .find(model => model.uri.toString() === resource.toString());
};

global.MonacoEnvironment = {
  getWorker(moduleId, label) {
    let MonacoWorker;

    switch (label) {
      case 'json':
        /* $FlowFixMe */
        MonacoWorker = require('worker-loader!monaco-editor/esm/vs/language/json/json.worker');
        break;
      case 'typescript':
      case 'javascript':
        /* $FlowFixMe */
        MonacoWorker = require('worker-loader!monaco-editor/esm/vs/language/typescript/ts.worker');
        break;
      default:
        /* $FlowFixMe */
        MonacoWorker = require('worker-loader!monaco-editor/esm/vs/editor/editor.worker');
    }

    return new MonacoWorker();
  },
};

monaco.editor.defineTheme('ayu-light', light);
monaco.editor.defineTheme('ayu-dark', dark);

/**
 * Disable typescript's diagnostics for JavaScript files.
 * This suppresses errors when using Flow syntax.
 * It's also unnecessary since we use ESLint for error checking.
 */
monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
  noSemanticValidation: true,
  noSyntaxValidation: true,
});

/**
 * Use prettier to format JavaScript code.
 * This will replace the default formatter.
 */
monaco.languages.registerDocumentFormattingEditProvider('javascript', {
  async provideDocumentFormattingEdits(model) {
    const prettier = await import('prettier/standalone');
    const babylon = await import('prettier/parser-babylon');
    const text = prettier.format(model.getValue(), {
      parser: 'babylon',
      plugins: [babylon],
      singleQuote: true,
    });

    return [
      {
        range: model.getFullModelRange(),
        text,
      },
    ];
  },
});

/**
 * Sync all the models to the worker eagerly.
 * This enables intelliSense for all files without needing an `addExtraLib` call.
 */
monaco.languages.typescript.typescriptDefaults.setEagerModelSync(true);
monaco.languages.typescript.javascriptDefaults.setEagerModelSync(true);

/**
 * Configure the typescript compiler to detect JSX and load type definitions
 */
const compilerOptions = {
  allowJs: true,
  allowSyntheticDefaultImports: true,
  alwaysStrict: true,
  jsx: 'React',
  jsxFactory: 'React.createElement',
};

monaco.languages.typescript.typescriptDefaults.setCompilerOptions(
  compilerOptions
);
monaco.languages.typescript.javascriptDefaults.setCompilerOptions(
  compilerOptions
);

type Props = {
  files: { [path: string]: string },
  path: string,
  value: string,
  onOpenPath: (path: string) => mixed,
  onValueChange: (value: string) => mixed,
  lineNumbers?: 'on' | 'off',
  wordWrap: 'off' | 'on' | 'wordWrapColumn' | 'bounded',
  scrollBeyondLastLine?: boolean,
  minimap?: {
    enabled?: boolean,
    maxColumn?: number,
    renderCharacters?: boolean,
    showSlider?: 'always' | 'mouseover',
    side?: 'right' | 'left',
  },
  theme: 'ayu-light' | 'ayu-dark',
};

// Store editor states such as cursor position, selection and scroll position for each model
const editorStates = new Map();

// Store details about typings we have loaded
const extraLibs = new Map();

const codeEditorService = StaticServices.codeEditorService.get();

export default class Editor extends React.Component<Props> {
  static defaultProps = {
    lineNumbers: 'on',
    wordWrap: 'on',
    scrollBeyondLastLine: false,
    minimap: {
      enabled: false,
    },
    theme: 'ayu-light',
  };

  static removePath(path: string) {
    // Remove editor states
    editorStates.delete(path);

    // Remove associated models
    const model = monaco.editor
      .getModels()
      .find(model => model.uri.path === path);

    model && model.dispose();
  }

  static renamePath(oldPath: string, newPath: string) {
    const selection = editorStates.get(oldPath);

    editorStates.delete(oldPath);
    editorStates.set(newPath, selection);

    this.removePath(oldPath);
  }

  componentDidMount() {
    // Intialize the linter
    this._linterWorker = new ESLintWorker();
    this._linterWorker.addEventListener('message', ({ data }: any) =>
      this._updateMarkers(data)
    );

    // Intialize the type definitions worker
    this._typingsWorker = new TypingsWorker();
    this._typingsWorker.addEventListener('message', ({ data }: any) =>
      this._addTypings(data)
    );

    // Fetch some definitions
    const dependencies = {
      expo: '29.0.0',
      react: '16.3.1',
      'react-native': '0.55.4',
    };

    Object.keys(dependencies).forEach(name =>
      this._typingsWorker.postMessage({
        name,
        version: dependencies[name],
      })
    );

    const { path, value, ...rest } = this.props;

    this._editor = monaco.editor.create(this._node, rest, {
      codeEditorService: Object.assign(Object.create(codeEditorService), {
        openCodeEditor: async ({ resource, options }, editor) => {
          // Open the file with this path
          // This should set the model with the path and value
          this.props.onOpenPath(resource.path);

          // Move cursor to the desired position
          editor.setSelection(options.selection);

          // Scroll the editor to bring the desired line into focus
          editor.revealLine(options.selection.startLineNumber);

          return Promise.resolve({
            getControl: () => editor,
          });
        }
      }),
    });

    Object.keys(this.props.files).forEach(path =>
      this._initializeFile(path, this.props.files[path])
    );

    this._openFile(path, value);
    this._phantom.contentWindow.addEventListener('resize', this._handleResize);
  }

  componentDidUpdate(prevProps: Props) {
    const { path, value, ...rest } = this.props;

    this._editor.updateOptions(rest);

    if (path !== prevProps.path) {
      editorStates.set(prevProps.path, this._editor.saveViewState());

      this._openFile(path, value);
    } else if (value !== this._editor.getModel().getValue()) {
      const model = this._editor.getModel();

      if (value !== model.getValue()) {
        model.pushEditOperations(
          [],
          [
            {
              range: model.getFullModelRange(),
              text: value,
            },
          ]
        );
      }
    }
  }

  componentWillUnmount() {
    this._linterWorker && this._linterWorker.terminate();
    this._typingsWorker && this._typingsWorker.termnate();
    this._subscription && this._subscription.dispose();
    this._editor && this._editor.dispose();
    this._phantom &&
      this._phantom.contentWindow.removeEventListener(
        'resize',
        this._handleResize
      );
  }

  clearSelection() {
    const selection = this._editor.getSelection();

    this._editor.setSelection(
      new monaco.Selection(
        selection.startLineNumber,
        selection.startColumn,
        selection.startLineNumber,
        selection.startColumn
      )
    );
  }

  _initializeFile = (path: string, value: string) => {
    let model = monaco.editor
      .getModels()
      .find(model => model.uri.path === path);

    if (model) {
      // If a model exists, we need to update it's value
      // This is needed because the content for the file might have been modified externally
      // Use `pushEditOperations` instead of `setValue` or `applyEdits` to preserve undo stack
      model.pushEditOperations(
        [],
        [
          {
            range: model.getFullModelRange(),
            text: value,
          },
        ]
      );
    } else {
      model = monaco.editor.createModel(
        value,
        'javascript',
        new monaco.Uri().with({ path })
      );
      model.updateOptions({
        tabSize: 2,
        insertSpaces: true,
      });
    }
  };

  _openFile = (path: string, value: string) => {
    this._initializeFile(path, value);

    const model = monaco.editor
      .getModels()
      .find(model => model.uri.path === path);

    this._editor.setModel(model);

    // Restore the editor state for the file
    const editorState = editorStates.get(path);

    if (editorState) {
      this._editor.restoreViewState(editorState);
    }

    this._editor.focus();

    // Subscribe to change in value so we can notify the parent
    this._subscription && this._subscription.dispose();
    this._subscription = this._editor.getModel().onDidChangeContent(() => {
      const value = this._editor.getModel().getValue();

      this.props.onValueChange(value);
      this._lintCode(value);
    });
  };

  _lintCode = code => {
    const model = this._editor.getModel();

    monaco.editor.setModelMarkers(model, 'eslint', []);

    this._linterWorker.postMessage({
      code,
      version: model.getVersionId(),
    });
  };

  _addTypings = ({ typings }) => {
    Object.keys(typings).forEach(path => {
      let extraLib = extraLibs.get(path);

      extraLib && extraLib.dispose();
      extraLib = monaco.languages.typescript.javascriptDefaults.addExtraLib(
        typings[path],
        path
      );

      extraLibs.set(path, extraLib);
    });
  };

  _updateMarkers = ({ markers, version }: any) => {
    requestAnimationFrame(() => {
      const model = this._editor.getModel();

      if (model && model.getVersionId() === version) {
        monaco.editor.setModelMarkers(model, 'eslint', markers);
      }
    });
  };

  _handleResize = debounce(() => this._editor.layout(), 100, {
    leading: true,
    trailing: true,
  });

  _linterWorker: Worker;
  _typingsWorker: Worker;
  _subscription: any;
  _editor: any;
  _phantom: any;
  _node: any;

  render() {
    return (
      <div
        style={{
          display: 'flex',
          flex: 1,
          position: 'relative',
          overflow: 'hidden',
        }}
      >
        <iframe
          ref={c => (this._phantom = c)}
          type="text/html"
          style={{
            display: 'block',
            position: 'absolute',
            left: 0,
            top: 0,
            height: '100%',
            width: '100%',
            pointerEvents: 'none',
            opacity: 0,
          }}
        />
        <div
          ref={c => (this._node = c)}
          style={{ display: 'flex', flex: 1, overflow: 'hidden' }}
          className={this.props.theme}
        />
      </div>
    );
  }
}


================================================
FILE: src/config/eslint.json
================================================
{
  "parser": "babel-eslint",
  "parserOptions": {
    "sourceType": "module"
  },
  "env": {
    "es6": true
  },
  "plugins": [
    "babel",
    "react",
    "react-native"
  ],
  "globals": {
    "__DEV__": false,
    "__dirname": false,
    "alert": false,
    "Blob": false,
    "cancelAnimationFrame": false,
    "cancelIdleCallback": false,
    "clearImmediate": true,
    "clearInterval": false,
    "clearTimeout": false,
    "console": false,
    "escape": false,
    "Event": false,
    "EventTarget": false,
    "exports": false,
    "fetch": false,
    "File": false,
    "FileReader": false,
    "FormData": false,
    "global": false,
    "Map": true,
    "module": false,
    "navigator": false,
    "process": false,
    "Promise": true,
    "requestAnimationFrame": true,
    "requestIdleCallback": true,
    "require": false,
    "Set": true,
    "setImmediate": true,
    "setInterval": false,
    "setTimeout": false,
    "WebSocket": false,
    "window": false,
    "XMLHttpRequest": false
  },
  "rules": {
    "constructor-super": "error",
    "no-case-declarations": "error",
    "no-class-assign": "error",
    "no-cond-assign": "error",
    "no-const-assign": "error",
    "no-constant-condition": "error",
    "no-control-regex": "error",
    "no-delete-var": "error",
    "no-dupe-args": "error",
    "no-dupe-class-members": "error",
    "no-dupe-keys": "error",
    "no-duplicate-case": "error",
    "no-empty": "error",
    "no-empty-character-class": "error",
    "no-empty-pattern": "error",
    "no-ex-assign": "error",
    "no-extra-boolean-cast": "error",
    "no-extra-semi": "error",
    "no-fallthrough": "error",
    "no-func-assign": "error",
    "no-global-assign": "error",
    "no-inner-declarations": "error",
    "no-invalid-regexp": "error",
    "no-new-symbol": "error",
    "no-obj-calls": "error",
    "no-octal": "error",
    "no-redeclare": "error",
    "no-regex-spaces": "error",
    "no-self-assign": "error",
    "no-sparse-arrays": "error",
    "no-this-before-super": "error",
    "no-undef": "error",
    "no-unexpected-multiline": "error",
    "no-unreachable": "error",
    "no-unsafe-finally": "error",
    "no-unsafe-negation": "error",
    "no-unused-labels": "error",
    "require-yield": "error",
    "use-isnan": "error",
    "valid-typeof": "error",

    "react/jsx-no-duplicate-props": "error",
    "react/jsx-no-undef": "error",
    "react/jsx-pascal-case": "error",
    "react/jsx-uses-react": "error",
    "react/jsx-uses-vars": "error",
    "react/no-deprecated": "error",
    "react/no-did-mount-set-state": "error",
    "react/no-did-update-set-state": "error",
    "react/no-direct-mutation-state": "error",
    "react/no-is-mounted": "error",
    "react/no-string-refs": "error",
    "react/react-in-jsx-scope": "error",
    "react/require-render-return": "error",

    "react-native/no-unused-styles": "error"
  }
}


================================================
FILE: src/index.js
================================================
/* @flow */

import * as React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

const render = Component => ReactDOM.render(<Component />, window.root);

render(App);

/* $FlowFixMe */
if (module.hot) {
  /* $FlowFixMe */
  module.hot.accept('./App', () => render(App));
}


================================================
FILE: src/themes/dark.js
================================================
/* @flow */

export default {
  base: 'vs-dark',
  inherit: true,
  rules: [
    { token: '', foreground: 'd9d7ce' },
    { token: 'invalid', foreground: 'ff3333' },
    { token: 'emphasis', fontstyle: 'italic' },
    { token: 'strong', fontstyle: 'bold' },

    { token: 'variable', foreground: 'd9d7ce' },
    { token: 'variable.predefined', foreground: 'd9d7ce' },
    { token: 'constant', foreground: 'ff9d45' },
    { token: 'comment', foreground: '5c6773', fontstyle: 'italic' },
    { token: 'number', foreground: 'ff9d45' },
    { token: 'number.hex', foreground: 'ff9d45' },
    { token: 'regexp', foreground: '95e6cb' },
    { token: 'annotation', foreground: '5ccfe6' },
    { token: 'type', foreground: '5ccfe6' },

    { token: 'delimiter', foreground: 'd9d7ce' },
    { token: 'delimiter.html', foreground: 'd9d7ce' },
    { token: 'delimiter.xml', foreground: 'd9d7ce' },

    { token: 'tag', foreground: '80d4ff' },
    { token: 'tag.id.jade', foreground: '80d4ff' },
    { token: 'tag.class.jade', foreground: '80d4ff' },
    { token: 'meta.scss', foreground: '80d4ff' },
    { token: 'metatag', foreground: '80d4ff' },
    { token: 'metatag.content.html', foreground: 'bae67e' },
    { token: 'metatag.html', foreground: '80d4ff' },
    { token: 'metatag.xml', foreground: '80d4ff' },
    { token: 'metatag.php', fontstyle: 'bold' },

    { token: 'key', foreground: '5ccfe6' },
    { token: 'string.key.json', foreground: '5ccfe6' },
    { token: 'string.value.json', foreground: 'bae67e' },

    { token: 'attribute.name', foreground: '5ccfe6' },
    { token: 'attribute.value', foreground: 'bae67e' },
    { token: 'attribute.value.number', foreground: 'ff9d45' },
    { token: 'attribute.value.unit', foreground: 'bae67e' },
    { token: 'attribute.value.html', foreground: 'bae67e' },
    { token: 'attribute.value.xml', foreground: 'bae67e' },

    { token: 'string', foreground: 'bae67e' },
    { token: 'string.html', foreground: 'bae67e' },
    { token: 'string.sql', foreground: 'bae67e' },
    { token: 'string.yaml', foreground: 'bae67e' },

    { token: 'keyword', foreground: 'ffae57' },
    { token: 'keyword.json', foreground: 'ffae57' },
    { token: 'keyword.flow', foreground: 'ffae57' },
    { token: 'keyword.flow.scss', foreground: 'ffae57' },

    { token: 'operator.scss', foreground: '666666' }, //
    { token: 'operator.sql', foreground: '778899' }, //
    { token: 'operator.swift', foreground: '666666' }, //
    { token: 'predefined.sql', foreground: 'ff00ff' }, //
  ],
  colors: {
    'editor.background': '#212733',
    'editor.foreground': '#d9d7ce',
    'editorIndentGuide.background': '#393b41',
    'editorIndentGuide.activeBackground': '#494b51',
  },
};


================================================
FILE: src/themes/light.js
================================================
/* @flow */

export default {
  base: 'vs',
  inherit: true,
  rules: [
    { token: '', foreground: '5c6773' },
    { token: 'invalid', foreground: 'ff3333' },
    { token: 'emphasis', fontStyle: 'italic' },
    { token: 'strong', fontStyle: 'bold' },

    { token: 'variable', foreground: '5c6773' },
    { token: 'variable.predefined', foreground: '5c6773' },
    { token: 'constant', foreground: 'f08c36' },
    { token: 'comment', foreground: 'abb0b6', fontStyle: 'italic' },
    { token: 'number', foreground: 'f08c36' },
    { token: 'number.hex', foreground: 'f08c36' },
    { token: 'regexp', foreground: '4dbf99' },
    { token: 'annotation', foreground: '41a6d9' },
    { token: 'type', foreground: '41a6d9' },

    { token: 'delimiter', foreground: '5c6773' },
    { token: 'delimiter.html', foreground: '5c6773' },
    { token: 'delimiter.xml', foreground: '5c6773' },

    { token: 'tag', foreground: 'e7c547' },
    { token: 'tag.id.jade', foreground: 'e7c547' },
    { token: 'tag.class.jade', foreground: 'e7c547' },
    { token: 'meta.scss', foreground: 'e7c547' },
    { token: 'metatag', foreground: 'e7c547' },
    { token: 'metatag.content.html', foreground: '86b300' },
    { token: 'metatag.html', foreground: 'e7c547' },
    { token: 'metatag.xml', foreground: 'e7c547' },
    { token: 'metatag.php', fontStyle: 'bold' },

    { token: 'key', foreground: '41a6d9' },
    { token: 'string.key.json', foreground: '41a6d9' },
    { token: 'string.value.json', foreground: '86b300' },

    { token: 'attribute.name', foreground: 'f08c36' },
    { token: 'attribute.value', foreground: '0451A5' },
    { token: 'attribute.value.number', foreground: 'abb0b6' },
    { token: 'attribute.value.unit', foreground: '86b300' },
    { token: 'attribute.value.html', foreground: '86b300' },
    { token: 'attribute.value.xml', foreground: '86b300' },

    { token: 'string', foreground: '86b300' },
    { token: 'string.html', foreground: '86b300' },
    { token: 'string.sql', foreground: '86b300' },
    { token: 'string.yaml', foreground: '86b300' },

    { token: 'keyword', foreground: 'f2590c' },
    { token: 'keyword.json', foreground: 'f2590c' },
    { token: 'keyword.flow', foreground: 'f2590c' },
    { token: 'keyword.flow.scss', foreground: 'f2590c' },

    { token: 'operator.scss', foreground: '666666' }, //
    { token: 'operator.sql', foreground: '778899' }, //
    { token: 'operator.swift', foreground: '666666' }, //
    { token: 'predefined.sql', foreground: 'FF00FF' }, //
  ],
  colors: {
    'editor.background': '#fafafa',
    'editor.foreground': '#5c6773',
    'editorIndentGuide.background': '#ecebec',
    'editorIndentGuide.activeBackground': '#e0e0e0',
  },
};


================================================
FILE: src/vendor/eslint.bundle.js
================================================
"use strict";var _isInteger=require("babel-runtime/core-js/number/is-integer");var _isInteger2=_interopRequireDefault2(_isInteger);var _regenerator=require("babel-runtime/regenerator");var _regenerator2=_interopRequireDefault2(_regenerator);var _raw=require("babel-runtime/core-js/string/raw");var _raw2=_interopRequireDefault2(_raw);var _weakSet=require("babel-runtime/core-js/weak-set");var _weakSet2=_interopRequireDefault2(_weakSet);var _from=require("babel-runtime/core-js/array/from");var _from2=_interopRequireDefault2(_from);var _set2=require("babel-runtime/core-js/set");var _set3=_interopRequireDefault2(_set2);var _weakMap3=require("babel-runtime/core-js/weak-map");var _weakMap4=_interopRequireDefault2(_weakMap3);var _toStringTag=require("babel-runtime/core-js/symbol/to-string-tag");var _toStringTag2=_interopRequireDefault2(_toStringTag);var _map3=require("babel-runtime/core-js/map");var _map4=_interopRequireDefault2(_map3);var _sign=require("babel-runtime/core-js/math/sign");var _sign2=_interopRequireDefault2(_sign);var _toPrimitive=require("babel-runtime/core-js/symbol/to-primitive");var _toPrimitive2=_interopRequireDefault2(_toPrimitive);var _isFinite=require("babel-runtime/core-js/number/is-finite");var _isFinite2=_interopRequireDefault2(_isFinite);var _isNan=require("babel-runtime/core-js/number/is-nan");var _isNan2=_interopRequireDefault2(_isNan);var _species=require("babel-runtime/core-js/symbol/species");var _species2=_interopRequireDefault2(_species);var _match=require("babel-runtime/core-js/symbol/match");var _match2=_interopRequireDefault2(_match);var _maxSafeInteger3=require("babel-runtime/core-js/number/max-safe-integer");var _maxSafeInteger4=_interopRequireDefault2(_maxSafeInteger3);var _freeze=require("babel-runtime/core-js/object/freeze");var _freeze2=_interopRequireDefault2(_freeze);var _getOwnPropertySymbols3=require("babel-runtime/core-js/object/get-own-property-symbols");var _getOwnPropertySymbols4=_interopRequireDefault2(_getOwnPropertySymbols3);var _getOwnPropertyNames=require("babel-runtime/core-js/object/get-own-property-names");var _getOwnPropertyNames2=_interopRequireDefault2(_getOwnPropertyNames);var _getOwnPropertyDescriptor=require("babel-runtime/core-js/object/get-own-property-descriptor");var _getOwnPropertyDescriptor2=_interopRequireDefault2(_getOwnPropertyDescriptor);var _assign3=require("babel-runtime/core-js/object/assign");var _assign4=_interopRequireDefault2(_assign3);var _preventExtensions=require("babel-runtime/core-js/object/prevent-extensions");var _preventExtensions2=_interopRequireDefault2(_preventExtensions);var _isExtensible=require("babel-runtime/core-js/object/is-extensible");var _isExtensible2=_interopRequireDefault2(_isExtensible);var _stringify3=require("babel-runtime/core-js/json/stringify");var _stringify4=_interopRequireDefault2(_stringify3);var _defineProperties=require("babel-runtime/core-js/object/define-properties");var _defineProperties2=_interopRequireDefault2(_defineProperties);var _fromCodePoint=require("babel-runtime/core-js/string/from-code-point");var _fromCodePoint2=_interopRequireDefault2(_fromCodePoint);var _getIterator4=require("babel-runtime/core-js/get-iterator");var _getIterator5=_interopRequireDefault2(_getIterator4);var _setPrototypeOf=require("babel-runtime/core-js/object/set-prototype-of");var _setPrototypeOf2=_interopRequireDefault2(_setPrototypeOf);var _create3=require("babel-runtime/core-js/object/create");var _create4=_interopRequireDefault2(_create3);var _iterator21=require("babel-runtime/core-js/symbol/iterator");var _iterator22=_interopRequireDefault2(_iterator21);var _symbol3=require("babel-runtime/core-js/symbol");var _symbol4=_interopRequireDefault2(_symbol3);var _getPrototypeOf=require("babel-runtime/core-js/object/get-prototype-of");var _getPrototypeOf2=_interopRequireDefault2(_getPrototypeOf);var _defineProperty2=require("babel-runtime/core-js/object/define-property");var _defineProperty3=_interopRequireDefault2(_defineProperty2);var _keys3=require("babel-runtime/core-js/object/keys");var _keys4=_interopRequireDefault2(_keys3);var _typeof5=require("babel-runtime/helpers/typeof");var _typeof6=_interopRequireDefault2(_typeof5);function _interopRequireDefault2(obj){return obj&&obj.__esModule?obj:{default:obj};}(function(f){if((typeof exports==="undefined"?"undefined":(0,_typeof6.default)(exports))==="object"&&typeof module!=="undefined"){module.exports=f();}else if(typeof define==="function"&&define.amd){define([],f);}else{var g;if(typeof window!=="undefined"){g=window;}else if(typeof global!=="undefined"){g=global;}else if(typeof self!=="undefined"){g=self;}else{g=this;}g.eslint=f();}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f;}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e);},l,l.exports,e,t,n,r);}return n[o].exports;}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++){s(r[o]);}return s;}({1:[function(require,module,exports){module.exports={"type":"Program","body":[],"sourceType":"script","range":[0,0],"loc":{"start":{"line":0,"column":0},"end":{"line":0,"column":0}},"comments":[],"tokens":[]};},{}],2:[function(require,module,exports){/**
 * @fileoverview Defines environment settings and globals.
 * @author Elan Shanker
 */"use strict";//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
var globals=require("globals");//------------------------------------------------------------------------------
// Public Interface
//------------------------------------------------------------------------------
module.exports={builtin:globals.es5,browser:{globals:globals.browser},node:{globals:globals.node,parserOptions:{ecmaFeatures:{globalReturn:true}}},commonjs:{globals:globals.commonjs,parserOptions:{ecmaFeatures:{globalReturn:true}}},"shared-node-browser":{globals:globals["shared-node-browser"]},worker:{globals:globals.worker},amd:{globals:globals.amd},mocha:{globals:globals.mocha},jasmine:{globals:globals.jasmine},jest:{globals:globals.jest},phantomjs:{globals:globals.phantomjs},jquery:{globals:globals.jquery},qunit:{globals:globals.qunit},prototypejs:{globals:globals.prototypejs},shelljs:{globals:globals.shelljs},meteor:{globals:globals.meteor},mongo:{globals:globals.mongo},protractor:{globals:globals.protractor},applescript:{globals:globals.applescript},nashorn:{globals:globals.nashorn},serviceworker:{globals:globals.serviceworker},atomtest:{globals:globals.atomtest},embertest:{globals:globals.embertest},webextensions:{globals:globals.webextensions},es6:{globals:globals.es6,parserOptions:{ecmaVersion:6}},greasemonkey:{globals:globals.greasemonkey}};},{"globals":374}],3:[function(require,module,exports){/**
 * @fileoverview Configuration applied when a user configuration extends from
 * eslint:recommended.
 * @author Nicholas C. Zakas
 */"use strict";/* eslint sort-keys: ["error", "asc"], quote-props: ["error", "consistent"] *//* eslint-disable sort-keys */module.exports={parser:"espree",ecmaFeatures:{},rules:{/* eslint-enable sort-keys */"accessor-pairs":"off","array-bracket-spacing":"off","array-callback-return":"off","arrow-body-style":"off","arrow-parens":"off","arrow-spacing":"off","block-scoped-var":"off","block-spacing":"off","brace-style":"off","callback-return":"off","camelcase":"off","capitalized-comments":"off","class-methods-use-this":"off","comma-dangle":"off","comma-spacing":"off","comma-style":"off","complexity":"off","computed-property-spacing":"off","consistent-return":"off","consistent-this":"off","constructor-super":"error","curly":"off","default-case":"off","dot-location":"off","dot-notation":"off","eol-last":"off","eqeqeq":"off","func-call-spacing":"off","func-name-matching":"off","func-names":"off","func-style":"off","generator-star-spacing":"off","global-require":"off","guard-for-in":"off","handle-callback-err":"off","id-blacklist":"off","id-length":"off","id-match":"off","indent":"off","init-declarations":"off","jsx-quotes":"off","key-spacing":"off","keyword-spacing":"off","line-comment-position":"off","linebreak-style":"off","lines-around-comment":"off","lines-around-directive":"off","max-depth":"off","max-len":"off","max-lines":"off","max-nested-callbacks":"off","max-params":"off","max-statements":"off","max-statements-per-line":"off","multiline-ternary":"off","new-cap":"off","new-parens":"off","newline-after-var":"off","newline-before-return":"off","newline-per-chained-call":"off","no-alert":"off","no-array-constructor":"off","no-await-in-loop":"off","no-bitwise":"off","no-caller":"off","no-case-declarations":"error","no-catch-shadow":"off","no-class-assign":"error","no-compare-neg-zero":"off","no-cond-assign":"error","no-confusing-arrow":"off","no-console":"error","no-const-assign":"error","no-constant-condition":"error","no-continue":"off","no-control-regex":"error","no-debugger":"error","no-delete-var":"error","no-div-regex":"off","no-dupe-args":"error","no-dupe-class-members":"error","no-dupe-keys":"error","no-duplicate-case":"error","no-duplicate-imports":"off","no-else-return":"off","no-empty":"error","no-empty-character-class":"error","no-empty-function":"off","no-empty-pattern":"error","no-eq-null":"off","no-eval":"off","no-ex-assign":"error","no-extend-native":"off","no-extra-bind":"off","no-extra-boolean-cast":"error","no-extra-label":"off","no-extra-parens":"off","no-extra-semi":"error","no-fallthrough":"error","no-floating-decimal":"off","no-func-assign":"error","no-global-assign":"error","no-implicit-coercion":"off","no-implicit-globals":"off","no-implied-eval":"off","no-inline-comments":"off","no-inner-declarations":"error","no-invalid-regexp":"error","no-invalid-this":"off","no-irregular-whitespace":"error","no-iterator":"off","no-label-var":"off","no-labels":"off","no-lone-blocks":"off","no-lonely-if":"off","no-loop-func":"off","no-magic-numbers":"off","no-mixed-operators":"off","no-mixed-requires":"off","no-mixed-spaces-and-tabs":"error","no-multi-assign":"off","no-multi-spaces":"off","no-multi-str":"off","no-multiple-empty-lines":"off","no-native-reassign":"off","no-negated-condition":"off","no-negated-in-lhs":"off","no-nested-ternary":"off","no-new":"off","no-new-func":"off","no-new-object":"off","no-new-require":"off","no-new-symbol":"error","no-new-wrappers":"off","no-obj-calls":"error","no-octal":"error","no-octal-escape":"off","no-param-reassign":"off","no-path-concat":"off","no-plusplus":"off","no-process-env":"off","no-process-exit":"off","no-proto":"off","no-prototype-builtins":"off","no-redeclare":"error","no-regex-spaces":"error","no-restricted-globals":"off","no-restricted-imports":"off","no-restricted-modules":"off","no-restricted-properties":"off","no-restricted-syntax":"off","no-return-assign":"off","no-return-await":"off","no-script-url":"off","no-self-assign":"error","no-self-compare":"off","no-sequences":"off","no-shadow":"off","no-shadow-restricted-names":"off","no-spaced-func":"off","no-sparse-arrays":"error","no-sync":"off","no-tabs":"off","no-template-curly-in-string":"off","no-ternary":"off","no-this-before-super":"error","no-throw-literal":"off","no-trailing-spaces":"off","no-undef":"error","no-undef-init":"off","no-undefined":"off","no-underscore-dangle":"off","no-unexpected-multiline":"error","no-unmodified-loop-condition":"off","no-unneeded-ternary":"off","no-unreachable":"error","no-unsafe-finally":"error","no-unsafe-negation":"error","no-unused-expressions":"off","no-unused-labels":"error","no-unused-vars":"error","no-use-before-define":"off","no-useless-call":"off","no-useless-computed-key":"off","no-useless-concat":"off","no-useless-constructor":"off","no-useless-escape":"off","no-useless-rename":"off","no-useless-return":"off","no-var":"off","no-void":"off","no-warning-comments":"off","no-whitespace-before-property":"off","no-with":"off","nonblock-statement-body-position":"off","object-curly-newline":"off","object-curly-spacing":["off","never"],"object-property-newline":"off","object-shorthand":"off","one-var":"off","one-var-declaration-per-line":"off","operator-assignment":"off","operator-linebreak":"off","padded-blocks":"off","prefer-arrow-callback":"off","prefer-const":"off","prefer-destructuring":"off","prefer-numeric-literals":"off","prefer-promise-reject-errors":"off","prefer-reflect":"off","prefer-rest-params":"off","prefer-spread":"off","prefer-template":"off","quote-props":"off","quotes":"off","radix":"off","require-await":"off","require-jsdoc":"off","require-yield":"error","rest-spread-spacing":"off","semi":"off","semi-spacing":"off","sort-imports":"off","sort-keys":"off","sort-vars":"off","space-before-blocks":"off","space-before-function-paren":"off","space-in-parens":"off","space-infix-ops":"off","space-unary-ops":"off","spaced-comment":"off","strict":"off","symbol-description":"off","template-curly-spacing":"off","template-tag-spacing":"off","unicode-bom":"off","use-isnan":"error","valid-jsdoc":"off","valid-typeof":"error","vars-on-top":"off","wrap-iife":"off","wrap-regex":"off","yield-star-spacing":"off","yoda":"off"}};},{}],4:[function(require,module,exports){module.exports={"rules":{"generator-star":["generator-star-spacing"],"global-strict":["strict"],"no-arrow-condition":["no-confusing-arrow","no-constant-condition"],"no-comma-dangle":["comma-dangle"],"no-empty-class":["no-empty-character-class"],"no-empty-label":["no-labels"],"no-extra-strict":["strict"],"no-reserved-keys":["quote-props"],"no-space-before-semi":["semi-spacing"],"no-wrap-func":["no-extra-parens"],"space-after-function-name":["space-before-function-paren"],"space-after-keywords":["keyword-spacing"],"space-before-function-parentheses":["space-before-function-paren"],"space-before-keywords":["keyword-spacing"],"space-in-brackets":["object-curly-spacing","array-bracket-spacing","computed-property-spacing"],"space-return-throw-case":["keyword-spacing"],"space-unary-word-ops":["space-unary-ops"],"spaced-line-comment":["spaced-comment"]}};},{}],5:[function(require,module,exports){'use strict';module.exports=function(){return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g;};},{}],6:[function(require,module,exports){'use strict';function assembleStyles(){var styles={modifiers:{reset:[0,0],bold:[1,22],// 21 isn't widely supported and 22 does the same thing
dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},colors:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39]},bgColors:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49]}};// fix humans
styles.colors.grey=styles.colors.gray;(0,_keys4.default)(styles).forEach(function(groupName){var group=styles[groupName];(0,_keys4.default)(group).forEach(function(styleName){var style=group[styleName];styles[styleName]=group[styleName]={open:"\x1B["+style[0]+'m',close:"\x1B["+style[1]+'m'};});(0,_defineProperty3.default)(styles,groupName,{value:group,enumerable:false});});return styles;}Object.defineProperty(module,'exports',{enumerable:true,get:assembleStyles});},{}],7:[function(require,module,exports){'use strict';var ES=require("es-abstract/es6");module.exports=function find(predicate){var list=ES.ToObject(this);var length=ES.ToInteger(ES.ToLength(list.length));if(!ES.IsCallable(predicate)){throw new TypeError('Array#find: predicate must be a function');}if(length===0){return undefined;}var thisArg=arguments[1];for(var i=0,value;i<length;i++){value=list[i];if(ES.Call(predicate,thisArg,[value,i,list])){return value;}}return undefined;};},{"es-abstract/es6":188}],8:[function(require,module,exports){'use strict';var define=require("define-properties");var ES=require("es-abstract/es6");var implementation=require("./implementation");var getPolyfill=require("./polyfill");var shim=require("./shim");var slice=Array.prototype.slice;var boundFindShim=function find(array,predicate){// eslint-disable-line no-unused-vars
ES.RequireObjectCoercible(array);var args=slice.call(arguments,1);return implementation.apply(array,args);};define(boundFindShim,{getPolyfill:getPolyfill,implementation:implementation,shim:shim});module.exports=boundFindShim;},{"./implementation":7,"./polyfill":9,"./shim":10,"define-properties":181,"es-abstract/es6":188}],9:[function(require,module,exports){'use strict';module.exports=function getPolyfill(){// Detect if an implementation exists
// Detect early implementations which skipped holes in sparse arrays
// eslint-disable-next-line no-sparse-arrays
var implemented=Array.prototype.find&&[,1].find(function(){return true;})!==1;// eslint-disable-next-line global-require
return implemented?Array.prototype.find:require("./implementation");};},{"./implementation":7}],10:[function(require,module,exports){'use strict';var define=require("define-properties");var getPolyfill=require("./polyfill");module.exports=function shimArrayPrototypeFind(){var polyfill=getPolyfill();define(Array.prototype,{find:polyfill},{find:function find(){return Array.prototype.find!==polyfill;}});return polyfill;};},{"./polyfill":9,"define-properties":181}],11:[function(require,module,exports){(function(global){'use strict';// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js
// original notice:
/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
 * @license  MIT
 */function compare(a,b){if(a===b){return 0;}var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i<len;++i){if(a[i]!==b[i]){x=a[i];y=b[i];break;}}if(x<y){return-1;}if(y<x){return 1;}return 0;}function isBuffer(b){if(global.Buffer&&typeof global.Buffer.isBuffer==='function'){return global.Buffer.isBuffer(b);}return!!(b!=null&&b._isBuffer);}// based on node assert, original notice:
// http://wiki.commonjs.org/wiki/Unit_Testing/1.0
//
// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
//
// Originally from narwhal.js (http://narwhaljs.org)
// Copyright (c) 2009 Thomas Robinson <280north.com>
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the 'Software'), to
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS 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.
var util=require("util/");var hasOwn=Object.prototype.hasOwnProperty;var pSlice=Array.prototype.slice;var functionsHaveNames=function(){return function foo(){}.name==='foo';}();function pToString(obj){return Object.prototype.toString.call(obj);}function isView(arrbuf){if(isBuffer(arrbuf)){return false;}if(typeof global.ArrayBuffer!=='function'){return false;}if(typeof ArrayBuffer.isView==='function'){return ArrayBuffer.isView(arrbuf);}if(!arrbuf){return false;}if(arrbuf instanceof DataView){return true;}if(arrbuf.buffer&&arrbuf.buffer instanceof ArrayBuffer){return true;}return false;}// 1. The assert module provides functions that throw
// AssertionError's when particular conditions are not met. The
// assert module must conform to the following interface.
var assert=module.exports=ok;// 2. The AssertionError is defined in assert.
// new assert.AssertionError({ message: message,
//                             actual: actual,
//                             expected: expected })
var regex=/\s*function\s+([^\(\s]*)\s*/;// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js
function getName(func){if(!util.isFunction(func)){return;}if(functionsHaveNames){return func.name;}var str=func.toString();var match=str.match(regex);return match&&match[1];}assert.AssertionError=function AssertionError(options){this.name='AssertionError';this.actual=options.actual;this.expected=options.expected;this.operator=options.operator;if(options.message){this.message=options.message;this.generatedMessage=false;}else{this.message=getMessage(this);this.generatedMessage=true;}var stackStartFunction=options.stackStartFunction||fail;if(Error.captureStackTrace){Error.captureStackTrace(this,stackStartFunction);}else{// non v8 browsers so we can have a stacktrace
var err=new Error();if(err.stack){var out=err.stack;// try to strip useless frames
var fn_name=getName(stackStartFunction);var idx=out.indexOf('\n'+fn_name);if(idx>=0){// once we have located the function frame
// we need to strip out everything before it (and its line)
var next_line=out.indexOf('\n',idx+1);out=out.substring(next_line+1);}this.stack=out;}}};// assert.AssertionError instanceof Error
util.inherits(assert.AssertionError,Error);function truncate(s,n){if(typeof s==='string'){return s.length<n?s:s.slice(0,n);}else{return s;}}function inspect(something){if(functionsHaveNames||!util.isFunction(something)){return util.inspect(something);}var rawname=getName(something);var name=rawname?': '+rawname:'';return'[Function'+name+']';}function getMessage(self){return truncate(inspect(self.actual),128)+' '+self.operator+' '+truncate(inspect(self.expected),128);}// At present only the three keys mentioned above are used and
// understood by the spec. Implementations or sub modules can pass
// other keys to the AssertionError's constructor - they will be
// ignored.
// 3. All of the following functions must throw an AssertionError
// when a corresponding condition is not met, with a message that
// may be undefined if not provided.  All assertion methods provide
// both the actual and expected values to the assertion error for
// display purposes.
function fail(actual,expected,message,operator,stackStartFunction){throw new assert.AssertionError({message:message,actual:actual,expected:expected,operator:operator,stackStartFunction:stackStartFunction});}// EXTENSION! allows for well behaved errors defined elsewhere.
assert.fail=fail;// 4. Pure assertion tests whether a value is truthy, as determined
// by !!guard.
// assert.ok(guard, message_opt);
// This statement is equivalent to assert.equal(true, !!guard,
// message_opt);. To test strictly for the value true, use
// assert.strictEqual(true, guard, message_opt);.
function ok(value,message){if(!value)fail(value,true,message,'==',assert.ok);}assert.ok=ok;// 5. The equality assertion tests shallow, coercive equality with
// ==.
// assert.equal(actual, expected, message_opt);
assert.equal=function equal(actual,expected,message){if(actual!=expected)fail(actual,expected,message,'==',assert.equal);};// 6. The non-equality assertion tests for whether two objects are not equal
// with != assert.notEqual(actual, expected, message_opt);
assert.notEqual=function notEqual(actual,expected,message){if(actual==expected){fail(actual,expected,message,'!=',assert.notEqual);}};// 7. The equivalence assertion tests a deep equality relation.
// assert.deepEqual(actual, expected, message_opt);
assert.deepEqual=function deepEqual(actual,expected,message){if(!_deepEqual(actual,expected,false)){fail(actual,expected,message,'deepEqual',assert.deepEqual);}};assert.deepStrictEqual=function deepStrictEqual(actual,expected,message){if(!_deepEqual(actual,expected,true)){fail(actual,expected,message,'deepStrictEqual',assert.deepStrictEqual);}};function _deepEqual(actual,expected,strict,memos){// 7.1. All identical values are equivalent, as determined by ===.
if(actual===expected){return true;}else if(isBuffer(actual)&&isBuffer(expected)){return compare(actual,expected)===0;// 7.2. If the expected value is a Date object, the actual value is
// equivalent if it is also a Date object that refers to the same time.
}else if(util.isDate(actual)&&util.isDate(expected)){return actual.getTime()===expected.getTime();// 7.3 If the expected value is a RegExp object, the actual value is
// equivalent if it is also a RegExp object with the same source and
// properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
}else if(util.isRegExp(actual)&&util.isRegExp(expected)){return actual.source===expected.source&&actual.global===expected.global&&actual.multiline===expected.multiline&&actual.lastIndex===expected.lastIndex&&actual.ignoreCase===expected.ignoreCase;// 7.4. Other pairs that do not both pass typeof value == 'object',
// equivalence is determined by ==.
}else if((actual===null||(typeof actual==="undefined"?"undefined":(0,_typeof6.default)(actual))!=='object')&&(expected===null||(typeof expected==="undefined"?"undefined":(0,_typeof6.default)(expected))!=='object')){return strict?actual===expected:actual==expected;// If both values are instances of typed arrays, wrap their underlying
// ArrayBuffers in a Buffer each to increase performance
// This optimization requires the arrays to have the same type as checked by
// Object.prototype.toString (aka pToString). Never perform binary
// comparisons for Float*Arrays, though, since e.g. +0 === -0 but their
// bit patterns are not identical.
}else if(isView(actual)&&isView(expected)&&pToString(actual)===pToString(expected)&&!(actual instanceof Float32Array||actual instanceof Float64Array)){return compare(new Uint8Array(actual.buffer),new Uint8Array(expected.buffer))===0;// 7.5 For all other Object pairs, including Array objects, equivalence is
// determined by having the same number of owned properties (as verified
// with Object.prototype.hasOwnProperty.call), the same set of keys
// (although not necessarily the same order), equivalent values for every
// corresponding key, and an identical 'prototype' property. Note: this
// accounts for both named and indexed properties on Arrays.
}else if(isBuffer(actual)!==isBuffer(expected)){return false;}else{memos=memos||{actual:[],expected:[]};var actualIndex=memos.actual.indexOf(actual);if(actualIndex!==-1){if(actualIndex===memos.expected.indexOf(expected)){return true;}}memos.actual.push(actual);memos.expected.push(expected);return objEquiv(actual,expected,strict,memos);}}function isArguments(object){return Object.prototype.toString.call(object)=='[object Arguments]';}function objEquiv(a,b,strict,actualVisitedObjects){if(a===null||a===undefined||b===null||b===undefined)return false;// if one is a primitive, the other must be same
if(util.isPrimitive(a)||util.isPrimitive(b))return a===b;if(strict&&(0,_getPrototypeOf2.default)(a)!==(0,_getPrototypeOf2.default)(b))return false;var aIsArgs=isArguments(a);var bIsArgs=isArguments(b);if(aIsArgs&&!bIsArgs||!aIsArgs&&bIsArgs)return false;if(aIsArgs){a=pSlice.call(a);b=pSlice.call(b);return _deepEqual(a,b,strict);}var ka=objectKeys(a);var kb=objectKeys(b);var key,i;// having the same number of owned properties (keys incorporates
// hasOwnProperty)
if(ka.length!==kb.length)return false;//the same set of keys (although not necessarily the same order),
ka.sort();kb.sort();//~~~cheap key test
for(i=ka.length-1;i>=0;i--){if(ka[i]!==kb[i])return false;}//equivalent values for every corresponding key, and
//~~~possibly expensive deep test
for(i=ka.length-1;i>=0;i--){key=ka[i];if(!_deepEqual(a[key],b[key],strict,actualVisitedObjects))return false;}return true;}// 8. The non-equivalence assertion tests for any deep inequality.
// assert.notDeepEqual(actual, expected, message_opt);
assert.notDeepEqual=function notDeepEqual(actual,expected,message){if(_deepEqual(actual,expected,false)){fail(actual,expected,message,'notDeepEqual',assert.notDeepEqual);}};assert.notDeepStrictEqual=notDeepStrictEqual;function notDeepStrictEqual(actual,expected,message){if(_deepEqual(actual,expected,true)){fail(actual,expected,message,'notDeepStrictEqual',notDeepStrictEqual);}}// 9. The strict equality assertion tests strict equality, as determined by ===.
// assert.strictEqual(actual, expected, message_opt);
assert.strictEqual=function strictEqual(actual,expected,message){if(actual!==expected){fail(actual,expected,message,'===',assert.strictEqual);}};// 10. The strict non-equality assertion tests for strict inequality, as
// determined by !==.  assert.notStrictEqual(actual, expected, message_opt);
assert.notStrictEqual=function notStrictEqual(actual,expected,message){if(actual===expected){fail(actual,expected,message,'!==',assert.notStrictEqual);}};function expectedException(actual,expected){if(!actual||!expected){return false;}if(Object.prototype.toString.call(expected)=='[object RegExp]'){return expected.test(actual);}try{if(actual instanceof expected){return true;}}catch(e){// Ignore.  The instanceof check doesn't work for arrow functions.
}if(Error.isPrototypeOf(expected)){return false;}return expected.call({},actual)===true;}function _tryBlock(block){var error;try{block();}catch(e){error=e;}return error;}function _throws(shouldThrow,block,expected,message){var actual;if(typeof block!=='function'){throw new TypeError('"block" argument must be a function');}if(typeof expected==='string'){message=expected;expected=null;}actual=_tryBlock(block);message=(expected&&expected.name?' ('+expected.name+').':'.')+(message?' '+message:'.');if(shouldThrow&&!actual){fail(actual,expected,'Missing expected exception'+message);}var userProvidedMessage=typeof message==='string';var isUnwantedException=!shouldThrow&&util.isError(actual);var isUnexpectedException=!shouldThrow&&actual&&!expected;if(isUnwantedException&&userProvidedMessage&&expectedException(actual,expected)||isUnexpectedException){fail(actual,expected,'Got unwanted exception'+message);}if(shouldThrow&&actual&&expected&&!expectedException(actual,expected)||!shouldThrow&&actual){throw actual;}}// 11. Expected to throw an error:
// assert.throws(block, Error_opt, message_opt);
assert.throws=function(block,/*optional*/error,/*optional*/message){_throws(true,block,error,message);};// EXTENSION! This is annoying to write outside this module.
assert.doesNotThrow=function(block,/*optional*/error,/*optional*/message){_throws(false,block,error,message);};assert.ifError=function(err){if(err)throw err;};var objectKeys=_keys4.default||function(obj){var keys=[];for(var key in obj){if(hasOwn.call(obj,key))keys.push(key);}return keys;};}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"util/":602}],12:[function(require,module,exports){"use strict";exports.__esModule=true;exports.default=function(rawLines,lineNumber,colNumber){var opts=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};colNumber=Math.max(colNumber,0);var highlighted=opts.highlightCode&&_chalk2.default.supportsColor||opts.forceColor;var chalk=_chalk2.default;if(opts.forceColor){chalk=new _chalk2.default.constructor({enabled:true});}var maybeHighlight=function maybeHighlight(chalkFn,string){return highlighted?chalkFn(string):string;};var defs=getDefs(chalk);if(highlighted)rawLines=highlight(defs,rawLines);var linesAbove=opts.linesAbove||2;var linesBelow=opts.linesBelow||3;var lines=rawLines.split(NEWLINE);var start=Math.max(lineNumber-(linesAbove+1),0);var end=Math.min(lines.length,lineNumber+linesBelow);if(!lineNumber&&!colNumber){start=0;end=lines.length;}var numberMaxWidth=String(end).length;var frame=lines.slice(start,end).map(function(line,index){var number=start+1+index;var paddedNumber=(" "+number).slice(-numberMaxWidth);var gutter=" "+paddedNumber+" | ";if(number===lineNumber){var markerLine="";if(colNumber){var markerSpacing=line.slice(0,colNumber-1).replace(/[^\t]/g," ");markerLine=["\n ",maybeHighlight(defs.gutter,gutter.replace(/\d/g," ")),markerSpacing,maybeHighlight(defs.marker,"^")].join("");}return[maybeHighlight(defs.marker,">"),maybeHighlight(defs.gutter,gutter),line,markerLine].join("");}else{return" "+maybeHighlight(defs.gutter,gutter)+line;}}).join("\n");if(highlighted){return chalk.reset(frame);}else{return frame;}};var _jsTokens=require("js-tokens");var _jsTokens2=_interopRequireDefault(_jsTokens);var _esutils=require("esutils");var _esutils2=_interopRequireDefault(_esutils);var _chalk=require("chalk");var _chalk2=_interopRequireDefault(_chalk);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function getDefs(chalk){return{keyword:chalk.cyan,capitalized:chalk.yellow,jsx_tag:chalk.yellow,punctuator:chalk.yellow,number:chalk.magenta,string:chalk.green,regex:chalk.magenta,comment:chalk.grey,invalid:chalk.white.bgRed.bold,gutter:chalk.grey,marker:chalk.red.bold};}var NEWLINE=/\r\n|[\n\r\u2028\u2029]/;var JSX_TAG=/^[a-z][\w-]*$/i;var BRACKET=/^[()\[\]{}]$/;function getTokenType(match){var _match$slice=match.slice(-2),offset=_match$slice[0],text=_match$slice[1];var token=(0,_jsTokens.matchToToken)(match);if(token.type==="name"){if(_esutils2.default.keyword.isReservedWordES6(token.value)){return"keyword";}if(JSX_TAG.test(token.value)&&(text[offset-1]==="<"||text.substr(offset-2,2)=="</")){return"jsx_tag";}if(token.value[0]!==token.value[0].toLowerCase()){return"capitalized";}}if(token.type==="punctuator"&&BRACKET.test(token.value)){return"bracket";}return token.type;}function highlight(defs,text){return text.replace(_jsTokens2.default,function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}var type=getTokenType(args);var colorize=defs[type];if(colorize){return args[0].split(NEWLINE).map(function(str){return colorize(str);}).join("\n");}else{return args[0];}});}module.exports=exports["default"];},{"chalk":76,"esutils":365,"js-tokens":386}],13:[function(require,module,exports){// comment fixes
module.exports=function(ast,comments,tokens){if(comments.length){var firstComment=comments[0];var lastComment=comments[comments.length-1];// fixup program start
if(!tokens.length){// if no tokens, the program starts at the end of the last comment
ast.start=lastComment.end;ast.loc.start.line=lastComment.loc.end.line;ast.loc.start.column=lastComment.loc.end.column;if(ast.leadingComments===null&&ast.innerComments.length){ast.leadingComments=ast.innerComments;}}else if(firstComment.start<tokens[0].start){// if there are comments before the first token, the program starts at the first token
var token=tokens[0];// ast.start = token.start;
// ast.loc.start.line = token.loc.start.line;
// ast.loc.start.column = token.loc.start.column;
// estraverse do not put leading comments on first node when the comment
// appear before the first token
if(ast.body.length){var node=ast.body[0];node.leadingComments=[];var firstTokenStart=token.start;var len=comments.length;for(var i=0;i<len&&comments[i].start<firstTokenStart;i++){node.leadingComments.push(comments[i]);}}}// fixup program end
if(tokens.length){var lastToken=tokens[tokens.length-1];if(lastComment.end>lastToken.end){// If there is a comment after the last token, the program ends at the
// last token and not the comment
// ast.end = lastToken.end;
ast.range[1]=lastToken.end;ast.loc.end.line=lastToken.loc.end.line;ast.loc.end.column=lastToken.loc.end.column;}}}else{if(!tokens.length){ast.loc.start.line=1;ast.loc.end.line=1;}}if(ast.body&&ast.body.length>0){ast.loc.start.line=ast.body[0].loc.start.line;ast.range[0]=ast.body[0].start;}};},{}],14:[function(require,module,exports){module.exports=function(tokens,tt){var startingToken=0;var currentToken=0;var numBraces=0;// track use of {}
var numBackQuotes=0;// track number of nested templates
function isBackQuote(token){return tokens[token].type===tt.backQuote;}function isTemplateStarter(token){return isBackQuote(token)||// only can be a template starter when in a template already
tokens[token].type===tt.braceR&&numBackQuotes>0;}function isTemplateEnder(token){return isBackQuote(token)||tokens[token].type===tt.dollarBraceL;}// append the values between start and end
function createTemplateValue(start,end){var value="";while(start<=end){if(tokens[start].value){value+=tokens[start].value;}else if(tokens[start].type!==tt.template){value+=tokens[start].type.label;}start++;}return value;}// create Template token
function replaceWithTemplateType(start,end){var templateToken={type:"Template",value:createTemplateValue(start,end),start:tokens[start].start,end:tokens[end].end,loc:{start:tokens[start].loc.start,end:tokens[end].loc.end}};// put new token in place of old tokens
tokens.splice(start,end-start+1,templateToken);}function trackNumBraces(token){if(tokens[token].type===tt.braceL){numBraces++;}else if(tokens[token].type===tt.braceR){numBraces--;}}while(startingToken<tokens.length){// template start: check if ` or }
if(isTemplateStarter(startingToken)&&numBraces===0){if(isBackQuote(startingToken)){numBackQuotes++;}currentToken=startingToken+1;// check if token after template start is "template"
if(currentToken>=tokens.length-1||tokens[currentToken].type!==tt.template){break;}// template end: find ` or ${
while(!isTemplateEnder(currentToken)){if(currentToken>=tokens.length-1){break;}currentToken++;}if(isBackQuote(currentToken)){numBackQuotes--;}// template start and end found: create new token
replaceWithTemplateType(startingToken,currentToken);}else if(numBackQuotes>0){trackNumBraces(startingToken);}startingToken++;}};},{}],15:[function(require,module,exports){exports.attachComments=require("./attachComments");exports.toTokens=require("./toTokens");exports.toAST=require("./toAST");exports.convertComments=function(comments){for(var i=0;i<comments.length;i++){var comment=comments[i];if(comment.type==="CommentBlock"){comment.type="Block";}else if(comment.type==="CommentLine"){comment.type="Line";}// sometimes comments don't get ranges computed,
// even with options.ranges === true
if(!comment.range){comment.range=[comment.start,comment.end];}}};},{"./attachComments":13,"./toAST":16,"./toTokens":18}],16:[function(require,module,exports){var source;module.exports=function(ast,traverse,code){source=code;ast.range=[ast.start,ast.end];traverse(ast,astTransformVisitor);};function changeToLiteral(node){node.type="Literal";if(!node.raw){if(node.extra&&node.extra.raw){node.raw=node.extra.raw;}else{node.raw=source.slice(node.start,node.end);}}}function changeComments(nodeComments){for(var i=0;i<nodeComments.length;i++){var comment=nodeComments[i];if(comment.type==="CommentLine"){comment.type="Line";}else if(comment.type==="CommentBlock"){comment.type="Block";}comment.range=[comment.start,comment.end];}}var astTransformVisitor={noScope:true,enter:function enter(path){var node=path.node;node.range=[node.start,node.end];// private var to track original node type
node._babelType=node.type;if(node.innerComments){node.trailingComments=node.innerComments;delete node.innerComments;}if(node.trailingComments){changeComments(node.trailingComments);}if(node.leadingComments){changeComments(node.leadingComments);}// make '_paths' non-enumerable (babel-eslint #200)
Object.defineProperty(node,"_paths",{value:node._paths,writable:true});},exit:function exit(path){var node=path.node;[fixDirectives].forEach(function(fixer){fixer(path);});if(path.isJSXText()){node.type="Literal";node.raw=node.value;}if(path.isNumericLiteral()||path.isStringLiteral()){changeToLiteral(node);}if(path.isBooleanLiteral()){node.type="Literal";node.raw=String(node.value);}if(path.isNullLiteral()){node.type="Literal";node.raw="null";node.value=null;}if(path.isRegExpLiteral()){node.type="Literal";node.raw=node.extra.raw;node.value={};node.regex={pattern:node.pattern,flags:node.flags};delete node.extra;delete node.pattern;delete node.flags;}if(path.isObjectProperty()){node.type="Property";node.kind="init";}if(path.isClassMethod()||path.isObjectMethod()){var code=source.slice(node.key.end,node.body.start);var offset=code.indexOf("(");node.value={type:"FunctionExpression",id:node.id,params:node.params,body:node.body,async:node.async,generator:node.generator,expression:node.expression,defaults:[],// basic support - TODO: remove (old esprima)
loc:{start:{line:node.key.loc.start.line,column:node.key.loc.end.column+offset// a[() {]
},end:node.body.loc.end}};// [asdf]() {
node.value.range=[node.key.end+offset,node.body.end];node.value.start=node.value.range&&node.value.range[0]||node.value.loc.start.column;node.value.end=node.value.range&&node.value.range[1]||node.value.loc.end.column;if(node.returnType){node.value.returnType=node.returnType;}if(node.typeParameters){node.value.typeParameters=node.typeParameters;}if(path.isClassMethod()){node.type="MethodDefinition";}if(path.isObjectMethod()){node.type="Property";if(node.kind==="method"){node.kind="init";}}delete node.body;delete node.id;delete node.async;delete node.generator;delete node.expression;delete node.params;delete node.returnType;delete node.typeParameters;}if(path.isRestProperty()||path.isSpreadProperty()){node.type="Experimental"+node.type;}if(path.isTypeParameter&&path.isTypeParameter()){node.type="Identifier";node.typeAnnotation=node.bound;delete node.bound;}// flow: prevent "no-undef"
// for "Component" in: "let x: React.Component"
if(path.isQualifiedTypeIdentifier()){delete node.id;}// for "b" in: "var a: { b: Foo }"
if(path.isObjectTypeProperty()){delete node.key;}// for "indexer" in: "var a: {[indexer: string]: number}"
if(path.isObjectTypeIndexer()){delete node.id;}// for "param" in: "var a: { func(param: Foo): Bar };"
if(path.isFunctionTypeParam()){delete node.name;}// modules
if(path.isImportDeclaration()){delete node.isType;}if(path.isExportDeclaration()){var declar=path.get("declaration");if(declar.isClassExpression()){node.declaration.type="ClassDeclaration";}else if(declar.isFunctionExpression()){node.declaration.type="FunctionDeclaration";}}// TODO: remove (old esprima)
if(path.isFunction()){if(!node.defaults){node.defaults=[];}}// template string range fixes
if(path.isTemplateLiteral()){node.quasis.forEach(function(q){q.range[0]-=1;if(q.tail){q.range[1]+=1;}else{q.range[1]+=2;}q.loc.start.column-=1;if(q.tail){q.loc.end.column+=1;}else{q.loc.end.column+=2;}});}}};function fixDirectives(path){if(!(path.isProgram()||path.isFunction()))return;var node=path.node;var directivesContainer=node;var body=node.body;if(node.type!=="Program"){directivesContainer=body;body=body.body;}if(!directivesContainer.directives)return;directivesContainer.directives.reverse().forEach(function(directive){directive.type="ExpressionStatement";directive.expression=directive.value;delete directive.value;directive.expression.type="Literal";changeToLiteral(directive.expression);body.unshift(directive);});delete directivesContainer.directives;}// fixDirectives
},{}],17:[function(require,module,exports){module.exports=function(token,tt,source){var type=token.type;token.range=[token.start,token.end];if(type===tt.name){token.type="Identifier";}else if(type===tt.semi||type===tt.comma||type===tt.parenL||type===tt.parenR||type===tt.braceL||type===tt.braceR||type===tt.slash||type===tt.dot||type===tt.bracketL||type===tt.bracketR||type===tt.ellipsis||type===tt.arrow||type===tt.star||type===tt.incDec||type===tt.colon||type===tt.question||type===tt.template||type===tt.backQuote||type===tt.dollarBraceL||type===tt.at||type===tt.logicalOR||type===tt.logicalAND||type===tt.bitwiseOR||type===tt.bitwiseXOR||type===tt.bitwiseAND||type===tt.equality||type===tt.relational||type===tt.bitShift||type===tt.plusMin||type===tt.modulo||type===tt.exponent||type===tt.prefix||type===tt.doubleColon||type.isAssign){token.type="Punctuator";if(!token.value)token.value=type.label;}else if(type===tt.jsxTagStart){token.type="Punctuator";token.value="<";}else if(type===tt.jsxTagEnd){token.type="Punctuator";token.value=">";}else if(type===tt.jsxName){token.type="JSXIdentifier";}else if(type===tt.jsxText){token.type="JSXText";}else if(type.keyword==="null"){token.type="Null";}else if(type.keyword==="false"||type.keyword==="true"){token.type="Boolean";}else if(type.keyword){token.type="Keyword";}else if(type===tt.num){token.type="Numeric";token.value=source.slice(token.start,token.end);}else if(type===tt.string){token.type="String";token.value=source.slice(token.start,token.end);}else if(type===tt.regexp){token.type="RegularExpression";var value=token.value;token.regex={pattern:value.pattern,flags:value.flags};token.value="/"+value.pattern+"/"+value.flags;}return token;};},{}],18:[function(require,module,exports){var convertTemplateType=require("./convertTemplateType");var toToken=require("./toToken");module.exports=function(tokens,tt,code){// transform tokens to type "Template"
convertTemplateType(tokens,tt);var transformedTokens=tokens.filter(function(token){return token.type!=="CommentLine"&&token.type!=="CommentBlock";});for(var i=0,l=transformedTokens.length;i<l;i++){transformedTokens[i]=toToken(transformedTokens[i],tt,code);}return transformedTokens;};},{"./convertTemplateType":14,"./toToken":17}],19:[function(require,module,exports){(function(process){var babylonToEspree=require("./babylon-to-espree");var pick=require("lodash.pickby");var Module=require("module");var path=require("path");var parse=require("babylon").parse;var t=require("babel-types");var tt=require("babylon").tokTypes;var traverse=require("babel-traverse").default;var codeFrame=require("babel-code-frame");var hasPatched=false;var eslintOptions={};function createModule(filename){var mod=new Module(filename);mod.filename=filename;mod.paths=Module._nodeModulePaths(path.dirname(filename));return mod;}exports.parse=function(code,options){options=options||{};eslintOptions.ecmaVersion=options.ecmaVersion=options.ecmaVersion||6;eslintOptions.sourceType=options.sourceType=options.sourceType||"module";eslintOptions.allowImportExportEverywhere=options.allowImportExportEverywhere=options.allowImportExportEverywhere||false;if(options.sourceType==="module"){eslintOptions.globalReturn=false;}else{delete eslintOptions.globalReturn;}return exports.parseNoPatch(code,options);};exports.parseNoPatch=function(code,options){var opts={sourceType:options.sourceType,allowImportExportEverywhere:options.allowImportExportEverywhere,// consistent with espree
allowReturnOutsideFunction:true,allowSuperOutsideMethod:true,plugins:["flow","jsx","asyncFunctions","asyncGenerators","classConstructorCall","classProperties","decorators","doExpressions","exponentiationOperator","exportExtensions","functionBind","functionSent","objectRestSpread","trailingFunctionCommas","dynamicImport"]};var ast;try{ast=parse(code,opts);}catch(err){if(err instanceof SyntaxError){err.lineNumber=err.loc.line;err.column=err.loc.column+1;// remove trailing "(LINE:COLUMN)" acorn message and add in esprima syntax error message start
err.message="Line "+err.lineNumber+": "+err.message.replace(/ \((\d+):(\d+)\)$/,"")+// add codeframe
"\n\n"+codeFrame(code,err.lineNumber,err.column,{highlightCode:true});}throw err;}// remove EOF token, eslint doesn't use this for anything and it interferes with some rules
// see https://github.com/babel/babel-eslint/issues/2 for more info
// todo: find a more elegant way to do this
ast.tokens.pop();// convert tokens
ast.tokens=babylonToEspree.toTokens(ast.tokens,tt,code);// add comments
babylonToEspree.convertComments(ast.comments);// transform esprima and acorn divergent nodes
babylonToEspree.toAST(ast,traverse,code);// ast.program.tokens = ast.tokens;
// ast.program.comments = ast.comments;
// ast = ast.program;
// remove File
ast.type="Program";ast.sourceType=ast.program.sourceType;ast.directives=ast.program.directives;ast.body=ast.program.body;delete ast.program;delete ast._paths;babylonToEspree.attachComments(ast,ast.comments,ast.tokens);return ast;};}).call(this,require("_process"));},{"./babylon-to-espree":15,"_process":594,"babel-code-frame":12,"babel-traverse":23,"babel-types":56,"babylon":74,"lodash.pickby":420,"module":75,"path":587}],20:[function(require,module,exports){"use strict";exports.__esModule=true;exports.scope=exports.path=undefined;var _weakMap=require("babel-runtime/core-js/weak-map");var _weakMap2=_interopRequireDefault(_weakMap);exports.clear=clear;exports.clearPath=clearPath;exports.clearScope=clearScope;function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var path=exports.path=new _weakMap2.default();var scope=exports.scope=new _weakMap2.default();function clear(){clearPath();clearScope();}function clearPath(){exports.path=path=new _weakMap2.default();}function clearScope(){exports.scope=scope=new _weakMap2.default();}},{"babel-runtime/core-js/weak-map":71}],21:[function(require,module,exports){(function(process){"use strict";exports.__esModule=true;var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);var _classCallCheck2=require("babel-runtime/helpers/classCallCheck");var _classCallCheck3=_interopRequireDefault(_classCallCheck2);var _path2=require("./path");var _path3=_interopRequireDefault(_path2);var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var testing=process.env.NODE_ENV==="test";var TraversalContext=function(){function TraversalContext(scope,opts,state,parentPath){(0,_classCallCheck3.default)(this,TraversalContext);this.queue=null;this.parentPath=parentPath;this.scope=scope;this.state=state;this.opts=opts;}TraversalContext.prototype.shouldVisit=function shouldVisit(node){var opts=this.opts;if(opts.enter||opts.exit)return true;if(opts[node.type])return true;var keys=t.VISITOR_KEYS[node.type];if(!keys||!keys.length)return false;for(var _iterator=keys,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var key=_ref;if(node[key])return true;}return false;};TraversalContext.prototype.create=function create(node,obj,key,listKey){return _path3.default.get({parentPath:this.parentPath,parent:node,container:obj,key:key,listKey:listKey});};TraversalContext.prototype.maybeQueue=function maybeQueue(path,notPriority){if(this.trap){throw new Error("Infinite cycle detected");}if(this.queue){if(notPriority){this.queue.push(path);}else{this.priorityQueue.push(path);}}};TraversalContext.prototype.visitMultiple=function visitMultiple(container,parent,listKey){if(container.length===0)return false;var queue=[];for(var key=0;key<container.length;key++){var node=container[key];if(node&&this.shouldVisit(node)){queue.push(this.create(parent,container,key,listKey));}}return this.visitQueue(queue);};TraversalContext.prototype.visitSingle=function visitSingle(node,key){if(this.shouldVisit(node[key])){return this.visitQueue([this.create(node,node,key)]);}else{return false;}};TraversalContext.prototype.visitQueue=function visitQueue(queue){this.queue=queue;this.priorityQueue=[];var visited=[];var stop=false;for(var _iterator2=queue,_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:(0,_getIterator3.default)(_iterator2);;){var _ref2;if(_isArray2){if(_i2>=_iterator2.length)break;_ref2=_iterator2[_i2++];}else{_i2=_iterator2.next();if(_i2.done)break;_ref2=_i2.value;}var path=_ref2;path.resync();if(path.contexts.length===0||path.contexts[path.contexts.length-1]!==this){path.pushContext(this);}if(path.key===null)continue;if(testing&&queue.length>=10000){this.trap=true;}if(visited.indexOf(path.node)>=0)continue;visited.push(path.node);if(path.visit()){stop=true;break;}if(this.priorityQueue.length){stop=this.visitQueue(this.priorityQueue);this.priorityQueue=[];this.queue=queue;if(stop)break;}}for(var _iterator3=queue,_isArray3=Array.isArray(_iterator3),_i3=0,_iterator3=_isArray3?_iterator3:(0,_getIterator3.default)(_iterator3);;){var _ref3;if(_isArray3){if(_i3>=_iterator3.length)break;_ref3=_iterator3[_i3++];}else{_i3=_iterator3.next();if(_i3.done)break;_ref3=_i3.value;}var _path=_ref3;_path.popContext();}this.queue=null;return stop;};TraversalContext.prototype.visit=function visit(node,key){var nodes=node[key];if(!nodes)return false;if(Array.isArray(nodes)){return this.visitMultiple(nodes,node,key);}else{return this.visitSingle(node,key);}};return TraversalContext;}();exports.default=TraversalContext;module.exports=exports["default"];}).call(this,require("_process"));},{"./path":30,"_process":594,"babel-runtime/core-js/get-iterator":61,"babel-runtime/helpers/classCallCheck":72,"babel-types":56}],22:[function(require,module,exports){"use strict";exports.__esModule=true;var _classCallCheck2=require("babel-runtime/helpers/classCallCheck");var _classCallCheck3=_interopRequireDefault(_classCallCheck2);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var Hub=function Hub(file,options){(0,_classCallCheck3.default)(this,Hub);this.file=file;this.options=options;};exports.default=Hub;module.exports=exports["default"];},{"babel-runtime/helpers/classCallCheck":72}],23:[function(require,module,exports){"use strict";exports.__esModule=true;exports.visitors=exports.Hub=exports.Scope=exports.NodePath=undefined;var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);var _path=require("./path");Object.defineProperty(exports,"NodePath",{enumerable:true,get:function get(){return _interopRequireDefault(_path).default;}});var _scope=require("./scope");Object.defineProperty(exports,"Scope",{enumerable:true,get:function get(){return _interopRequireDefault(_scope).default;}});var _hub=require("./hub");Object.defineProperty(exports,"Hub",{enumerable:true,get:function get(){return _interopRequireDefault(_hub).default;}});exports.default=traverse;var _context=require("./context");var _context2=_interopRequireDefault(_context);var _visitors=require("./visitors");var visitors=_interopRequireWildcard(_visitors);var _babelMessages=require("babel-messages");var messages=_interopRequireWildcard(_babelMessages);var _includes=require("lodash/includes");var _includes2=_interopRequireDefault(_includes);var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);var _cache=require("./cache");var cache=_interopRequireWildcard(_cache);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}exports.visitors=visitors;function traverse(parent,opts,scope,state,parentPath){if(!parent)return;if(!opts)opts={};if(!opts.noScope&&!scope){if(parent.type!=="Program"&&parent.type!=="File"){throw new Error(messages.get("traverseNeedsParent",parent.type));}}visitors.explode(opts);traverse.node(parent,opts,scope,state,parentPath);}traverse.visitors=visitors;traverse.verify=visitors.verify;traverse.explode=visitors.explode;traverse.NodePath=require("./path");traverse.Scope=require("./scope");traverse.Hub=require("./hub");traverse.cheap=function(node,enter){return t.traverseFast(node,enter);};traverse.node=function(node,opts,scope,state,parentPath,skipKeys){var keys=t.VISITOR_KEYS[node.type];if(!keys)return;var context=new _context2.default(scope,opts,state,parentPath);for(var _iterator=keys,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var key=_ref;if(skipKeys&&skipKeys[key])continue;if(context.visit(node,key))return;}};traverse.clearNode=function(node,opts){t.removeProperties(node,opts);cache.path.delete(node);};traverse.removeProperties=function(tree,opts){t.traverseFast(tree,traverse.clearNode,opts);return tree;};function hasBlacklistedType(path,state){if(path.node.type===state.type){state.has=true;path.stop();}}traverse.hasType=function(tree,scope,type,blacklistTypes){if((0,_includes2.default)(blacklistTypes,tree.type))return false;if(tree.type===type)return true;var state={has:false,type:type};traverse(tree,{blacklist:blacklistTypes,enter:hasBlacklistedType},scope,state);return state.has;};traverse.clearCache=function(){cache.clear();};traverse.clearCache.clearPath=cache.clearPath;traverse.clearCache.clearScope=cache.clearScope;traverse.copyCache=function(source,destination){if(cache.path.has(source)){cache.path.set(destination,cache.path.get(source));}};},{"./cache":20,"./context":21,"./hub":22,"./path":30,"./scope":42,"./visitors":44,"babel-messages":60,"babel-runtime/core-js/get-iterator":61,"babel-types":56,"lodash/includes":550}],24:[function(require,module,exports){"use strict";exports.__esModule=true;var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);exports.findParent=findParent;exports.find=find;exports.getFunctionParent=getFunctionParent;exports.getStatementParent=getStatementParent;exports.getEarliestCommonAncestorFrom=getEarliestCommonAncestorFrom;exports.getDeepestCommonAncestorFrom=getDeepestCommonAncestorFrom;exports.getAncestry=getAncestry;exports.isAncestor=isAncestor;exports.isDescendant=isDescendant;exports.inType=inType;exports.inShadow=inShadow;var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);var _index=require("./index");var _index2=_interopRequireDefault(_index);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function findParent(callback){var path=this;while(path=path.parentPath){if(callback(path))return path;}return null;}function find(callback){var path=this;do{if(callback(path))return path;}while(path=path.parentPath);return null;}function getFunctionParent(){return this.findParent(function(path){return path.isFunction()||path.isProgram();});}function getStatementParent(){var path=this;do{if(Array.isArray(path.container)){return path;}}while(path=path.parentPath);}function getEarliestCommonAncestorFrom(paths){return this.getDeepestCommonAncestorFrom(paths,function(deepest,i,ancestries){var earliest=void 0;var keys=t.VISITOR_KEYS[deepest.type];for(var _iterator=ancestries,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var ancestry=_ref;var path=ancestry[i+1];if(!earliest){earliest=path;continue;}if(path.listKey&&earliest.listKey===path.listKey){if(path.key<earliest.key){earliest=path;continue;}}var earliestKeyIndex=keys.indexOf(earliest.parentKey);var currentKeyIndex=keys.indexOf(path.parentKey);if(earliestKeyIndex>currentKeyIndex){earliest=path;}}return earliest;});}function getDeepestCommonAncestorFrom(paths,filter){var _this=this;if(!paths.length){return this;}if(paths.length===1){return paths[0];}var minDepth=Infinity;var lastCommonIndex=void 0,lastCommon=void 0;var ancestries=paths.map(function(path){var ancestry=[];do{ancestry.unshift(path);}while((path=path.parentPath)&&path!==_this);if(ancestry.length<minDepth){minDepth=ancestry.length;}return ancestry;});var first=ancestries[0];depthLoop:for(var i=0;i<minDepth;i++){var shouldMatch=first[i];for(var _iterator2=ancestries,_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:(0,_getIterator3.default)(_iterator2);;){var _ref2;if(_isArray2){if(_i2>=_iterator2.length)break;_ref2=_iterator2[_i2++];}else{_i2=_iterator2.next();if(_i2.done)break;_ref2=_i2.value;}var ancestry=_ref2;if(ancestry[i]!==shouldMatch){break depthLoop;}}lastCommonIndex=i;lastCommon=shouldMatch;}if(lastCommon){if(filter){return filter(lastCommon,lastCommonIndex,ancestries);}else{return lastCommon;}}else{throw new Error("Couldn't find intersection");}}function getAncestry(){var path=this;var paths=[];do{paths.push(path);}while(path=path.parentPath);return paths;}function isAncestor(maybeDescendant){return maybeDescendant.isDescendant(this);}function isDescendant(maybeAncestor){return!!this.findParent(function(parent){return parent===maybeAncestor;});}function inType(){var path=this;while(path){for(var _iterator3=arguments,_isArray3=Array.isArray(_iterator3),_i3=0,_iterator3=_isArray3?_iterator3:(0,_getIterator3.default)(_iterator3);;){var _ref3;if(_isArray3){if(_i3>=_iterator3.length)break;_ref3=_iterator3[_i3++];}else{_i3=_iterator3.next();if(_i3.done)break;_ref3=_i3.value;}var type=_ref3;if(path.node.type===type)return true;}path=path.parentPath;}return false;}function inShadow(key){var parentFn=this.isFunction()?this:this.findParent(function(p){return p.isFunction();});if(!parentFn)return;if(parentFn.isFunctionExpression()||parentFn.isFunctionDeclaration()){var shadow=parentFn.node.shadow;if(shadow&&(!key||shadow[key]!==false)){return parentFn;}}else if(parentFn.isArrowFunctionExpression()){return parentFn;}return null;}},{"./index":30,"babel-runtime/core-js/get-iterator":61,"babel-types":56}],25:[function(require,module,exports){"use strict";exports.__esModule=true;exports.shareCommentsWithSiblings=shareCommentsWithSiblings;exports.addComment=addComment;exports.addComments=addComments;function shareCommentsWithSiblings(){if(typeof this.key==="string")return;var node=this.node;if(!node)return;var trailing=node.trailingComments;var leading=node.leadingComments;if(!trailing&&!leading)return;var prev=this.getSibling(this.key-1);var next=this.getSibling(this.key+1);if(!prev.node)prev=next;if(!next.node)next=prev;prev.addComments("trailing",leading);next.addComments("leading",trailing);}function addComment(type,content,line){this.addComments(type,[{type:line?"CommentLine":"CommentBlock",value:content}]);}function addComments(type,comments){if(!comments)return;var node=this.node;if(!node)return;var key=type+"Comments";if(node[key]){node[key]=node[key].concat(comments);}else{node[key]=comments;}}},{}],26:[function(require,module,exports){"use strict";exports.__esModule=true;var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);exports.call=call;exports._call=_call;exports.isBlacklisted=isBlacklisted;exports.visit=visit;exports.skip=skip;exports.skipKey=skipKey;exports.stop=stop;exports.setScope=setScope;exports.setContext=setContext;exports.resync=resync;exports._resyncParent=_resyncParent;exports._resyncKey=_resyncKey;exports._resyncList=_resyncList;exports._resyncRemoved=_resyncRemoved;exports.popContext=popContext;exports.pushContext=pushContext;exports.setup=setup;exports.setKey=setKey;exports.requeue=requeue;exports._getQueueContexts=_getQueueContexts;var _index=require("../index");var _index2=_interopRequireDefault(_index);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function call(key){var opts=this.opts;this.debug(function(){return key;});if(this.node){if(this._call(opts[key]))return true;}if(this.node){return this._call(opts[this.node.type]&&opts[this.node.type][key]);}return false;}function _call(fns){if(!fns)return false;for(var _iterator=fns,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var fn=_ref;if(!fn)continue;var node=this.node;if(!node)return true;var ret=fn.call(this.state,this,this.state);if(ret)throw new Error("Unexpected return value from visitor method "+fn);if(this.node!==node)return true;if(this.shouldStop||this.shouldSkip||this.removed)return true;}return false;}function isBlacklisted(){var blacklist=this.opts.blacklist;return blacklist&&blacklist.indexOf(this.node.type)>-1;}function visit(){if(!this.node){return false;}if(this.isBlacklisted()){return false;}if(this.opts.shouldSkip&&this.opts.shouldSkip(this)){return false;}if(this.call("enter")||this.shouldSkip){this.debug(function(){return"Skip...";});return this.shouldStop;}this.debug(function(){return"Recursing into...";});_index2.default.node(this.node,this.opts,this.scope,this.state,this,this.skipKeys);this.call("exit");return this.shouldStop;}function skip(){this.shouldSkip=true;}function skipKey(key){this.skipKeys[key]=true;}function stop(){this.shouldStop=true;this.shouldSkip=true;}function setScope(){if(this.opts&&this.opts.noScope)return;var target=this.context&&this.context.scope;if(!target){var path=this.parentPath;while(path&&!target){if(path.opts&&path.opts.noScope)return;target=path.scope;path=path.parentPath;}}this.scope=this.getScope(target);if(this.scope)this.scope.init();}function setContext(context){this.shouldSkip=false;this.shouldStop=false;this.removed=false;this.skipKeys={};if(context){this.context=context;this.state=context.state;this.opts=context.opts;}this.setScope();return this;}function resync(){if(this.removed)return;this._resyncParent();this._resyncList();this._resyncKey();}function _resyncParent(){if(this.parentPath){this.parent=this.parentPath.node;}}function _resyncKey(){if(!this.container)return;if(this.node===this.container[this.key])return;if(Array.isArray(this.container)){for(var i=0;i<this.container.length;i++){if(this.container[i]===this.node){return this.setKey(i);}}}else{for(var key in this.container){if(this.container[key]===this.node){return this.setKey(key);}}}this.key=null;}function _resyncList(){if(!this.parent||!this.inList)return;var newContainer=this.parent[this.listKey];if(this.container===newContainer)return;this.container=newContainer||null;}function _resyncRemoved(){if(this.key==null||!this.container||this.container[this.key]!==this.node){this._markRemoved();}}function popContext(){this.contexts.pop();this.setContext(this.contexts[this.contexts.length-1]);}function pushContext(context){this.contexts.push(context);this.setContext(context);}function setup(parentPath,container,listKey,key){this.inList=!!listKey;this.listKey=listKey;this.parentKey=listKey||key;this.container=container;this.parentPath=parentPath||this.parentPath;this.setKey(key);}function setKey(key){this.key=key;this.node=this.container[this.key];this.type=this.node&&this.node.type;}function requeue(){var pathToQueue=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this;if(pathToQueue.removed)return;var contexts=this.contexts;for(var _iterator2=contexts,_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:(0,_getIterator3.default)(_iterator2);;){var _ref2;if(_isArray2){if(_i2>=_iterator2.length)break;_ref2=_iterator2[_i2++];}else{_i2=_iterator2.next();if(_i2.done)break;_ref2=_i2.value;}var context=_ref2;context.maybeQueue(pathToQueue);}}function _getQueueContexts(){var path=this;var contexts=this.contexts;while(!contexts.length){path=path.parentPath;contexts=path.contexts;}return contexts;}},{"../index":23,"babel-runtime/core-js/get-iterator":61}],27:[function(require,module,exports){"use strict";exports.__esModule=true;exports.toComputedKey=toComputedKey;exports.ensureBlock=ensureBlock;exports.arrowFunctionToShadowed=arrowFunctionToShadowed;var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function toComputedKey(){var node=this.node;var key=void 0;if(this.isMemberExpression()){key=node.property;}else if(this.isProperty()||this.isMethod()){key=node.key;}else{throw new ReferenceError("todo");}if(!node.computed){if(t.isIdentifier(key))key=t.stringLiteral(key.name);}return key;}function ensureBlock(){return t.ensureBlock(this.node);}function arrowFunctionToShadowed(){if(!this.isArrowFunctionExpression())return;this.ensureBlock();var node=this.node;node.expression=false;node.type="FunctionExpression";node.shadow=node.shadow||true;}},{"babel-types":56}],28:[function(require,module,exports){(function(global){"use strict";exports.__esModule=true;var _typeof2=require("babel-runtime/helpers/typeof");var _typeof3=_interopRequireDefault(_typeof2);var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);var _map=require("babel-runtime/core-js/map");var _map2=_interopRequireDefault(_map);exports.evaluateTruthy=evaluateTruthy;exports.evaluate=evaluate;function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var VALID_CALLEES=["String","Number","Math"];var INVALID_METHODS=["random"];function evaluateTruthy(){var res=this.evaluate();if(res.confident)return!!res.value;}function evaluate(){var confident=true;var deoptPath=void 0;var seen=new _map2.default();function deopt(path){if(!confident)return;deoptPath=path;confident=false;}var value=evaluate(this);if(!confident)value=undefined;return{confident:confident,deopt:deoptPath,value:value};function evaluate(path){var node=path.node;if(seen.has(node)){var existing=seen.get(node);if(existing.resolved){return existing.value;}else{deopt(path);return;}}else{var item={resolved:false};seen.set(node,item);var val=_evaluate(path);if(confident){item.resolved=true;item.value=val;}return val;}}function _evaluate(path){if(!confident)return;var node=path.node;if(path.isSequenceExpression()){var exprs=path.get("expressions");return evaluate(exprs[exprs.length-1]);}if(path.isStringLiteral()||path.isNumericLiteral()||path.isBooleanLiteral()){return node.value;}if(path.isNullLiteral()){return null;}if(path.isTemplateLiteral()){var str="";var i=0;var _exprs=path.get("expressions");for(var _iterator=node.quasis,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var elem=_ref;if(!confident)break;str+=elem.value.cooked;var expr=_exprs[i++];if(expr)str+=String(evaluate(expr));}if(!confident)return;return str;}if(path.isConditionalExpression()){var testResult=evaluate(path.get("test"));if(!confident)return;if(testResult){return evaluate(path.get("consequent"));}else{return evaluate(path.get("alternate"));}}if(path.isExpressionWrapper()){return evaluate(path.get("expression"));}if(path.isMemberExpression()&&!path.parentPath.isCallExpression({callee:node})){var property=path.get("property");var object=path.get("object");if(object.isLiteral()&&property.isIdentifier()){var _value=object.node.value;var type=typeof _value==="undefined"?"undefined":(0,_typeof3.default)(_value);if(type==="number"||type==="string"){return _value[property.node.name];}}}if(path.isReferencedIdentifier()){var binding=path.scope.getBinding(node.name);if(binding&&binding.constantViolations.length>0){return deopt(binding.path);}if(binding&&path.node.start<binding.path.node.end){return deopt(binding.path);}if(binding&&binding.hasValue){return binding.value;}else{if(node.name==="undefined"){return binding?deopt(binding.path):undefined;}else if(node.name==="Infinity"){return binding?deopt(binding.path):Infinity;}else if(node.name==="NaN"){return binding?deopt(binding.path):NaN;}var resolved=path.resolve();if(resolved===path){return deopt(path);}else{return evaluate(resolved);}}}if(path.isUnaryExpression({prefix:true})){if(node.operator==="void"){return undefined;}var argument=path.get("argument");if(node.operator==="typeof"&&(argument.isFunction()||argument.isClass())){return"function";}var arg=evaluate(argument);if(!confident)return;switch(node.operator){case"!":return!arg;case"+":return+arg;case"-":return-arg;case"~":return~arg;case"typeof":return typeof arg==="undefined"?"undefined":(0,_typeof3.default)(arg);}}if(path.isArrayExpression()){var arr=[];var elems=path.get("elements");for(var _iterator2=elems,_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:(0,_getIterator3.default)(_iterator2);;){var _ref2;if(_isArray2){if(_i2>=_iterator2.length)break;_ref2=_iterator2[_i2++];}else{_i2=_iterator2.next();if(_i2.done)break;_ref2=_i2.value;}var _elem=_ref2;_elem=_elem.evaluate();if(_elem.confident){arr.push(_elem.value);}else{return deopt(_elem);}}return arr;}if(path.isObjectExpression()){var obj={};var props=path.get("properties");for(var _iterator3=props,_isArray3=Array.isArray(_iterator3),_i3=0,_iterator3=_isArray3?_iterator3:(0,_getIterator3.default)(_iterator3);;){var _ref3;if(_isArray3){if(_i3>=_iterator3.length)break;_ref3=_iterator3[_i3++];}else{_i3=_iterator3.next();if(_i3.done)break;_ref3=_i3.value;}var prop=_ref3;if(prop.isObjectMethod()||prop.isSpreadProperty()){return deopt(prop);}var keyPath=prop.get("key");var key=keyPath;if(prop.node.computed){key=key.evaluate();if(!key.confident){return deopt(keyPath);}key=key.value;}else if(key.isIdentifier()){key=key.node.name;}else{key=key.node.value;}var valuePath=prop.get("value");var _value2=valuePath.evaluate();if(!_value2.confident){return deopt(valuePath);}_value2=_value2.value;obj[key]=_value2;}return obj;}if(path.isLogicalExpression()){var wasConfident=confident;var left=evaluate(path.get("left"));var leftConfident=confident;confident=wasConfident;var right=evaluate(path.get("right"));var rightConfident=confident;confident=leftConfident&&rightConfident;switch(node.operator){case"||":if(left&&leftConfident){confident=true;return left;}if(!confident)return;return left||right;case"&&":if(!left&&leftConfident||!right&&rightConfident){confident=true;}if(!confident)return;return left&&right;}}if(path.isBinaryExpression()){var _left=evaluate(path.get("left"));if(!confident)return;var _right=evaluate(path.get("right"));if(!confident)return;switch(node.operator){case"-":return _left-_right;case"+":return _left+_right;case"/":return _left/_right;case"*":return _left*_right;case"%":return _left%_right;case"**":return Math.pow(_left,_right);case"<":return _left<_right;case">":return _left>_right;case"<=":return _left<=_right;case">=":return _left>=_right;case"==":return _left==_right;case"!=":return _left!=_right;case"===":return _left===_right;case"!==":return _left!==_right;case"|":return _left|_right;case"&":return _left&_right;case"^":return _left^_right;case"<<":return _left<<_right;case">>":return _left>>_right;case">>>":return _left>>>_right;}}if(path.isCallExpression()){var callee=path.get("callee");var context=void 0;var func=void 0;if(callee.isIdentifier()&&!path.scope.getBinding(callee.node.name,true)&&VALID_CALLEES.indexOf(callee.node.name)>=0){func=global[node.callee.name];}if(callee.isMemberExpression()){var _object=callee.get("object");var _property=callee.get("property");if(_object.isIdentifier()&&_property.isIdentifier()&&VALID_CALLEES.indexOf(_object.node.name)>=0&&INVALID_METHODS.indexOf(_property.node.name)<0){context=global[_object.node.name];func=context[_property.node.name];}if(_object.isLiteral()&&_property.isIdentifier()){var _type=(0,_typeof3.default)(_object.node.value);if(_type==="string"||_type==="number"){context=_object.node.value;func=context[_property.node.name];}}}if(func){var args=path.get("arguments").map(evaluate);if(!confident)return;return func.apply(context,args);}}deopt(path);}}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"babel-runtime/core-js/get-iterator":61,"babel-runtime/core-js/map":63,"babel-runtime/helpers/typeof":73}],29:[function(require,module,exports){"use strict";exports.__esModule=true;var _create=require("babel-runtime/core-js/object/create");var _create2=_interopRequireDefault(_create);var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);exports.getStatementParent=getStatementParent;exports.getOpposite=getOpposite;exports.getCompletionRecords=getCompletionRecords;exports.getSibling=getSibling;exports.getPrevSibling=getPrevSibling;exports.getNextSibling=getNextSibling;exports.getAllNextSiblings=getAllNextSiblings;exports.getAllPrevSiblings=getAllPrevSiblings;exports.get=get;exports._getKey=_getKey;exports._getPattern=_getPattern;exports.getBindingIdentifiers=getBindingIdentifiers;exports.getOuterBindingIdentifiers=getOuterBindingIdentifiers;exports.getBindingIdentifierPaths=getBindingIdentifierPaths;exports.getOuterBindingIdentifierPaths=getOuterBindingIdentifierPaths;var _index=require("./index");var _index2=_interopRequireDefault(_index);var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function getStatementParent(){var path=this;do{if(!path.parentPath||Array.isArray(path.container)&&path.isStatement()){break;}else{path=path.parentPath;}}while(path);if(path&&(path.isProgram()||path.isFile())){throw new Error("File/Program node, we can't possibly find a statement parent to this");}return path;}function getOpposite(){if(this.key==="left"){return this.getSibling("right");}else if(this.key==="right"){return this.getSibling("left");}}function getCompletionRecords(){var paths=[];var add=function add(path){if(path)paths=paths.concat(path.getCompletionRecords());};if(this.isIfStatement()){add(this.get("consequent"));add(this.get("alternate"));}else if(this.isDoExpression()||this.isFor()||this.isWhile()){add(this.get("body"));}else if(this.isProgram()||this.isBlockStatement()){add(this.get("body").pop());}else if(this.isFunction()){return this.get("body").getCompletionRecords();}else if(this.isTryStatement()){add(this.get("block"));add(this.get("handler"));add(this.get("finalizer"));}else{paths.push(this);}return paths;}function getSibling(key){return _index2.default.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:key});}function getPrevSibling(){return this.getSibling(this.key-1);}function getNextSibling(){return this.getSibling(this.key+1);}function getAllNextSiblings(){var _key=this.key;var sibling=this.getSibling(++_key);var siblings=[];while(sibling.node){siblings.push(sibling);sibling=this.getSibling(++_key);}return siblings;}function getAllPrevSiblings(){var _key=this.key;var sibling=this.getSibling(--_key);var siblings=[];while(sibling.node){siblings.push(sibling);sibling=this.getSibling(--_key);}return siblings;}function get(key,context){if(context===true)context=this.context;var parts=key.split(".");if(parts.length===1){return this._getKey(key,context);}else{return this._getPattern(parts,context);}}function _getKey(key,context){var _this=this;var node=this.node;var container=node[key];if(Array.isArray(container)){return container.map(function(_,i){return _index2.default.get({listKey:key,parentPath:_this,parent:node,container:container,key:i}).setContext(context);});}else{return _index2.default.get({parentPath:this,parent:node,container:node,key:key}).setContext(context);}}function _getPattern(parts,context){var path=this;for(var _iterator=parts,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var part=_ref;if(part==="."){path=path.parentPath;}else{if(Array.isArray(path)){path=path[part];}else{path=path.get(part,context);}}}return path;}function getBindingIdentifiers(duplicates){return t.getBindingIdentifiers(this.node,duplicates);}function getOuterBindingIdentifiers(duplicates){return t.getOuterBindingIdentifiers(this.node,duplicates);}function getBindingIdentifierPaths(){var duplicates=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var outerOnly=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var path=this;var search=[].concat(path);var ids=(0,_create2.default)(null);while(search.length){var id=search.shift();if(!id)continue;if(!id.node)continue;var keys=t.getBindingIdentifiers.keys[id.node.type];if(id.isIdentifier()){if(duplicates){var _ids=ids[id.node.name]=ids[id.node.name]||[];_ids.push(id);}else{ids[id.node.name]=id;}continue;}if(id.isExportDeclaration()){var declaration=id.get("declaration");if(declaration.isDeclaration()){search.push(declaration);}continue;}if(outerOnly){if(id.isFunctionDeclaration()){search.push(id.get("id"));continue;}if(id.isFunctionExpression()){continue;}}if(keys){for(var i=0;i<keys.length;i++){var key=keys[i];var child=id.get(key);if(Array.isArray(child)||child.node){search=search.concat(child);}}}}return ids;}function getOuterBindingIdentifierPaths(duplicates){return this.getBindingIdentifierPaths(duplicates,true);}},{"./index":30,"babel-runtime/core-js/get-iterator":61,"babel-runtime/core-js/object/create":65,"babel-types":56}],30:[function(require,module,exports){"use strict";exports.__esModule=true;var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);var _classCallCheck2=require("babel-runtime/helpers/classCallCheck");var _classCallCheck3=_interopRequireDefault(_classCallCheck2);var _virtualTypes=require("./lib/virtual-types");var virtualTypes=_interopRequireWildcard(_virtualTypes);var _debug2=require("debug");var _debug3=_interopRequireDefault(_debug2);var _invariant=require("invariant");var _invariant2=_interopRequireDefault(_invariant);var _index=require("../index");var _index2=_interopRequireDefault(_index);var _assign=require("lodash/assign");var _assign2=_interopRequireDefault(_assign);var _scope=require("../scope");var _scope2=_interopRequireDefault(_scope);var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);var _cache=require("../cache");function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var _debug=(0,_debug3.default)("babel");var NodePath=function(){function NodePath(hub,parent){(0,_classCallCheck3.default)(this,NodePath);this.parent=parent;this.hub=hub;this.contexts=[];this.data={};this.shouldSkip=false;this.shouldStop=false;this.removed=false;this.state=null;this.opts=null;this.skipKeys=null;this.parentPath=null;this.context=null;this.container=null;this.listKey=null;this.inList=false;this.parentKey=null;this.key=null;this.node=null;this.scope=null;this.type=null;this.typeAnnotation=null;}NodePath.get=function get(_ref){var hub=_ref.hub,parentPath=_ref.parentPath,parent=_ref.parent,container=_ref.container,listKey=_ref.listKey,key=_ref.key;if(!hub&&parentPath){hub=parentPath.hub;}(0,_invariant2.default)(parent,"To get a node path the parent needs to exist");var targetNode=container[key];var paths=_cache.path.get(parent)||[];if(!_cache.path.has(parent)){_cache.path.set(parent,paths);}var path=void 0;for(var i=0;i<paths.length;i++){var pathCheck=paths[i];if(pathCheck.node===targetNode){path=pathCheck;break;}}if(!path){path=new NodePath(hub,parent);paths.push(path);}path.setup(parentPath,container,listKey,key);return path;};NodePath.prototype.getScope=function getScope(scope){var ourScope=scope;if(this.isScope()){ourScope=new _scope2.default(this,scope);}return ourScope;};NodePath.prototype.setData=function setData(key,val){return this.data[key]=val;};NodePath.prototype.getData=function getData(key,def){var val=this.data[key];if(!val&&def)val=this.data[key]=def;return val;};NodePath.prototype.buildCodeFrameError=function buildCodeFrameError(msg){var Error=arguments.length>1&&arguments[1]!==undefined?arguments[1]:SyntaxError;return this.hub.file.buildCodeFrameError(this.node,msg,Error);};NodePath.prototype.traverse=function traverse(visitor,state){(0,_index2.default)(this.node,visitor,this.scope,state,this);};NodePath.prototype.mark=function mark(type,message){this.hub.file.metadata.marked.push({type:type,message:message,loc:this.node.loc});};NodePath.prototype.set=function set(key,node){t.validate(this.node,key,node);this.node[key]=node;};NodePath.prototype.getPathLocation=function getPathLocation(){var parts=[];var path=this;do{var key=path.key;if(path.inList)key=path.listKey+"["+key+"]";parts.unshift(key);}while(path=path.parentPath);return parts.join(".");};NodePath.prototype.debug=function debug(buildMessage){if(!_debug.enabled)return;_debug(this.getPathLocation()+" "+this.type+": "+buildMessage());};return NodePath;}();exports.default=NodePath;(0,_assign2.default)(NodePath.prototype,require("./ancestry"));(0,_assign2.default)(NodePath.prototype,require("./inference"));(0,_assign2.default)(NodePath.prototype,require("./replacement"));(0,_assign2.default)(NodePath.prototype,require("./evaluation"));(0,_assign2.default)(NodePath.prototype,require("./conversion"));(0,_assign2.default)(NodePath.prototype,require("./introspection"));(0,_assign2.default)(NodePath.prototype,require("./context"));(0,_assign2.default)(NodePath.prototype,require("./removal"));(0,_assign2.default)(NodePath.prototype,require("./modification"));(0,_assign2.default)(NodePath.prototype,require("./family"));(0,_assign2.default)(NodePath.prototype,require("./comments"));var _loop2=function _loop2(){if(_isArray){if(_i>=_iterator.length)return"break";_ref2=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)return"break";_ref2=_i.value;}var type=_ref2;var typeKey="is"+type;NodePath.prototype[typeKey]=function(opts){return t[typeKey](this.node,opts);};NodePath.prototype["assert"+type]=function(opts){if(!this[typeKey](opts)){throw new TypeError("Expected node path of type "+type);}};};for(var _iterator=t.TYPES,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref2;var _ret2=_loop2();if(_ret2==="break")break;}var _loop=function _loop(type){if(type[0]==="_")return"continue";if(t.TYPES.indexOf(type)<0)t.TYPES.push(type);var virtualType=virtualTypes[type];NodePath.prototype["is"+type]=function(opts){return virtualType.checkPath(this,opts);};};for(var type in virtualTypes){var _ret=_loop(type);if(_ret==="continue")continue;}module.exports=exports["default"];},{"../cache":20,"../index":23,"../scope":42,"./ancestry":24,"./comments":25,"./context":26,"./conversion":27,"./evaluation":28,"./family":29,"./inference":31,"./introspection":34,"./lib/virtual-types":37,"./modification":38,"./removal":39,"./replacement":40,"babel-runtime/core-js/get-iterator":61,"babel-runtime/helpers/classCallCheck":72,"babel-types":56,"debug":179,"invariant":378,"lodash/assign":543}],31:[function(require,module,exports){"use strict";exports.__esModule=true;var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);exports.getTypeAnnotation=getTypeAnnotation;exports._getTypeAnnotation=_getTypeAnnotation;exports.isBaseType=isBaseType;exports.couldBeBaseType=couldBeBaseType;exports.baseTypeStrictlyMatches=baseTypeStrictlyMatches;exports.isGenericType=isGenericType;var _inferers=require("./inferers");var inferers=_interopRequireWildcard(_inferers);var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function getTypeAnnotation(){if(this.typeAnnotation)return this.typeAnnotation;var type=this._getTypeAnnotation()||t.anyTypeAnnotation();if(t.isTypeAnnotation(type))type=type.typeAnnotation;return this.typeAnnotation=type;}function _getTypeAnnotation(){var node=this.node;if(!node){if(this.key==="init"&&this.parentPath.isVariableDeclarator()){var declar=this.parentPath.parentPath;var declarParent=declar.parentPath;if(declar.key==="left"&&declarParent.isForInStatement()){return t.stringTypeAnnotation();}if(declar.key==="left"&&declarParent.isForOfStatement()){return t.anyTypeAnnotation();}return t.voidTypeAnnotation();}else{return;}}if(node.typeAnnotation){return node.typeAnnotation;}var inferer=inferers[node.type];if(inferer){return inferer.call(this,node);}inferer=inferers[this.parentPath.type];if(inferer&&inferer.validParent){return this.parentPath.getTypeAnnotation();}}function isBaseType(baseName,soft){return _isBaseType(baseName,this.getTypeAnnotation(),soft);}function _isBaseType(baseName,type,soft){if(baseName==="string"){return t.isStringTypeAnnotation(type);}else if(baseName==="number"){return t.isNumberTypeAnnotation(type);}else if(baseName==="boolean"){return t.isBooleanTypeAnnotation(type);}else if(baseName==="any"){return t.isAnyTypeAnnotation(type);}else if(baseName==="mixed"){return t.isMixedTypeAnnotation(type);}else if(baseName==="empty"){return t.isEmptyTypeAnnotation(type);}else if(baseName==="void"){return t.isVoidTypeAnnotation(type);}else{if(soft){return false;}else{throw new Error("Unknown base type "+baseName);}}}function couldBeBaseType(name){var type=this.getTypeAnnotation();if(t.isAnyTypeAnnotation(type))return true;if(t.isUnionTypeAnnotation(type)){for(var _iterator=type.types,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var type2=_ref;if(t.isAnyTypeAnnotation(type2)||_isBaseType(name,type2,true)){return true;}}return false;}else{return _isBaseType(name,type,true);}}function baseTypeStrictlyMatches(right){var left=this.getTypeAnnotation();right=right.getTypeAnnotation();if(!t.isAnyTypeAnnotation(left)&&t.isFlowBaseAnnotation(left)){return right.type===left.type;}}function isGenericType(genericName){var type=this.getTypeAnnotation();return t.isGenericTypeAnnotation(type)&&t.isIdentifier(type.id,{name:genericName});}},{"./inferers":33,"babel-runtime/core-js/get-iterator":61,"babel-types":56}],32:[function(require,module,exports){"use strict";exports.__esModule=true;var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);exports.default=function(node){if(!this.isReferenced())return;var binding=this.scope.getBinding(node.name);if(binding){if(binding.identifier.typeAnnotation){return binding.identifier.typeAnnotation;}else{return getTypeAnnotationBindingConstantViolations(this,node.name);}}if(node.name==="undefined"){return t.voidTypeAnnotation();}else if(node.name==="NaN"||node.name==="Infinity"){return t.numberTypeAnnotation();}else if(node.name==="arguments"){}};var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function getTypeAnnotationBindingConstantViolations(path,name){var binding=path.scope.getBinding(name);var types=[];path.typeAnnotation=t.unionTypeAnnotation(types);var functionConstantViolations=[];var constantViolations=getConstantViolationsBefore(binding,path,functionConstantViolations);var testType=getConditionalAnnotation(path,name);if(testType){(function(){var testConstantViolations=getConstantViolationsBefore(binding,testType.ifStatement);constantViolations=constantViolations.filter(function(path){return testConstantViolations.indexOf(path)<0;});types.push(testType.typeAnnotation);})();}if(constantViolations.length){constantViolations=constantViolations.concat(functionConstantViolations);for(var _iterator=constantViolations,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var violation=_ref;types.push(violation.getTypeAnnotation());}}if(types.length){return t.createUnionTypeAnnotation(types);}}function getConstantViolationsBefore(binding,path,functions){var violations=binding.constantViolations.slice();violations.unshift(binding.path);return violations.filter(function(violation){violation=violation.resolve();var status=violation._guessExecutionStatusRelativeTo(path);if(functions&&status==="function")functions.push(violation);return status==="before";});}function inferAnnotationFromBinaryExpression(name,path){var operator=path.node.operator;var right=path.get("right").resolve();var left=path.get("left").resolve();var target=void 0;if(left.isIdentifier({name:name})){target=right;}else if(right.isIdentifier({name:name})){target=left;}if(target){if(operator==="==="){return target.getTypeAnnotation();}else if(t.BOOLEAN_NUMBER_BINARY_OPERATORS.indexOf(operator)>=0){return t.numberTypeAnnotation();}else{return;}}else{if(operator!=="===")return;}var typeofPath=void 0;var typePath=void 0;if(left.isUnaryExpression({operator:"typeof"})){typeofPath=left;typePath=right;}else if(right.isUnaryExpression({operator:"typeof"})){typeofPath=right;typePath=left;}if(!typePath&&!typeofPath)return;typePath=typePath.resolve();if(!typePath.isLiteral())return;var typeValue=typePath.node.value;if(typeof typeValue!=="string")return;if(!typeofPath.get("argument").isIdentifier({name:name}))return;return t.createTypeAnnotationBasedOnTypeof(typePath.node.value);}function getParentConditionalPath(path){var parentPath=void 0;while(parentPath=path.parentPath){if(parentPath.isIfStatement()||parentPath.isConditionalExpression()){if(path.key==="test"){return;}else{return parentPath;}}else{path=parentPath;}}}function getConditionalAnnotation(path,name){var ifStatement=getParentConditionalPath(path);if(!ifStatement)return;var test=ifStatement.get("test");var paths=[test];var types=[];do{var _path=paths.shift().resolve();if(_path.isLogicalExpression()){paths.push(_path.get("left"));paths.push(_path.get("right"));}if(_path.isBinaryExpression()){var type=inferAnnotationFromBinaryExpression(name,_path);if(type)types.push(type);}}while(paths.length);if(types.length){return{typeAnnotation:t.createUnionTypeAnnotation(types),ifStatement:ifStatement};}else{return getConditionalAnnotation(ifStatement,name);}}module.exports=exports["default"];},{"babel-runtime/core-js/get-iterator":61,"babel-types":56}],33:[function(require,module,exports){"use strict";exports.__esModule=true;exports.ClassDeclaration=exports.ClassExpression=exports.FunctionDeclaration=exports.ArrowFunctionExpression=exports.FunctionExpression=exports.Identifier=undefined;var _infererReference=require("./inferer-reference");Object.defineProperty(exports,"Identifier",{enumerable:true,get:function get(){return _interopRequireDefault(_infererReference).default;}});exports.VariableDeclarator=VariableDeclarator;exports.TypeCastExpression=TypeCastExpression;exports.NewExpression=NewExpression;exports.TemplateLiteral=TemplateLiteral;exports.UnaryExpression=UnaryExpression;exports.BinaryExpression=BinaryExpression;exports.LogicalExpression=LogicalExpression;exports.ConditionalExpression=ConditionalExpression;exports.SequenceExpression=SequenceExpression;exports.AssignmentExpression=AssignmentExpression;exports.UpdateExpression=UpdateExpression;exports.StringLiteral=StringLiteral;exports.NumericLiteral=NumericLiteral;exports.BooleanLiteral=BooleanLiteral;exports.NullLiteral=NullLiteral;exports.RegExpLiteral=RegExpLiteral;exports.ObjectExpression=ObjectExpression;exports.ArrayExpression=ArrayExpression;exports.RestElement=RestElement;exports.CallExpression=CallExpression;exports.TaggedTemplateExpression=TaggedTemplateExpression;var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function VariableDeclarator(){var id=this.get("id");if(id.isIdentifier()){return this.get("init").getTypeAnnotation();}else{return;}}function TypeCastExpression(node){return node.typeAnnotation;}TypeCastExpression.validParent=true;function NewExpression(node){if(this.get("callee").isIdentifier()){return t.genericTypeAnnotation(node.callee);}}function TemplateLiteral(){return t.stringTypeAnnotation();}function UnaryExpression(node){var operator=node.operator;if(operator==="void"){return t.voidTypeAnnotation();}else if(t.NUMBER_UNARY_OPERATORS.indexOf(operator)>=0){return t.numberTypeAnnotation();}else if(t.STRING_UNARY_OPERATORS.indexOf(operator)>=0){return t.stringTypeAnnotation();}else if(t.BOOLEAN_UNARY_OPERATORS.indexOf(operator)>=0){return t.booleanTypeAnnotation();}}function BinaryExpression(node){var operator=node.operator;if(t.NUMBER_BINARY_OPERATORS.indexOf(operator)>=0){return t.numberTypeAnnotation();}else if(t.BOOLEAN_BINARY_OPERATORS.indexOf(operator)>=0){return t.booleanTypeAnnotation();}else if(operator==="+"){var right=this.get("right");var left=this.get("left");if(left.isBaseType("number")&&right.isBaseType("number")){return t.numberTypeAnnotation();}else if(left.isBaseType("string")||right.isBaseType("string")){return t.stringTypeAnnotation();}return t.unionTypeAnnotation([t.stringTypeAnnotation(),t.numberTypeAnnotation()]);}}function LogicalExpression(){return t.createUnionTypeAnnotation([this.get("left").getTypeAnnotation(),this.get("right").getTypeAnnotation()]);}function ConditionalExpression(){return t.createUnionTypeAnnotation([this.get("consequent").getTypeAnnotation(),this.get("alternate").getTypeAnnotation()]);}function SequenceExpression(){return this.get("expressions").pop().getTypeAnnotation();}function AssignmentExpression(){return this.get("right").getTypeAnnotation();}function UpdateExpression(node){var operator=node.operator;if(operator==="++"||operator==="--"){return t.numberTypeAnnotation();}}function StringLiteral(){return t.stringTypeAnnotation();}function NumericLiteral(){return t.numberTypeAnnotation();}function BooleanLiteral(){return t.booleanTypeAnnotation();}function NullLiteral(){return t.nullLiteralTypeAnnotation();}function RegExpLiteral(){return t.genericTypeAnnotation(t.identifier("RegExp"));}function ObjectExpression(){return t.genericTypeAnnotation(t.identifier("Object"));}function ArrayExpression(){return t.genericTypeAnnotation(t.identifier("Array"));}function RestElement(){return ArrayExpression();}RestElement.validParent=true;function Func(){return t.genericTypeAnnotation(t.identifier("Function"));}exports.FunctionExpression=Func;exports.ArrowFunctionExpression=Func;exports.FunctionDeclaration=Func;exports.ClassExpression=Func;exports.ClassDeclaration=Func;function CallExpression(){return resolveCall(this.get("callee"));}function TaggedTemplateExpression(){return resolveCall(this.get("tag"));}function resolveCall(callee){callee=callee.resolve();if(callee.isFunction()){if(callee.is("async")){if(callee.is("generator")){return t.genericTypeAnnotation(t.identifier("AsyncIterator"));}else{return t.genericTypeAnnotation(t.identifier("Promise"));}}else{if(callee.node.returnType){return callee.node.returnType;}else{}}}}},{"./inferer-reference":32,"babel-types":56}],34:[function(require,module,exports){"use strict";exports.__esModule=true;exports.is=undefined;var _typeof2=require("babel-runtime/helpers/typeof");var _typeof3=_interopRequireDefault(_typeof2);var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);exports.matchesPattern=matchesPattern;exports.has=has;exports.isStatic=isStatic;exports.isnt=isnt;exports.equals=equals;exports.isNodeType=isNodeType;exports.canHaveVariableDeclarationOrExpression=canHaveVariableDeclarationOrExpression;exports.canSwapBetweenExpressionAndStatement=canSwapBetweenExpressionAndStatement;exports.isCompletionRecord=isCompletionRecord;exports.isStatementOrBlock=isStatementOrBlock;exports.referencesImport=referencesImport;exports.getSource=getSource;exports.willIMaybeExecuteBefore=willIMaybeExecuteBefore;exports._guessExecutionStatusRelativeTo=_guessExecutionStatusRelativeTo;exports._guessExecutionStatusRelativeToDifferentFunctions=_guessExecutionStatusRelativeToDifferentFunctions;exports.resolve=resolve;exports._resolve=_resolve;var _includes=require("lodash/includes");var _includes2=_interopRequireDefault(_includes);var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function matchesPattern(pattern,allowPartial){if(!this.isMemberExpression())return false;var parts=pattern.split(".");var search=[this.node];var i=0;function matches(name){var part=parts[i];return part==="*"||name===part;}while(search.length){var node=search.shift();if(allowPartial&&i===parts.length){return true;}if(t.isIdentifier(node)){if(!matches(node.name))return false;}else if(t.isLiteral(node)){if(!matches(node.value))return false;}else if(t.isMemberExpression(node)){if(node.computed&&!t.isLiteral(node.property)){return false;}else{search.unshift(node.property);search.unshift(node.object);continue;}}else if(t.isThisExpression(node)){if(!matches("this"))return false;}else{return false;}if(++i>parts.length){return false;}}return i===parts.length;}function has(key){var val=this.node&&this.node[key];if(val&&Array.isArray(val)){return!!val.length;}else{return!!val;}}function isStatic(){return this.scope.isStatic(this.node);}var is=exports.is=has;function isnt(key){return!this.has(key);}function equals(key,value){return this.node[key]===value;}function isNodeType(type){return t.isType(this.type,type);}function canHaveVariableDeclarationOrExpression(){return(this.key==="init"||this.key==="left")&&this.parentPath.isFor();}function canSwapBetweenExpressionAndStatement(replacement){if(this.key!=="body"||!this.parentPath.isArrowFunctionExpression()){return false;}if(this.isExpression()){return t.isBlockStatement(replacement);}else if(this.isBlockStatement()){return t.isExpression(replacement);}return false;}function isCompletionRecord(allowInsideFunction){var path=this;var first=true;do{var container=path.container;if(path.isFunction()&&!first){return!!allowInsideFunction;}first=false;if(Array.isArray(container)&&path.key!==container.length-1){return false;}}while((path=path.parentPath)&&!path.isProgram());return true;}function isStatementOrBlock(){if(this.parentPath.isLabeledStatement()||t.isBlockStatement(this.container)){return false;}else{return(0,_includes2.default)(t.STATEMENT_OR_BLOCK_KEYS,this.key);}}function referencesImport(moduleSource,importName){if(!this.isReferencedIdentifier())return false;var binding=this.scope.getBinding(this.node.name);if(!binding||binding.kind!=="module")return false;var path=binding.path;var parent=path.parentPath;if(!parent.isImportDeclaration())return false;if(parent.node.source.value===moduleSource){if(!importName)return true;}else{return false;}if(path.isImportDefaultSpecifier()&&importName==="default"){return true;}if(path.isImportNamespaceSpecifier()&&importName==="*"){return true;}if(path.isImportSpecifier()&&path.node.imported.name===importName){return true;}return false;}function getSource(){var node=this.node;if(node.end){return this.hub.file.code.slice(node.start,node.end);}else{return"";}}function willIMaybeExecuteBefore(target){return this._guessExecutionStatusRelativeTo(target)!=="after";}function _guessExecutionStatusRelativeTo(target){var targetFuncParent=target.scope.getFunctionParent();var selfFuncParent=this.scope.getFunctionParent();if(targetFuncParent.node!==selfFuncParent.node){var status=this._guessExecutionStatusRelativeToDifferentFunctions(targetFuncParent);if(status){return status;}else{target=targetFuncParent.path;}}var targetPaths=target.getAncestry();if(targetPaths.indexOf(this)>=0)return"after";var selfPaths=this.getAncestry();var commonPath=void 0;var targetIndex=void 0;var selfIndex=void 0;for(selfIndex=0;selfIndex<selfPaths.length;selfIndex++){var selfPath=selfPaths[selfIndex];targetIndex=targetPaths.indexOf(selfPath);if(targetIndex>=0){commonPath=selfPath;break;}}if(!commonPath){return"before";}var targetRelationship=targetPaths[targetIndex-1];var selfRelationship=selfPaths[selfIndex-1];if(!targetRelationship||!selfRelationship){return"before";}if(targetRelationship.listKey&&targetRelationship.container===selfRelationship.container){return targetRelationship.key>selfRelationship.key?"before":"after";}var targetKeyPosition=t.VISITOR_KEYS[targetRelationship.type].indexOf(targetRelationship.key);var selfKeyPosition=t.VISITOR_KEYS[selfRelationship.type].indexOf(selfRelationship.key);return targetKeyPosition>selfKeyPosition?"before":"after";}function _guessExecutionStatusRelativeToDifferentFunctions(targetFuncParent){var targetFuncPath=targetFuncParent.path;if(!targetFuncPath.isFunctionDeclaration())return;var binding=targetFuncPath.scope.getBinding(targetFuncPath.node.id.name);if(!binding.references)return"before";var referencePaths=binding.referencePaths;for(var _iterator=referencePaths,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var path=_ref;if(path.key!=="callee"||!path.parentPath.isCallExpression()){return;}}var allStatus=void 0;for(var _iterator2=referencePaths,_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:(0,_getIterator3.default)(_iterator2);;){var _ref2;if(_isArray2){if(_i2>=_iterator2.length)break;_ref2=_iterator2[_i2++];}else{_i2=_iterator2.next();if(_i2.done)break;_ref2=_i2.value;}var _path=_ref2;var childOfFunction=!!_path.find(function(path){return path.node===targetFuncPath.node;});if(childOfFunction)continue;var status=this._guessExecutionStatusRelativeTo(_path);if(allStatus){if(allStatus!==status)return;}else{allStatus=status;}}return allStatus;}function resolve(dangerous,resolved){return this._resolve(dangerous,resolved)||this;}function _resolve(dangerous,resolved){var _this=this;if(resolved&&resolved.indexOf(this)>=0)return;resolved=resolved||[];resolved.push(this);if(this.isVariableDeclarator()){if(this.get("id").isIdentifier()){return this.get("init").resolve(dangerous,resolved);}else{}}else if(this.isReferencedIdentifier()){var binding=this.scope.getBinding(this.node.name);if(!binding)return;if(!binding.constant)return;if(binding.kind==="module")return;if(binding.path!==this){var _ret=function(){var ret=binding.path.resolve(dangerous,resolved);if(_this.find(function(parent){return parent.node===ret.node;}))return{v:void 0};return{v:ret};}();if((typeof _ret==="undefined"?"undefined":(0,_typeof3.default)(_ret))==="object")return _ret.v;}}else if(this.isTypeCastExpression()){return this.get("expression").resolve(dangerous,resolved);}else if(dangerous&&this.isMemberExpression()){var targetKey=this.toComputedKey();if(!t.isLiteral(targetKey))return;var targetName=targetKey.value;var target=this.get("object").resolve(dangerous,resolved);if(target.isObjectExpression()){var props=target.get("properties");for(var _iterator3=props,_isArray3=Array.isArray(_iterator3),_i3=0,_iterator3=_isArray3?_iterator3:(0,_getIterator3.default)(_iterator3);;){var _ref3;if(_isArray3){if(_i3>=_iterator3.length)break;_ref3=_iterator3[_i3++];}else{_i3=_iterator3.next();if(_i3.done)break;_ref3=_i3.value;}var prop=_ref3;if(!prop.isProperty())continue;var key=prop.get("key");var match=prop.isnt("computed")&&key.isIdentifier({name:targetName});match=match||key.isLiteral({value:targetName});if(match)return prop.get("value").resolve(dangerous,resolved);}}else if(target.isArrayExpression()&&!isNaN(+targetName)){var elems=target.get("elements");var elem=elems[targetName];if(elem)return elem.resolve(dangerous,resolved);}}}},{"babel-runtime/core-js/get-iterator":61,"babel-runtime/helpers/typeof":73,"babel-types":56,"lodash/includes":550}],35:[function(require,module,exports){"use strict";exports.__esModule=true;var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);var _classCallCheck2=require("babel-runtime/helpers/classCallCheck");var _classCallCheck3=_interopRequireDefault(_classCallCheck2);var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var referenceVisitor={ReferencedIdentifier:function ReferencedIdentifier(path,state){if(path.isJSXIdentifier()&&_babelTypes.react.isCompatTag(path.node.name)&&!path.parentPath.isJSXMemberExpression()){return;}if(path.node.name==="this"){var scope=path.scope;do{if(scope.path.isFunction()&&!scope.path.isArrowFunctionExpression())break;}while(scope=scope.parent);if(scope)state.breakOnScopePaths.push(scope.path);}var binding=path.scope.getBinding(path.node.name);if(!binding)return;if(binding!==state.scope.getBinding(path.node.name))return;state.bindings[path.node.name]=binding;}};var PathHoister=function(){function PathHoister(path,scope){(0,_classCallCheck3.default)(this,PathHoister);this.breakOnScopePaths=[];this.bindings={};this.scopes=[];this.scope=scope;this.path=path;this.attachAfter=false;}PathHoister.prototype.isCompatibleScope=function isCompatibleScope(scope){for(var key in this.bindings){var binding=this.bindings[key];if(!scope.bindingIdentifierEquals(key,binding.identifier)){return false;}}return true;};PathHoister.prototype.getCompatibleScopes=function getCompatibleScopes(){var scope=this.path.scope;do{if(this.isCompatibleScope(scope)){this.scopes.push(scope);}else{break;}if(this.breakOnScopePaths.indexOf(scope.path)>=0){break;}}while(scope=scope.parent);};PathHoister.prototype.getAttachmentPath=function getAttachmentPath(){var path=this._getAttachmentPath();if(!path)return;var targetScope=path.scope;if(targetScope.path===path){targetScope=path.scope.parent;}if(targetScope.path.isProgram()||targetScope.path.isFunction()){for(var name in this.bindings){if(!targetScope.hasOwnBinding(name))continue;var binding=this.bindings[name];if(binding.kind==="param")continue;if(this.getAttachmentParentForPath(binding.path).key>path.key){this.attachAfter=true;path=binding.path;for(var _iterator=binding.constantViolations,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var violationPath=_ref;if(this.getAttachmentParentForPath(violationPath).key>path.key){path=violationPath;}}}}}return path;};PathHoister.prototype._getAttachmentPath=function _getAttachmentPath(){var scopes=this.scopes;var scope=scopes.pop();if(!scope)return;if(scope.path.isFunction()){if(this.hasOwnParamBindings(scope)){if(this.scope===scope)return;return scope.path.get("body").get("body")[0];}else{return this.getNextScopeAttachmentParent();}}else if(scope.path.isProgram()){return this.getNextScopeAttachmentParent();}};PathHoister.prototype.getNextScopeAttachmentParent=function getNextScopeAttachmentParent(){var scope=this.scopes.pop();if(scope)return this.getAttachmentParentForPath(scope.path);};PathHoister.prototype.getAttachmentParentForPath=function getAttachmentParentForPath(path){do{if(!path.parentPath||Array.isArray(path.container)&&path.isStatement()||path.isVariableDeclarator()&&path.parentPath.node!==null&&path.parentPath.node.declarations.length>1)return path;}while(path=path.parentPath);};PathHoister.prototype.hasOwnParamBindings=function hasOwnParamBindings(scope){for(var name in this.bindings){if(!scope.hasOwnBinding(name))continue;var binding=this.bindings[name];if(binding.kind==="param"&&binding.constant)return true;}return false;};PathHoister.prototype.run=function run(){var node=this.path.node;if(node._hoisted)return;node._hoisted=true;this.path.traverse(referenceVisitor,this);this.getCompatibleScopes();var attachTo=this.getAttachmentPath();if(!attachTo)return;if(attachTo.getFunctionParent()===this.path.getFunctionParent())return;var uid=attachTo.scope.generateUidIdentifier("ref");var declarator=t.variableDeclarator(uid,this.path.node);var insertFn=this.attachAfter?"insertAfter":"insertBefore";attachTo[insertFn]([attachTo.isVariableDeclarator()?declarator:t.variableDeclaration("var",[declarator])]);var parent=this.path.parentPath;if(parent.isJSXElement()&&this.path.container===parent.node.children){uid=t.JSXExpressionContainer(uid);}this.path.replaceWith(uid);};return PathHoister;}();exports.default=PathHoister;module.exports=exports["default"];},{"babel-runtime/core-js/get-iterator":61,"babel-runtime/helpers/classCallCheck":72,"babel-types":56}],36:[function(require,module,exports){"use strict";exports.__esModule=true;var hooks=exports.hooks=[function(self,parent){var removeParent=self.key==="test"&&(parent.isWhile()||parent.isSwitchCase())||self.key==="declaration"&&parent.isExportDeclaration()||self.key==="body"&&parent.isLabeledStatement()||self.listKey==="declarations"&&parent.isVariableDeclaration()&&parent.node.declarations.length===1||self.key==="expression"&&parent.isExpressionStatement();if(removeParent){parent.remove();return true;}},function(self,parent){if(parent.isSequenceExpression()&&parent.node.expressions.length===1){parent.replaceWith(parent.node.expressions[0]);return true;}},function(self,parent){if(parent.isBinary()){if(self.key==="left"){parent.replaceWith(parent.node.right);}else{parent.replaceWith(parent.node.left);}return true;}},function(self,parent){if(parent.isIfStatement()&&(self.key==="consequent"||self.key==="alternate")||self.key==="body"&&(parent.isLoop()||parent.isArrowFunctionExpression())){self.replaceWith({type:"BlockStatement",body:[]});return true;}}];},{}],37:[function(require,module,exports){"use strict";exports.__esModule=true;exports.Flow=exports.Pure=exports.Generated=exports.User=exports.Var=exports.BlockScoped=exports.Referenced=exports.Scope=exports.Expression=exports.Statement=exports.BindingIdentifier=exports.ReferencedMemberExpression=exports.ReferencedIdentifier=undefined;var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}var ReferencedIdentifier=exports.ReferencedIdentifier={types:["Identifier","JSXIdentifier"],checkPath:function checkPath(_ref,opts){var node=_ref.node,parent=_ref.parent;if(!t.isIdentifier(node,opts)&&!t.isJSXMemberExpression(parent,opts)){if(t.isJSXIdentifier(node,opts)){if(_babelTypes.react.isCompatTag(node.name))return false;}else{return false;}}return t.isReferenced(node,parent);}};var ReferencedMemberExpression=exports.ReferencedMemberExpression={types:["MemberExpression"],checkPath:function checkPath(_ref2){var node=_ref2.node,parent=_ref2.parent;return t.isMemberExpression(node)&&t.isReferenced(node,parent);}};var BindingIdentifier=exports.BindingIdentifier={types:["Identifier"],checkPath:function checkPath(_ref3){var node=_ref3.node,parent=_ref3.parent;return t.isIdentifier(node)&&t.isBinding(node,parent);}};var Statement=exports.Statement={types:["Statement"],checkPath:function checkPath(_ref4){var node=_ref4.node,parent=_ref4.parent;if(t.isStatement(node)){if(t.isVariableDeclaration(node)){if(t.isForXStatement(parent,{left:node}))return false;if(t.isForStatement(parent,{init:node}))return false;}return true;}else{return false;}}};var Expression=exports.Expression={types:["Expression"],checkPath:function checkPath(path){if(path.isIdentifier()){return path.isReferencedIdentifier();}else{return t.isExpression(path.node);}}};var Scope=exports.Scope={types:["Scopable"],checkPath:function checkPath(path){return t.isScope(path.node,path.parent);}};var Referenced=exports.Referenced={checkPath:function checkPath(path){return t.isReferenced(path.node,path.parent);}};var BlockScoped=exports.BlockScoped={checkPath:function checkPath(path){return t.isBlockScoped(path.node);}};var Var=exports.Var={types:["VariableDeclaration"],checkPath:function checkPath(path){return t.isVar(path.node);}};var User=exports.User={checkPath:function checkPath(path){return path.node&&!!path.node.loc;}};var Generated=exports.Generated={checkPath:function checkPath(path){return!path.isUser();}};var Pure=exports.Pure={checkPath:function checkPath(path,opts){return path.scope.isPure(path.node,opts);}};var Flow=exports.Flow={types:["Flow","ImportDeclaration","ExportDeclaration","ImportSpecifier"],checkPath:function checkPath(_ref5){var node=_ref5.node;if(t.isFlow(node)){return true;}else if(t.isImportDeclaration(node)){return node.importKind==="type"||node.importKind==="typeof";}else if(t.isExportDeclaration(node)){return node.exportKind==="type";}else if(t.isImportSpecifier(node)){return node.importKind==="type"||node.importKind==="typeof";}else{return false;}}};},{"babel-types":56}],38:[function(require,module,exports){"use strict";exports.__esModule=true;var _typeof2=require("babel-runtime/helpers/typeof");var _typeof3=_interopRequireDefault(_typeof2);var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);exports.insertBefore=insertBefore;exports._containerInsert=_containerInsert;exports._containerInsertBefore=_containerInsertBefore;exports._containerInsertAfter=_containerInsertAfter;exports._maybePopFromStatements=_maybePopFromStatements;exports.insertAfter=insertAfter;exports.updateSiblingKeys=updateSiblingKeys;exports._verifyNodeList=_verifyNodeList;exports.unshiftContainer=unshiftContainer;exports.pushContainer=pushContainer;exports.hoist=hoist;var _cache=require("../cache");var _hoister=require("./lib/hoister");var _hoister2=_interopRequireDefault(_hoister);var _index=require("./index");var _index2=_interopRequireDefault(_index);var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function insertBefore(nodes){this._assertUnremoved();nodes=this._verifyNodeList(nodes);if(this.parentPath.isExpressionStatement()||this.parentPath.isLabeledStatement()){return this.parentPath.insertBefore(nodes);}else if(this.isNodeType("Expression")||this.parentPath.isForStatement()&&this.key==="init"){if(this.node)nodes.push(this.node);this.replaceExpressionWithStatements(nodes);}else{this._maybePopFromStatements(nodes);if(Array.isArray(this.container)){return this._containerInsertBefore(nodes);}else if(this.isStatementOrBlock()){if(this.node)nodes.push(this.node);this._replaceWith(t.blockStatement(nodes));}else{throw new Error("We don't know what to do with this node type. "+"We were previously a Statement but we can't fit in here?");}}return[this];}function _containerInsert(from,nodes){this.updateSiblingKeys(from,nodes.length);var paths=[];for(var i=0;i<nodes.length;i++){var to=from+i;var node=nodes[i];this.container.splice(to,0,node);if(this.context){var path=this.context.create(this.parent,this.container,to,this.listKey);if(this.context.queue)path.pushContext(this.context);paths.push(path);}else{paths.push(_index2.default.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:to}));}}var contexts=this._getQueueContexts();for(var _iterator=paths,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var _path=_ref;_path.setScope();_path.debug(function(){return"Inserted.";});for(var _iterator2=contexts,_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:(0,_getIterator3.default)(_iterator2);;){var _ref2;if(_isArray2){if(_i2>=_iterator2.length)break;_ref2=_iterator2[_i2++];}else{_i2=_iterator2.next();if(_i2.done)break;_ref2=_i2.value;}var context=_ref2;context.maybeQueue(_path,true);}}return paths;}function _containerInsertBefore(nodes){return this._containerInsert(this.key,nodes);}function _containerInsertAfter(nodes){return this._containerInsert(this.key+1,nodes);}function _maybePopFromStatements(nodes){var last=nodes[nodes.length-1];var isIdentifier=t.isIdentifier(last)||t.isExpressionStatement(last)&&t.isIdentifier(last.expression);if(isIdentifier&&!this.isCompletionRecord()){nodes.pop();}}function insertAfter(nodes){this._assertUnremoved();nodes=this._verifyNodeList(nodes);if(this.parentPath.isExpressionStatement()||this.parentPath.isLabeledStatement()){return this.parentPath.insertAfter(nodes);}else if(this.isNodeType("Expression")||this.parentPath.isForStatement()&&this.key==="init"){if(this.node){var temp=this.scope.generateDeclaredUidIdentifier();nodes.unshift(t.expressionStatement(t.assignmentExpression("=",temp,this.node)));nodes.push(t.expressionStatement(temp));}this.replaceExpressionWithStatements(nodes);}else{this._maybePopFromStatements(nodes);if(Array.isArray(this.container)){return this._containerInsertAfter(nodes);}else if(this.isStatementOrBlock()){if(this.node)nodes.unshift(this.node);this._replaceWith(t.blockStatement(nodes));}else{throw new Error("We don't know what to do with this node type. "+"We were previously a Statement but we can't fit in here?");}}return[this];}function updateSiblingKeys(fromIndex,incrementBy){if(!this.parent)return;var paths=_cache.path.get(this.parent);for(var i=0;i<paths.length;i++){var path=paths[i];if(path.key>=fromIndex){path.key+=incrementBy;}}}function _verifyNodeList(nodes){if(!nodes){return[];}if(nodes.constructor!==Array){nodes=[nodes];}for(var i=0;i<nodes.length;i++){var node=nodes[i];var msg=void 0;if(!node){msg="has falsy node";}else if((typeof node==="undefined"?"undefined":(0,_typeof3.default)(node))!=="object"){msg="contains a non-object node";}else if(!node.type){msg="without a type";}else if(node instanceof _index2.default){msg="has a NodePath when it expected a raw object";}if(msg){var type=Array.isArray(node)?"array":typeof node==="undefined"?"undefined":(0,_typeof3.default)(node);throw new Error("Node list "+msg+" with the index of "+i+" and type of "+type);}}return nodes;}function unshiftContainer(listKey,nodes){this._assertUnremoved();nodes=this._verifyNodeList(nodes);var path=_index2.default.get({parentPath:this,parent:this.node,container:this.node[listKey],listKey:listKey,key:0});return path.insertBefore(nodes);}function pushContainer(listKey,nodes){this._assertUnremoved();nodes=this._verifyNodeList(nodes);var container=this.node[listKey];var path=_index2.default.get({parentPath:this,parent:this.node,container:container,listKey:listKey,key:container.length});return path.replaceWithMultiple(nodes);}function hoist(){var scope=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.scope;var hoister=new _hoister2.default(this,scope);return hoister.run();}},{"../cache":20,"./index":30,"./lib/hoister":35,"babel-runtime/core-js/get-iterator":61,"babel-runtime/helpers/typeof":73,"babel-types":56}],39:[function(require,module,exports){"use strict";exports.__esModule=true;var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);exports.remove=remove;exports._callRemovalHooks=_callRemovalHooks;exports._remove=_remove;exports._markRemoved=_markRemoved;exports._assertUnremoved=_assertUnremoved;var _removalHooks=require("./lib/removal-hooks");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function remove(){this._assertUnremoved();this.resync();if(this._callRemovalHooks()){this._markRemoved();return;}this.shareCommentsWithSiblings();this._remove();this._markRemoved();}function _callRemovalHooks(){for(var _iterator=_removalHooks.hooks,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var fn=_ref;if(fn(this,this.parentPath))return true;}}function _remove(){if(Array.isArray(this.container)){this.container.splice(this.key,1);this.updateSiblingKeys(this.key,-1);}else{this._replaceWith(null);}}function _markRemoved(){this.shouldSkip=true;this.removed=true;this.node=null;}function _assertUnremoved(){if(this.removed){throw this.buildCodeFrameError("NodePath has been removed so is read-only.");}}},{"./lib/removal-hooks":36,"babel-runtime/core-js/get-iterator":61}],40:[function(require,module,exports){"use strict";exports.__esModule=true;var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);exports.replaceWithMultiple=replaceWithMultiple;exports.replaceWithSourceString=replaceWithSourceString;exports.replaceWith=replaceWith;exports._replaceWith=_replaceWith;exports.replaceExpressionWithStatements=replaceExpressionWithStatements;exports.replaceInline=replaceInline;var _babelCodeFrame=require("babel-code-frame");var _babelCodeFrame2=_interopRequireDefault(_babelCodeFrame);var _index=require("../index");var _index2=_interopRequireDefault(_index);var _index3=require("./index");var _index4=_interopRequireDefault(_index3);var _babylon=require("babylon");var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var hoistVariablesVisitor={Function:function Function(path){path.skip();},VariableDeclaration:function VariableDeclaration(path){if(path.node.kind!=="var")return;var bindings=path.getBindingIdentifiers();for(var key in bindings){path.scope.push({id:bindings[key]});}var exprs=[];for(var _iterator=path.node.declarations,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var declar=_ref;if(declar.init){exprs.push(t.expressionStatement(t.assignmentExpression("=",declar.id,declar.init)));}}path.replaceWithMultiple(exprs);}};function replaceWithMultiple(nodes){this.resync();nodes=this._verifyNodeList(nodes);t.inheritLeadingComments(nodes[0],this.node);t.inheritTrailingComments(nodes[nodes.length-1],this.node);this.node=this.container[this.key]=null;this.insertAfter(nodes);if(this.node){this.requeue();}else{this.remove();}}function replaceWithSourceString(replacement){this.resync();try{replacement="("+replacement+")";replacement=(0,_babylon.parse)(replacement);}catch(err){var loc=err.loc;if(loc){err.message+=" - make sure this is an expression.";err.message+="\n"+(0,_babelCodeFrame2.default)(replacement,loc.line,loc.column+1);}throw err;}replacement=replacement.program.body[0].expression;_index2.default.removeProperties(replacement);return this.replaceWith(replacement);}function replaceWith(replacement){this.resync();if(this.removed){throw new Error("You can't replace this node, we've already removed it");}if(replacement instanceof _index4.default){replacement=replacement.node;}if(!replacement){throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");}if(this.node===replacement){return;}if(this.isProgram()&&!t.isProgram(replacement)){throw new Error("You can only replace a Program root node with another Program node");}if(Array.isArray(replacement)){throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");}if(typeof replacement==="string"){throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");}if(this.isNodeType("Statement")&&t.isExpression(replacement)){if(!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(replacement)){replacement=t.expressionStatement(replacement);}}if(this.isNodeType("Expression")&&t.isStatement(replacement)){if(!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(replacement)){return this.replaceExpressionWithStatements([replacement]);}}var oldNode=this.node;if(oldNode){t.inheritsComments(replacement,oldNode);t.removeComments(oldNode);}this._replaceWith(replacement);this.type=replacement.type;this.setScope();this.requeue();}function _replaceWith(node){if(!this.container){throw new ReferenceError("Container is falsy");}if(this.inList){t.validate(this.parent,this.key,[node]);}else{t.validate(this.parent,this.key,node);}this.debug(function(){return"Replace with "+(node&&node.type);});this.node=this.container[this.key]=node;}function replaceExpressionWithStatements(nodes){this.resync();var toSequenceExpression=t.toSequenceExpression(nodes,this.scope);if(t.isSequenceExpression(toSequenceExpression)){var exprs=toSequenceExpression.expressions;if(exprs.length>=2&&this.parentPath.isExpressionStatement()){this._maybePopFromStatements(exprs);}if(exprs.length===1){this.replaceWith(exprs[0]);}else{this.replaceWith(toSequenceExpression);}}else if(toSequenceExpression){this.replaceWith(toSequenceExpression);}else{var container=t.functionExpression(null,[],t.blockStatement(nodes));container.shadow=true;this.replaceWith(t.callExpression(container,[]));this.traverse(hoistVariablesVisitor);var completionRecords=this.get("callee").getCompletionRecords();for(var _iterator2=completionRecords,_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:(0,_getIterator3.default)(_iterator2);;){var _ref2;if(_isArray2){if(_i2>=_iterator2.length)break;_ref2=_iterator2[_i2++];}else{_i2=_iterator2.next();if(_i2.done)break;_ref2=_i2.value;}var path=_ref2;if(!path.isExpressionStatement())continue;var loop=path.findParent(function(path){return path.isLoop();});if(loop){var uid=loop.getData("expressionReplacementReturnUid");if(!uid){var callee=this.get("callee");uid=callee.scope.generateDeclaredUidIdentifier("ret");callee.get("body").pushContainer("body",t.returnStatement(uid));loop.setData("expressionReplacementReturnUid",uid);}else{uid=t.identifier(uid.name);}path.get("expression").replaceWith(t.assignmentExpression("=",uid,path.node.expression));}else{path.replaceWith(t.returnStatement(path.node.expression));}}return this.node;}}function replaceInline(nodes){this.resync();if(Array.isArray(nodes)){if(Array.isArray(this.container)){nodes=this._verifyNodeList(nodes);this._containerInsertAfter(nodes);return this.remove();}else{return this.replaceWithMultiple(nodes);}}else{return this.replaceWith(nodes);}}},{"../index":23,"./index":30,"babel-code-frame":12,"babel-runtime/core-js/get-iterator":61,"babel-types":56,"babylon":74}],41:[function(require,module,exports){"use strict";exports.__esModule=true;var _classCallCheck2=require("babel-runtime/helpers/classCallCheck");var _classCallCheck3=_interopRequireDefault(_classCallCheck2);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var Binding=function(){function Binding(_ref){var existing=_ref.existing,identifier=_ref.identifier,scope=_ref.scope,path=_ref.path,kind=_ref.kind;(0,_classCallCheck3.default)(this,Binding);this.identifier=identifier;this.scope=scope;this.path=path;this.kind=kind;this.constantViolations=[];this.constant=true;this.referencePaths=[];this.referenced=false;this.references=0;this.clearValue();if(existing){this.constantViolations=[].concat(existing.path,existing.constantViolations,this.constantViolations);}}Binding.prototype.deoptValue=function deoptValue(){this.clearValue();this.hasDeoptedValue=true;};Binding.prototype.setValue=function setValue(value){if(this.hasDeoptedValue)return;this.hasValue=true;this.value=value;};Binding.prototype.clearValue=function clearValue(){this.hasDeoptedValue=false;this.hasValue=false;this.value=null;};Binding.prototype.reassign=function reassign(path){this.constant=false;if(this.constantViolations.indexOf(path)!==-1){return;}this.constantViolations.push(path);};Binding.prototype.reference=function reference(path){if(this.referencePaths.indexOf(path)!==-1){return;}this.referenced=true;this.references++;this.referencePaths.push(path);};Binding.prototype.dereference=function dereference(){this.references--;this.referenced=!!this.references;};return Binding;}();exports.default=Binding;module.exports=exports["default"];},{"babel-runtime/helpers/classCallCheck":72}],42:[function(require,module,exports){"use strict";exports.__esModule=true;var _keys=require("babel-runtime/core-js/object/keys");var _keys2=_interopRequireDefault(_keys);var _create=require("babel-runtime/core-js/object/create");var _create2=_interopRequireDefault(_create);var _map=require("babel-runtime/core-js/map");var _map2=_interopRequireDefault(_map);var _classCallCheck2=require("babel-runtime/helpers/classCallCheck");var _classCallCheck3=_interopRequireDefault(_classCallCheck2);var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);var _includes=require("lodash/includes");var _includes2=_interopRequireDefault(_includes);var _repeat=require("lodash/repeat");var _repeat2=_interopRequireDefault(_repeat);var _renamer=require("./lib/renamer");var _renamer2=_interopRequireDefault(_renamer);var _index=require("../index");var _index2=_interopRequireDefault(_index);var _defaults=require("lodash/defaults");var _defaults2=_interopRequireDefault(_defaults);var _babelMessages=require("babel-messages");var messages=_interopRequireWildcard(_babelMessages);var _binding2=require("./binding");var _binding3=_interopRequireDefault(_binding2);var _globals=require("globals");var _globals2=_interopRequireDefault(_globals);var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);var _cache=require("../cache");function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var _crawlCallsCount=0;function getCache(path,parentScope,self){var scopes=_cache.scope.get(path.node)||[];for(var _iterator=scopes,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var scope=_ref;if(scope.parent===parentScope&&scope.path===path)return scope;}scopes.push(self);if(!_cache.scope.has(path.node)){_cache.scope.set(path.node,scopes);}}function gatherNodeParts(node,parts){if(t.isModuleDeclaration(node)){if(node.source){gatherNodeParts(node.source,parts);}else if(node.specifiers&&node.specifiers.length){for(var _iterator2=node.specifiers,_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:(0,_getIterator3.default)(_iterator2);;){var _ref2;if(_isArray2){if(_i2>=_iterator2.length)break;_ref2=_iterator2[_i2++];}else{_i2=_iterator2.next();if(_i2.done)break;_ref2=_i2.value;}var specifier=_ref2;gatherNodeParts(specifier,parts);}}else if(node.declaration){gatherNodeParts(node.declaration,parts);}}else if(t.isModuleSpecifier(node)){gatherNodeParts(node.local,parts);}else if(t.isMemberExpression(node)){gatherNodeParts(node.object,parts);gatherNodeParts(node.property,parts);}else if(t.isIdentifier(node)){parts.push(node.name);}else if(t.isLiteral(node)){parts.push(node.value);}else if(t.isCallExpression(node)){gatherNodeParts(node.callee,parts);}else if(t.isObjectExpression(node)||t.isObjectPattern(node)){for(var _iterator3=node.properties,_isArray3=Array.isArray(_iterator3),_i3=0,_iterator3=_isArray3?_iterator3:(0,_getIterator3.default)(_iterator3);;){var _ref3;if(_isArray3){if(_i3>=_iterator3.length)break;_ref3=_iterator3[_i3++];}else{_i3=_iterator3.next();if(_i3.done)break;_ref3=_i3.value;}var prop=_ref3;gatherNodeParts(prop.key||prop.argument,parts);}}}var collectorVisitor={For:function For(path){for(var _iterator4=t.FOR_INIT_KEYS,_isArray4=Array.isArray(_iterator4),_i4=0,_iterator4=_isArray4?_iterator4:(0,_getIterator3.default)(_iterator4);;){var _ref4;if(_isArray4){if(_i4>=_iterator4.length)break;_ref4=_iterator4[_i4++];}else{_i4=_iterator4.next();if(_i4.done)break;_ref4=_i4.value;}var key=_ref4;var declar=path.get(key);if(declar.isVar())path.scope.getFunctionParent().registerBinding("var",declar);}},Declaration:function Declaration(path){if(path.isBlockScoped())return;if(path.isExportDeclaration()&&path.get("declaration").isDeclaration())return;path.scope.getFunctionParent().registerDeclaration(path);},ReferencedIdentifier:function ReferencedIdentifier(path,state){state.references.push(path);},ForXStatement:function ForXStatement(path,state){var left=path.get("left");if(left.isPattern()||left.isIdentifier()){state.constantViolations.push(left);}},ExportDeclaration:{exit:function exit(path){var node=path.node,scope=path.scope;var declar=node.declaration;if(t.isClassDeclaration(declar)||t.isFunctionDeclaration(declar)){var _id=declar.id;if(!_id)return;var binding=scope.getBinding(_id.name);if(binding)binding.reference(path);}else if(t.isVariableDeclaration(declar)){for(var _iterator5=declar.declarations,_isArray5=Array.isArray(_iterator5),_i5=0,_iterator5=_isArray5?_iterator5:(0,_getIterator3.default)(_iterator5);;){var _ref5;if(_isArray5){if(_i5>=_iterator5.length)break;_ref5=_iterator5[_i5++];}else{_i5=_iterator5.next();if(_i5.done)break;_ref5=_i5.value;}var decl=_ref5;var ids=t.getBindingIdentifiers(decl);for(var name in ids){var _binding=scope.getBinding(name);if(_binding)_binding.reference(path);}}}}},LabeledStatement:function LabeledStatement(path){path.scope.getProgramParent().addGlobal(path.node);path.scope.getBlockParent().registerDeclaration(path);},AssignmentExpression:function AssignmentExpression(path,state){state.assignments.push(path);},UpdateExpression:function UpdateExpression(path,state){state.constantViolations.push(path.get("argument"));},UnaryExpression:function UnaryExpression(path,state){if(path.node.operator==="delete"){state.constantViolations.push(path.get("argument"));}},BlockScoped:function BlockScoped(path){var scope=path.scope;if(scope.path===path)scope=scope.parent;scope.getBlockParent().registerDeclaration(path);},ClassDeclaration:function ClassDeclaration(path){var id=path.node.id;if(!id)return;var name=id.name;path.scope.bindings[name]=path.scope.getBinding(name);},Block:function Block(path){var paths=path.get("body");for(var _iterator6=paths,_isArray6=Array.isArray(_iterator6),_i6=0,_iterator6=_isArray6?_iterator6:(0,_getIterator3.default)(_iterator6);;){var _ref6;if(_isArray6){if(_i6>=_iterator6.length)break;_ref6=_iterator6[_i6++];}else{_i6=_iterator6.next();if(_i6.done)break;_ref6=_i6.value;}var bodyPath=_ref6;if(bodyPath.isFunctionDeclaration()){path.scope.getBlockParent().registerDeclaration(bodyPath);}}}};var uid=0;var Scope=function(){function Scope(path,parentScope){(0,_classCallCheck3.default)(this,Scope);if(parentScope&&parentScope.block===path.node){return parentScope;}var cached=getCache(path,parentScope,this);if(cached)return cached;this.uid=uid++;this.parent=parentScope;this.hub=path.hub;this.parentBlock=path.parent;this.block=path.node;this.path=path;this.labels=new _map2.default();}Scope.prototype.traverse=function traverse(node,opts,state){(0,_index2.default)(node,opts,this,state,this.path);};Scope.prototype.generateDeclaredUidIdentifier=function generateDeclaredUidIdentifier(){var name=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"temp";var id=this.generateUidIdentifier(name);this.push({id:id});return id;};Scope.prototype.generateUidIdentifier=function generateUidIdentifier(){var name=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"temp";return t.identifier(this.generateUid(name));};Scope.prototype.generateUid=function generateUid(){var name=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"temp";name=t.toIdentifier(name).replace(/^_+/,"").replace(/[0-9]+$/g,"");var uid=void 0;var i=0;do{uid=this._generateUid(name,i);i++;}while(this.hasLabel(uid)||this.hasBinding(uid)||this.hasGlobal(uid)||this.hasReference(uid));var program=this.getProgramParent();program.references[uid]=true;program.uids[uid]=true;return uid;};Scope.prototype._generateUid=function _generateUid(name,i){var id=name;if(i>1)id+=i;return"_"+id;};Scope.prototype.generateUidIdentifierBasedOnNode=function generateUidIdentifierBasedOnNode(parent,defaultName){var node=parent;if(t.isAssignmentExpression(parent)){node=parent.left;}else if(t.isVariableDeclarator(parent)){node=parent.id;}else if(t.isObjectProperty(node)||t.isObjectMethod(node)){node=node.key;}var parts=[];gatherNodeParts(node,parts);var id=parts.join("$");id=id.replace(/^_/,"")||defaultName||"ref";return this.generateUidIdentifier(id.slice(0,20));};Scope.prototype.isStatic=function isStatic(node){if(t.isThisExpression(node)||t.isSuper(node)){return true;}if(t.isIdentifier(node)){var binding=this.getBinding(node.name);if(binding){return binding.constant;}else{return this.hasBinding(node.name);}}return false;};Scope.prototype.maybeGenerateMemoised=function maybeGenerateMemoised(node,dontPush){if(this.isStatic(node)){return null;}else{var _id2=this.generateUidIdentifierBasedOnNode(node);if(!dontPush)this.push({id:_id2});return _id2;}};Scope.prototype.checkBlockScopedCollisions=function checkBlockScopedCollisions(local,kind,name,id){if(kind==="param")return;if(kind==="hoisted"&&local.kind==="let")return;var duplicate=kind==="let"||local.kind==="let"||local.kind==="const"||local.kind==="module"||local.kind==="param"&&(kind==="let"||kind==="const");if(duplicate){throw this.hub.file.buildCodeFrameError(id,messages.get("scopeDuplicateDeclaration",name),TypeError);}};Scope.prototype.rename=function rename(oldName,newName,block){var binding=this.getBinding(oldName);if(binding){newName=newName||this.generateUidIdentifier(oldName).name;return new _renamer2.default(binding,oldName,newName).rename(block);}};Scope.prototype._renameFromMap=function _renameFromMap(map,oldName,newName,value){if(map[oldName]){map[newName]=value;map[oldName]=null;}};Scope.prototype.dump=function dump(){var sep=(0,_repeat2.default)("-",60);console.log(sep);var scope=this;do{console.log("#",scope.block.type);for(var name in scope.bindings){var binding=scope.bindings[name];console.log(" -",name,{constant:binding.constant,references:binding.references,violations:binding.constantViolations.length,kind:binding.kind});}}while(scope=scope.parent);console.log(sep);};Scope.prototype.toArray=function toArray(node,i){var file=this.hub.file;if(t.isIdentifier(node)){var binding=this.getBinding(node.name);if(binding&&binding.constant&&binding.path.isGenericType("Array"))return node;}if(t.isArrayExpression(node)){return node;}if(t.isIdentifier(node,{name:"arguments"})){return t.callExpression(t.memberExpression(t.memberExpression(t.memberExpression(t.identifier("Array"),t.identifier("prototype")),t.identifier("slice")),t.identifier("call")),[node]);}var helperName="toArray";var args=[node];if(i===true){helperName="toConsumableArray";}else if(i){args.push(t.numericLiteral(i));helperName="slicedToArray";}return t.callExpression(file.addHelper(helperName),args);};Scope.prototype.hasLabel=function hasLabel(name){return!!this.getLabel(name);};Scope.prototype.getLabel=function getLabel(name){return this.labels.get(name);};Scope.prototype.registerLabel=function registerLabel(path){this.labels.set(path.node.label.name,path);};Scope.prototype.registerDeclaration=function registerDeclaration(path){if(path.isLabeledStatement()){this.registerLabel(path);}else if(path.isFunctionDeclaration()){this.registerBinding("hoisted",path.get("id"),path);}else if(path.isVariableDeclaration()){var declarations=path.get("declarations");for(var _iterator7=declarations,_isArray7=Array.isArray(_iterator7),_i7=0,_iterator7=_isArray7?_iterator7:(0,_getIterator3.default)(_iterator7);;){var _ref7;if(_isArray7){if(_i7>=_iterator7.length)break;_ref7=_iterator7[_i7++];}else{_i7=_iterator7.next();if(_i7.done)break;_ref7=_i7.value;}var declar=_ref7;this.registerBinding(path.node.kind,declar);}}else if(path.isClassDeclaration()){this.registerBinding("let",path);}else if(path.isImportDeclaration()){var specifiers=path.get("specifiers");for(var _iterator8=specifiers,_isArray8=Array.isArray(_iterator8),_i8=0,_iterator8=_isArray8?_iterator8:(0,_getIterator3.default)(_iterator8);;){var _ref8;if(_isArray8){if(_i8>=_iterator8.length)break;_ref8=_iterator8[_i8++];}else{_i8=_iterator8.next();if(_i8.done)break;_ref8=_i8.value;}var specifier=_ref8;this.registerBinding("module",specifier);}}else if(path.isExportDeclaration()){var _declar=path.get("declaration");if(_declar.isClassDeclaration()||_declar.isFunctionDeclaration()||_declar.isVariableDeclaration()){this.registerDeclaration(_declar);}}else{this.registerBinding("unknown",path);}};Scope.prototype.buildUndefinedNode=function buildUndefinedNode(){if(this.hasBinding("undefined")){return t.unaryExpression("void",t.numericLiteral(0),true);}else{return t.identifier("undefined");}};Scope.prototype.registerConstantViolation=function registerConstantViolation(path){var ids=path.getBindingIdentifiers();for(var name in ids){var binding=this.getBinding(name);if(binding)binding.reassign(path);}};Scope.prototype.registerBinding=function registerBinding(kind,path){var bindingPath=arguments.length>2&&arguments[2]!==undefined?arguments[2]:path;if(!kind)throw new ReferenceError("no `kind`");if(path.isVariableDeclaration()){var declarators=path.get("declarations");for(var _iterator9=declarators,_isArray9=Array.isArray(_iterator9),_i9=0,_iterator9=_isArray9?_iterator9:(0,_getIterator3.default)(_iterator9);;){var _ref9;if(_isArray9){if(_i9>=_iterator9.length)break;_ref9=_iterator9[_i9++];}else{_i9=_iterator9.next();if(_i9.done)break;_ref9=_i9.value;}var declar=_ref9;this.registerBinding(kind,declar);}return;}var parent=this.getProgramParent();var ids=path.getBindingIdentifiers(true);for(var name in ids){for(var _iterator10=ids[name],_isArray10=Array.isArray(_iterator10),_i10=0,_iterator10=_isArray10?_iterator10:(0,_getIterator3.default)(_iterator10);;){var _ref10;if(_isArray10){if(_i10>=_iterator10.length)break;_ref10=_iterator10[_i10++];}else{_i10=_iterator10.next();if(_i10.done)break;_ref10=_i10.value;}var _id3=_ref10;var local=this.getOwnBinding(name);if(local){if(local.identifier===_id3)continue;this.checkBlockScopedCollisions(local,kind,name,_id3);}if(local&&local.path.isFlow())local=null;parent.references[name]=true;this.bindings[name]=new _binding3.default({identifier:_id3,existing:local,scope:this,path:bindingPath,kind:kind});}}};Scope.prototype.addGlobal=function addGlobal(node){this.globals[node.name]=node;};Scope.prototype.hasUid=function hasUid(name){var scope=this;do{if(scope.uids[name])return true;}while(scope=scope.parent);return false;};Scope.prototype.hasGlobal=function hasGlobal(name){var scope=this;do{if(scope.globals[name])return true;}while(scope=scope.parent);return false;};Scope.prototype.hasReference=function hasReference(name){var scope=this;do{if(scope.references[name])return true;}while(scope=scope.parent);return false;};Scope.prototype.isPure=function isPure(node,constantsOnly){if(t.isIdentifier(node)){var binding=this.getBinding(node.name);if(!binding)return false;if(constantsOnly)return binding.constant;return true;}else if(t.isClass(node)){if(node.superClass&&!this.isPure(node.superClass,constantsOnly))return false;return this.isPure(node.body,constantsOnly);}else if(t.isClassBody(node)){for(var _iterator11=node.body,_isArray11=Array.isArray(_iterator11),_i11=0,_iterator11=_isArray11?_iterator11:(0,_getIterator3.default)(_iterator11);;){var _ref11;if(_isArray11){if(_i11>=_iterator11.length)break;_ref11=_iterator11[_i11++];}else{_i11=_iterator11.next();if(_i11.done)break;_ref11=_i11.value;}var method=_ref11;if(!this.isPure(method,constantsOnly))return false;}return true;}else if(t.isBinary(node)){return this.isPure(node.left,constantsOnly)&&this.isPure(node.right,constantsOnly);}else if(t.isArrayExpression(node)){for(var _iterator12=node.elements,_isArray12=Array.isArray(_iterator12),_i12=0,_iterator12=_isArray12?_iterator12:(0,_getIterator3.default)(_iterator12);;){var _ref12;if(_isArray12){if(_i12>=_iterator12.length)break;_ref12=_iterator12[_i12++];}else{_i12=_iterator12.next();if(_i12.done)break;_ref12=_i12.value;}var elem=_ref12;if(!this.isPure(elem,constantsOnly))return false;}return true;}else if(t.isObjectExpression(node)){for(var _iterator13=node.properties,_isArray13=Array.isArray(_iterator13),_i13=0,_iterator13=_isArray13?_iterator13:(0,_getIterator3.default)(_iterator13);;){var _ref13;if(_isArray13){if(_i13>=_iterator13.length)break;_ref13=_iterator13[_i13++];}else{_i13=_iterator13.next();if(_i13.done)break;_ref13=_i13.value;}var prop=_ref13;if(!this.isPure(prop,constantsOnly))return false;}return true;}else if(t.isClassMethod(node)){if(node.computed&&!this.isPure(node.key,constantsOnly))return false;if(node.kind==="get"||node.kind==="set")return false;return true;}else if(t.isClassProperty(node)||t.isObjectProperty(node)){if(node.computed&&!this.isPure(node.key,constantsOnly))return false;return this.isPure(node.value,constantsOnly);}else if(t.isUnaryExpression(node)){return this.isPure(node.argument,constantsOnly);}else{return t.isPureish(node);}};Scope.prototype.setData=function setData(key,val){return this.data[key]=val;};Scope.prototype.getData=function getData(key){var scope=this;do{var data=scope.data[key];if(data!=null)return data;}while(scope=scope.parent);};Scope.prototype.removeData=function removeData(key){var scope=this;do{var data=scope.data[key];if(data!=null)scope.data[key]=null;}while(scope=scope.parent);};Scope.prototype.init=function init(){if(!this.references)this.crawl();};Scope.prototype.crawl=function crawl(){_crawlCallsCount++;this._crawl();_crawlCallsCount--;};Scope.prototype._crawl=function _crawl(){var path=this.path;this.references=(0,_create2.default)(null);this.bindings=(0,_create2.default)(null);this.globals=(0,_create2.default)(null);this.uids=(0,_create2.default)(null);this.data=(0,_create2.default)(null);if(path.isLoop()){for(var _iterator14=t.FOR_INIT_KEYS,_isArray14=Array.isArray(_iterator14),_i14=0,_iterator14=_isArray14?_iterator14:(0,_getIterator3.default)(_iterator14);;){var _ref14;if(_isArray14){if(_i14>=_iterator14.length)break;_ref14=_iterator14[_i14++];}else{_i14=_iterator14.next();if(_i14.done)break;_ref14=_i14.value;}var key=_ref14;var node=path.get(key);if(node.isBlockScoped())this.registerBinding(node.node.kind,node);}}if(path.isFunctionExpression()&&path.has("id")){if(!path.get("id").node[t.NOT_LOCAL_BINDING]){this.registerBinding("local",path.get("id"),path);}}if(path.isClassExpression()&&path.has("id")){if(!path.get("id").node[t.NOT_LOCAL_BINDING]){this.registerBinding("local",path);}}if(path.isFunction()){var params=path.get("params");for(var _iterator15=params,_isArray15=Array.isArray(_iterator15),_i15=0,_iterator15=_isArray15?_iterator15:(0,_getIterator3.default)(_iterator15);;){var _ref15;if(_isArray15){if(_i15>=_iterator15.length)break;_ref15=_iterator15[_i15++];}else{_i15=_iterator15.next();if(_i15.done)break;_ref15=_i15.value;}var param=_ref15;this.registerBinding("param",param);}}if(path.isCatchClause()){this.registerBinding("let",path);}var parent=this.getProgramParent();if(parent.crawling)return;var state={references:[],constantViolations:[],assignments:[]};this.crawling=true;path.traverse(collectorVisitor,state);this.crawling=false;for(var _iterator16=state.assignments,_isArray16=Array.isArray(_iterator16),_i16=0,_iterator16=_isArray16?_iterator16:(0,_getIterator3.default)(_iterator16);;){var _ref16;if(_isArray16){if(_i16>=_iterator16.length)break;_ref16=_iterator16[_i16++];}else{_i16=_iterator16.next();if(_i16.done)break;_ref16=_i16.value;}var _path=_ref16;var ids=_path.getBindingIdentifiers();var programParent=void 0;for(var name in ids){if(_path.scope.getBinding(name))continue;programParent=programParent||_path.scope.getProgramParent();programParent.addGlobal(ids[name]);}_path.scope.registerConstantViolation(_path);}for(var _iterator17=state.references,_isArray17=Array.isArray(_iterator17),_i17=0,_iterator17=_isArray17?_iterator17:(0,_getIterator3.default)(_iterator17);;){var _ref17;if(_isArray17){if(_i17>=_iterator17.length)break;_ref17=_iterator17[_i17++];}else{_i17=_iterator17.next();if(_i17.done)break;_ref17=_i17.value;}var ref=_ref17;var binding=ref.scope.getBinding(ref.node.name);if(binding){binding.reference(ref);}else{ref.scope.getProgramParent().addGlobal(ref.node);}}for(var _iterator18=state.constantViolations,_isArray18=Array.isArray(_iterator18),_i18=0,_iterator18=_isArray18?_iterator18:(0,_getIterator3.default)(_iterator18);;){var _ref18;if(_isArray18){if(_i18>=_iterator18.length)break;_ref18=_iterator18[_i18++];}else{_i18=_iterator18.next();if(_i18.done)break;_ref18=_i18.value;}var _path2=_ref18;_path2.scope.registerConstantViolation(_path2);}};Scope.prototype.push=function push(opts){var path=this.path;if(!path.isBlockStatement()&&!path.isProgram()){path=this.getBlockParent().path;}if(path.isSwitchStatement()){path=this.getFunctionParent().path;}if(path.isLoop()||path.isCatchClause()||path.isFunction()){t.ensureBlock(path.node);path=path.get("body");}var unique=opts.unique;var kind=opts.kind||"var";var blockHoist=opts._blockHoist==null?2:opts._blockHoist;var dataKey="declaration:"+kind+":"+blockHoist;var declarPath=!unique&&path.getData(dataKey);if(!declarPath){var declar=t.variableDeclaration(kind,[]);declar._generated=true;declar._blockHoist=blockHoist;var _path$unshiftContaine=path.unshiftContainer("body",[declar]);declarPath=_path$unshiftContaine[0];if(!unique)path.setData(dataKey,declarPath);}var declarator=t.variableDeclarator(opts.id,opts.init);declarPath.node.declarations.push(declarator);this.registerBinding(kind,declarPath.get("declarations").pop());};Scope.prototype.getProgramParent=function getProgramParent(){var scope=this;do{if(scope.path.isProgram()){return scope;}}while(scope=scope.parent);throw new Error("We couldn't find a Function or Program...");};Scope.prototype.getFunctionParent=function getFunctionParent(){var scope=this;do{if(scope.path.isFunctionParent()){return scope;}}while(scope=scope.parent);throw new Error("We couldn't find a Function or Program...");};Scope.prototype.getBlockParent=function getBlockParent(){var scope=this;do{if(scope.path.isBlockParent()){return scope;}}while(scope=scope.parent);throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");};Scope.prototype.getAllBindings=function getAllBindings(){var ids=(0,_create2.default)(null);var scope=this;do{(0,_defaults2.default)(ids,scope.bindings);scope=scope.parent;}while(scope);return ids;};Scope.prototype.getAllBindingsOfKind=function getAllBindingsOfKind(){var ids=(0,_create2.default)(null);for(var _iterator19=arguments,_isArray19=Array.isArray(_iterator19),_i19=0,_iterator19=_isArray19?_iterator19:(0,_getIterator3.default)(_iterator19);;){var _ref19;if(_isArray19){if(_i19>=_iterator19.length)break;_ref19=_iterator19[_i19++];}else{_i19=_iterator19.next();if(_i19.done)break;_ref19=_i19.value;}var kind=_ref19;var scope=this;do{for(var name in scope.bindings){var binding=scope.bindings[name];if(binding.kind===kind)ids[name]=binding;}scope=scope.parent;}while(scope);}return ids;};Scope.prototype.bindingIdentifierEquals=function bindingIdentifierEquals(name,node){return this.getBindingIdentifier(name)===node;};Scope.prototype.warnOnFlowBinding=function warnOnFlowBinding(binding){if(_crawlCallsCount===0&&binding&&binding.path.isFlow()){console.warn("\n        You or one of the Babel plugins you are using are using Flow declarations as bindings.\n        Support for this will be removed in version 6.8. To find out the caller, grep for this\n        message and change it to a `console.trace()`.\n      ");}return binding;};Scope.prototype.getBinding=function getBinding(name){var scope=this;do{var binding=scope.getOwnBinding(name);if(binding)return this.warnOnFlowBinding(binding);}while(scope=scope.parent);};Scope.prototype.getOwnBinding=function getOwnBinding(name){return this.warnOnFlowBinding(this.bindings[name]);};Scope.prototype.getBindingIdentifier=function getBindingIdentifier(name){var info=this.getBinding(name);return info&&info.identifier;};Scope.prototype.getOwnBindingIdentifier=function getOwnBindingIdentifier(name){var binding=this.bindings[name];return binding&&binding.identifier;};Scope.prototype.hasOwnBinding=function hasOwnBinding(name){return!!this.getOwnBinding(name);};Scope.prototype.hasBinding=function hasBinding(name,noGlobals){if(!name)return false;if(this.hasOwnBinding(name))return true;if(this.parentHasBinding(name,noGlobals))return true;if(this.hasUid(name))return true;if(!noGlobals&&(0,_includes2.default)(Scope.globals,name))return true;if(!noGlobals&&(0,_includes2.default)(Scope.contextVariables,name))return true;return false;};Scope.prototype.parentHasBinding=function parentHasBinding(name,noGlobals){return this.parent&&this.parent.hasBinding(name,noGlobals);};Scope.prototype.moveBindingTo=function moveBindingTo(name,scope){var info=this.getBinding(name);if(info){info.scope.removeOwnBinding(name);info.scope=scope;scope.bindings[name]=info;}};Scope.prototype.removeOwnBinding=function removeOwnBinding(name){delete this.bindings[name];};Scope.prototype.removeBinding=function removeBinding(name){var info=this.getBinding(name);if(info){info.scope.removeOwnBinding(name);}var scope=this;do{if(scope.uids[name]){scope.uids[name]=false;}}while(scope=scope.parent);};return Scope;}();Scope.globals=(0,_keys2.default)(_globals2.default.builtin);Scope.contextVariables=["arguments","undefined","Infinity","NaN"];exports.default=Scope;module.exports=exports["default"];},{"../cache":20,"../index":23,"./binding":41,"./lib/renamer":43,"babel-messages":60,"babel-runtime/core-js/get-iterator":61,"babel-runtime/core-js/map":63,"babel-runtime/core-js/object/create":65,"babel-runtime/core-js/object/keys":67,"babel-runtime/helpers/classCallCheck":72,"babel-types":56,"globals":374,"lodash/defaults":547,"lodash/includes":550,"lodash/repeat":568}],43:[function(require,module,exports){"use strict";exports.__esModule=true;var _classCallCheck2=require("babel-runtime/helpers/classCallCheck");var _classCallCheck3=_interopRequireDefault(_classCallCheck2);var _binding=require("../binding");var _binding2=_interopRequireDefault(_binding);var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var renameVisitor={ReferencedIdentifier:function ReferencedIdentifier(_ref,state){var node=_ref.node;if(node.name===state.oldName){node.name=state.newName;}},Scope:function Scope(path,state){if(!path.scope.bindingIdentifierEquals(state.oldName,state.binding.identifier)){path.skip();}},"AssignmentExpression|Declaration":function AssignmentExpressionDeclaration(path,state){var ids=path.getOuterBindingIdentifiers();for(var name in ids){if(name===state.oldName)ids[name].name=state.newName;}}};var Renamer=function(){function Renamer(binding,oldName,newName){(0,_classCallCheck3.default)(this,Renamer);this.newName=newName;this.oldName=oldName;this.binding=binding;}Renamer.prototype.maybeConvertFromExportDeclaration=function maybeConvertFromExportDeclaration(parentDeclar){var exportDeclar=parentDeclar.parentPath.isExportDeclaration()&&parentDeclar.parentPath;if(!exportDeclar)return;var isDefault=exportDeclar.isExportDefaultDeclaration();if(isDefault&&(parentDeclar.isFunctionDeclaration()||parentDeclar.isClassDeclaration())&&!parentDeclar.node.id){parentDeclar.node.id=parentDeclar.scope.generateUidIdentifier("default");}var bindingIdentifiers=parentDeclar.getOuterBindingIdentifiers();var specifiers=[];for(var name in bindingIdentifiers){var localName=name===this.oldName?this.newName:name;var exportedName=isDefault?"default":name;specifiers.push(t.exportSpecifier(t.identifier(localName),t.identifier(exportedName)));}if(specifiers.length){var aliasDeclar=t.exportNamedDeclaration(null,specifiers);if(parentDeclar.isFunctionDeclaration()){aliasDeclar._blockHoist=3;}exportDeclar.insertAfter(aliasDeclar);exportDeclar.replaceWith(parentDeclar.node);}};Renamer.prototype.maybeConvertFromClassFunctionDeclaration=function maybeConvertFromClassFunctionDeclaration(path){return;if(!path.isFunctionDeclaration()&&!path.isClassDeclaration())return;if(this.binding.kind!=="hoisted")return;path.node.id=t.identifier(this.oldName);path.node._blockHoist=3;path.replaceWith(t.variableDeclaration("let",[t.variableDeclarator(t.identifier(this.newName),t.toExpression(path.node))]));};Renamer.prototype.maybeConvertFromClassFunctionExpression=function maybeConvertFromClassFunctionExpression(path){return;if(!path.isFunctionExpression()&&!path.isClassExpression())return;if(this.binding.kind!=="local")return;path.node.id=t.identifier(this.oldName);this.binding.scope.parent.push({id:t.identifier(this.newName)});path.replaceWith(t.assignmentExpression("=",t.identifier(this.newName),path.node));};Renamer.prototype.rename=function rename(block){var binding=this.binding,oldName=this.oldName,newName=this.newName;var scope=binding.scope,path=binding.path;var parentDeclar=path.find(function(path){return path.isDeclaration()||path.isFunctionExpression();});if(parentDeclar){this.maybeConvertFromExportDeclaration(parentDeclar);}scope.traverse(block||scope.block,renameVisitor,this);if(!block){scope.removeOwnBinding(oldName);scope.bindings[newName]=binding;this.binding.identifier.name=newName;}if(binding.type==="hoisted"){}if(parentDeclar){this.maybeConvertFromClassFunctionDeclaration(parentDeclar);this.maybeConvertFromClassFunctionExpression(parentDeclar);}};return Renamer;}();exports.default=Renamer;module.exports=exports["default"];},{"../binding":41,"babel-runtime/helpers/classCallCheck":72,"babel-types":56}],44:[function(require,module,exports){"use strict";exports.__esModule=true;var _typeof2=require("babel-runtime/helpers/typeof");var _typeof3=_interopRequireDefault(_typeof2);var _keys=require("babel-runtime/core-js/object/keys");var _keys2=_interopRequireDefault(_keys);var _getIterator2=require("babel-runtime/core-js/get-iterator");var _getIterator3=_interopRequireDefault(_getIterator2);exports.explode=explode;exports.verify=verify;exports.merge=merge;var _virtualTypes=require("./path/lib/virtual-types");var virtualTypes=_interopRequireWildcard(_virtualTypes);var _babelMessages=require("babel-messages");var messages=_interopRequireWildcard(_babelMessages);var _babelTypes=require("babel-types");var t=_interopRequireWildcard(_babelTypes);var _clone=require("lodash/clone");var _clone2=_interopRequireDefault(_clone);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function explode(visitor){if(visitor._exploded)return visitor;visitor._exploded=true;for(var nodeType in visitor){if(shouldIgnoreKey(nodeType))continue;var parts=nodeType.split("|");if(parts.length===1)continue;var fns=visitor[nodeType];delete visitor[nodeType];for(var _iterator=parts,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:(0,_getIterator3.default)(_iterator);;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var part=_ref;visitor[part]=fns;}}verify(visitor);delete visitor.__esModule;ensureEntranceObjects(visitor);ensureCallbackArrays(visitor);for(var _iterator2=(0,_keys2.default)(visitor),_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:(0,_getIterator3.default)(_iterator2);;){var _ref2;if(_isArray2){if(_i2>=_iterator2.length)break;_ref2=_iterator2[_i2++];}else{_i2=_iterator2.next();if(_i2.done)break;_ref2=_i2.value;}var _nodeType3=_ref2;if(shouldIgnoreKey(_nodeType3))continue;var wrapper=virtualTypes[_nodeType3];if(!wrapper)continue;var _fns2=visitor[_nodeType3];for(var type in _fns2){_fns2[type]=wrapCheck(wrapper,_fns2[type]);}delete visitor[_nodeType3];if(wrapper.types){for(var _iterator4=wrapper.types,_isArray4=Array.isArray(_iterator4),_i4=0,_iterator4=_isArray4?_iterator4:(0,_getIterator3.default)(_iterator4);;){var _ref4;if(_isArray4){if(_i4>=_iterator4.length)break;_ref4=_iterator4[_i4++];}else{_i4=_iterator4.next();if(_i4.done)break;_ref4=_i4.value;}var _type=_ref4;if(visitor[_type]){mergePair(visitor[_type],_fns2);}else{visitor[_type]=_fns2;}}}else{mergePair(visitor,_fns2);}}for(var _nodeType in visitor){if(shouldIgnoreKey(_nodeType))continue;var _fns=visitor[_nodeType];var aliases=t.FLIPPED_ALIAS_KEYS[_nodeType];var deprecratedKey=t.DEPRECATED_KEYS[_nodeType];if(deprecratedKey){console.trace("Visitor defined for "+_nodeType+" but it has been renamed to "+deprecratedKey);aliases=[deprecratedKey];}if(!aliases)continue;delete visitor[_nodeType];for(var _iterator3=aliases,_isArray3=Array.isArray(_iterator3),_i3=0,_iterator3=_isArray3?_iterator3:(0,_getIterator3.default)(_iterator3);;){var _ref3;if(_isArray3){if(_i3>=_iterator3.length)break;_ref3=_iterator3[_i3++];}else{_i3=_iterator3.next();if(_i3.done)break;_ref3=_i3.value;}var alias=_ref3;var existing=visitor[alias];if(existing){mergePair(existing,_fns);}else{visitor[alias]=(0,_clone2.default)(_fns);}}}for(var _nodeType2 in visitor){if(shouldIgnoreKey(_nodeType2))continue;ensureCallbackArrays(visitor[_nodeType2]);}return visitor;}function verify(visitor){if(visitor._verified)return;if(typeof visitor==="function"){throw new Error(messages.get("traverseVerifyRootFunction")
Download .txt
gitextract_lphjetof/

├── .babelrc
├── .editorconfig
├── .eslintignore
├── .eslintrc
├── .flowconfig
├── .gitignore
├── LICENSE
├── README.md
├── index.html
├── package.json
├── serve.config.js
├── src/
│   ├── App.js
│   ├── Editor.css
│   ├── Editor.js
│   ├── config/
│   │   └── eslint.json
│   ├── index.js
│   ├── themes/
│   │   ├── dark.js
│   │   └── light.js
│   ├── vendor/
│   │   └── eslint.bundle.js
│   └── workers/
│       ├── eslint.worker.js
│       └── typings.worker.js
└── webpack.config.js
Download .txt
Showing preview only (309K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2701 symbols across 3 files)

FILE: src/Editor.js
  method getWorker (line 28) | getWorker(moduleId, label) {
  method provideDocumentFormattingEdits (line 68) | async provideDocumentFormattingEdits(model) {

FILE: src/vendor/eslint.bundle.js
  function _interopRequireDefault2 (line 1) | function _interopRequireDefault2(obj){return obj&&obj.__esModule?obj:{de...
  function s (line 1) | function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&re...
  function assembleStyles (line 14) | function assembleStyles(){var styles={modifiers:{reset:[0,0],bold:[1,22]...
  function compare (line 28) | function compare(a,b){if(a===b){return 0;}var x=a.length;var y=b.length;...
  function isBuffer (line 28) | function isBuffer(b){if(global.Buffer&&typeof global.Buffer.isBuffer==='...
  function pToString (line 52) | function pToString(obj){return Object.prototype.toString.call(obj);}
  function isView (line 52) | function isView(arrbuf){if(isBuffer(arrbuf)){return false;}if(typeof glo...
  function getName (line 60) | function getName(func){if(!util.isFunction(func)){return;}if(functionsHa...
  function truncate (line 65) | function truncate(s,n){if(typeof s==='string'){return s.length<n?s:s.sli...
  function inspect (line 65) | function inspect(something){if(functionsHaveNames||!util.isFunction(some...
  function getMessage (line 65) | function getMessage(self){return truncate(inspect(self.actual),128)+' '+...
  function fail (line 74) | function fail(actual,expected,message,operator,stackStartFunction){throw...
  function ok (line 81) | function ok(value,message){if(!value)fail(value,true,message,'==',assert...
  function _deepEqual (line 88) | function _deepEqual(actual,expected,strict,memos){// 7.1. All identical ...
  function isArguments (line 108) | function isArguments(object){return Object.prototype.toString.call(objec...
  function objEquiv (line 108) | function objEquiv(a,b,strict,actualVisitedObjects){if(a===null||a===unde...
  function notDeepStrictEqual (line 117) | function notDeepStrictEqual(actual,expected,message){if(_deepEqual(actua...
  function expectedException (line 121) | function expectedException(actual,expected){if(!actual||!expected){retur...
  function _tryBlock (line 122) | function _tryBlock(block){var error;try{block();}catch(e){error=e;}retur...
  function _throws (line 122) | function _throws(shouldThrow,block,expected,message){var actual;if(typeo...
  function _interopRequireDefault (line 125) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function getDefs (line 125) | function getDefs(chalk){return{keyword:chalk.cyan,capitalized:chalk.yell...
  function getTokenType (line 125) | function getTokenType(match){var _match$slice=match.slice(-2),offset=_ma...
  function highlight (line 125) | function highlight(defs,text){return text.replace(_jsTokens2.default,fun...
  function isBackQuote (line 140) | function isBackQuote(token){return tokens[token].type===tt.backQuote;}
  function isTemplateStarter (line 140) | function isTemplateStarter(token){return isBackQuote(token)||// only can...
  function isTemplateEnder (line 141) | function isTemplateEnder(token){return isBackQuote(token)||tokens[token]...
  function createTemplateValue (line 142) | function createTemplateValue(start,end){var value="";while(start<=end){i...
  function replaceWithTemplateType (line 143) | function replaceWithTemplateType(start,end){var templateToken={type:"Tem...
  function trackNumBraces (line 144) | function trackNumBraces(token){if(tokens[token].type===tt.braceL){numBra...
  function changeToLiteral (line 150) | function changeToLiteral(node){node.type="Literal";if(!node.raw){if(node...
  function changeComments (line 150) | function changeComments(nodeComments){for(var i=0;i<nodeComments.length;...
  function fixDirectives (line 163) | function fixDirectives(path){if(!(path.isProgram()||path.isFunction()))r...
  function createModule (line 165) | function createModule(filename){var mod=new Module(filename);mod.filenam...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function clear (line 178) | function clear(){clearPath();clearScope();}
  function clearPath (line 178) | function clearPath(){exports.path=path=new _weakMap2.default();}
  function clearScope (line 178) | function clearScope(){exports.scope=scope=new _weakMap2.default();}
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function TraversalContext (line 178) | function TraversalContext(scope,opts,state,parentPath){(0,_classCallChec...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function traverse (line 178) | function traverse(parent,opts,scope,state,parentPath){if(!parent)return;...
  function hasBlacklistedType (line 178) | function hasBlacklistedType(path,state){if(path.node.type===state.type){...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function findParent (line 178) | function findParent(callback){var path=this;while(path=path.parentPath){...
  function find (line 178) | function find(callback){var path=this;do{if(callback(path))return path;}...
  function getFunctionParent (line 178) | function getFunctionParent(){return this.findParent(function(path){retur...
  function getStatementParent (line 178) | function getStatementParent(){var path=this;do{if(Array.isArray(path.con...
  function getEarliestCommonAncestorFrom (line 178) | function getEarliestCommonAncestorFrom(paths){return this.getDeepestComm...
  function getDeepestCommonAncestorFrom (line 178) | function getDeepestCommonAncestorFrom(paths,filter){var _this=this;if(!p...
  function getAncestry (line 178) | function getAncestry(){var path=this;var paths=[];do{paths.push(path);}w...
  function isAncestor (line 178) | function isAncestor(maybeDescendant){return maybeDescendant.isDescendant...
  function isDescendant (line 178) | function isDescendant(maybeAncestor){return!!this.findParent(function(pa...
  function inType (line 178) | function inType(){var path=this;while(path){for(var _iterator3=arguments...
  function inShadow (line 178) | function inShadow(key){var parentFn=this.isFunction()?this:this.findPare...
  function shareCommentsWithSiblings (line 178) | function shareCommentsWithSiblings(){if(typeof this.key==="string")retur...
  function addComment (line 178) | function addComment(type,content,line){this.addComments(type,[{type:line...
  function addComments (line 178) | function addComments(type,comments){if(!comments)return;var node=this.no...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function call (line 178) | function call(key){var opts=this.opts;this.debug(function(){return key;}...
  function _call (line 178) | function _call(fns){if(!fns)return false;for(var _iterator=fns,_isArray=...
  function isBlacklisted (line 178) | function isBlacklisted(){var blacklist=this.opts.blacklist;return blackl...
  function visit (line 178) | function visit(){if(!this.node){return false;}if(this.isBlacklisted()){r...
  function skip (line 178) | function skip(){this.shouldSkip=true;}
  function skipKey (line 178) | function skipKey(key){this.skipKeys[key]=true;}
  function stop (line 178) | function stop(){this.shouldStop=true;this.shouldSkip=true;}
  function setScope (line 178) | function setScope(){if(this.opts&&this.opts.noScope)return;var target=th...
  function setContext (line 178) | function setContext(context){this.shouldSkip=false;this.shouldStop=false...
  function resync (line 178) | function resync(){if(this.removed)return;this._resyncParent();this._resy...
  function _resyncParent (line 178) | function _resyncParent(){if(this.parentPath){this.parent=this.parentPath...
  function _resyncKey (line 178) | function _resyncKey(){if(!this.container)return;if(this.node===this.cont...
  function _resyncList (line 178) | function _resyncList(){if(!this.parent||!this.inList)return;var newConta...
  function _resyncRemoved (line 178) | function _resyncRemoved(){if(this.key==null||!this.container||this.conta...
  function popContext (line 178) | function popContext(){this.contexts.pop();this.setContext(this.contexts[...
  function pushContext (line 178) | function pushContext(context){this.contexts.push(context);this.setContex...
  function setup (line 178) | function setup(parentPath,container,listKey,key){this.inList=!!listKey;t...
  function setKey (line 178) | function setKey(key){this.key=key;this.node=this.container[this.key];thi...
  function requeue (line 178) | function requeue(){var pathToQueue=arguments.length>0&&arguments[0]!==un...
  function _getQueueContexts (line 178) | function _getQueueContexts(){var path=this;var contexts=this.contexts;wh...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function toComputedKey (line 178) | function toComputedKey(){var node=this.node;var key=void 0;if(this.isMem...
  function ensureBlock (line 178) | function ensureBlock(){return t.ensureBlock(this.node);}
  function arrowFunctionToShadowed (line 178) | function arrowFunctionToShadowed(){if(!this.isArrowFunctionExpression())...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function evaluateTruthy (line 178) | function evaluateTruthy(){var res=this.evaluate();if(res.confident)retur...
  function evaluate (line 178) | function evaluate(){var confident=true;var deoptPath=void 0;var seen=new...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function getStatementParent (line 178) | function getStatementParent(){var path=this;do{if(!path.parentPath||Arra...
  function getOpposite (line 178) | function getOpposite(){if(this.key==="left"){return this.getSibling("rig...
  function getCompletionRecords (line 178) | function getCompletionRecords(){var paths=[];var add=function add(path){...
  function getSibling (line 178) | function getSibling(key){return _index2.default.get({parentPath:this.par...
  function getPrevSibling (line 178) | function getPrevSibling(){return this.getSibling(this.key-1);}
  function getNextSibling (line 178) | function getNextSibling(){return this.getSibling(this.key+1);}
  function getAllNextSiblings (line 178) | function getAllNextSiblings(){var _key=this.key;var sibling=this.getSibl...
  function getAllPrevSiblings (line 178) | function getAllPrevSiblings(){var _key=this.key;var sibling=this.getSibl...
  function get (line 178) | function get(key,context){if(context===true)context=this.context;var par...
  function _getKey (line 178) | function _getKey(key,context){var _this=this;var node=this.node;var cont...
  function _getPattern (line 178) | function _getPattern(parts,context){var path=this;for(var _iterator=part...
  function getBindingIdentifiers (line 178) | function getBindingIdentifiers(duplicates){return t.getBindingIdentifier...
  function getOuterBindingIdentifiers (line 178) | function getOuterBindingIdentifiers(duplicates){return t.getOuterBinding...
  function getBindingIdentifierPaths (line 178) | function getBindingIdentifierPaths(){var duplicates=arguments.length>0&&...
  function getOuterBindingIdentifierPaths (line 178) | function getOuterBindingIdentifierPaths(duplicates){return this.getBindi...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function NodePath (line 178) | function NodePath(hub,parent){(0,_classCallCheck3.default)(this,NodePath...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function getTypeAnnotation (line 178) | function getTypeAnnotation(){if(this.typeAnnotation)return this.typeAnno...
  function _getTypeAnnotation (line 178) | function _getTypeAnnotation(){var node=this.node;if(!node){if(this.key==...
  function isBaseType (line 178) | function isBaseType(baseName,soft){return _isBaseType(baseName,this.getT...
  function _isBaseType (line 178) | function _isBaseType(baseName,type,soft){if(baseName==="string"){return ...
  function couldBeBaseType (line 178) | function couldBeBaseType(name){var type=this.getTypeAnnotation();if(t.is...
  function baseTypeStrictlyMatches (line 178) | function baseTypeStrictlyMatches(right){var left=this.getTypeAnnotation(...
  function isGenericType (line 178) | function isGenericType(genericName){var type=this.getTypeAnnotation();re...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function getTypeAnnotationBindingConstantViolations (line 178) | function getTypeAnnotationBindingConstantViolations(path,name){var bindi...
  function getConstantViolationsBefore (line 178) | function getConstantViolationsBefore(binding,path,functions){var violati...
  function inferAnnotationFromBinaryExpression (line 178) | function inferAnnotationFromBinaryExpression(name,path){var operator=pat...
  function getParentConditionalPath (line 178) | function getParentConditionalPath(path){var parentPath=void 0;while(pare...
  function getConditionalAnnotation (line 178) | function getConditionalAnnotation(path,name){var ifStatement=getParentCo...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function VariableDeclarator (line 178) | function VariableDeclarator(){var id=this.get("id");if(id.isIdentifier()...
  function TypeCastExpression (line 178) | function TypeCastExpression(node){return node.typeAnnotation;}
  function NewExpression (line 178) | function NewExpression(node){if(this.get("callee").isIdentifier()){retur...
  function TemplateLiteral (line 178) | function TemplateLiteral(){return t.stringTypeAnnotation();}
  function UnaryExpression (line 178) | function UnaryExpression(node){var operator=node.operator;if(operator===...
  function BinaryExpression (line 178) | function BinaryExpression(node){var operator=node.operator;if(t.NUMBER_B...
  function LogicalExpression (line 178) | function LogicalExpression(){return t.createUnionTypeAnnotation([this.ge...
  function ConditionalExpression (line 178) | function ConditionalExpression(){return t.createUnionTypeAnnotation([thi...
  function SequenceExpression (line 178) | function SequenceExpression(){return this.get("expressions").pop().getTy...
  function AssignmentExpression (line 178) | function AssignmentExpression(){return this.get("right").getTypeAnnotati...
  function UpdateExpression (line 178) | function UpdateExpression(node){var operator=node.operator;if(operator==...
  function StringLiteral (line 178) | function StringLiteral(){return t.stringTypeAnnotation();}
  function NumericLiteral (line 178) | function NumericLiteral(){return t.numberTypeAnnotation();}
  function BooleanLiteral (line 178) | function BooleanLiteral(){return t.booleanTypeAnnotation();}
  function NullLiteral (line 178) | function NullLiteral(){return t.nullLiteralTypeAnnotation();}
  function RegExpLiteral (line 178) | function RegExpLiteral(){return t.genericTypeAnnotation(t.identifier("Re...
  function ObjectExpression (line 178) | function ObjectExpression(){return t.genericTypeAnnotation(t.identifier(...
  function ArrayExpression (line 178) | function ArrayExpression(){return t.genericTypeAnnotation(t.identifier("...
  function RestElement (line 178) | function RestElement(){return ArrayExpression();}
  function Func (line 178) | function Func(){return t.genericTypeAnnotation(t.identifier("Function"));}
  function CallExpression (line 178) | function CallExpression(){return resolveCall(this.get("callee"));}
  function TaggedTemplateExpression (line 178) | function TaggedTemplateExpression(){return resolveCall(this.get("tag"));}
  function resolveCall (line 178) | function resolveCall(callee){callee=callee.resolve();if(callee.isFunctio...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function matchesPattern (line 178) | function matchesPattern(pattern,allowPartial){if(!this.isMemberExpressio...
  function has (line 178) | function has(key){var val=this.node&&this.node[key];if(val&&Array.isArra...
  function isStatic (line 178) | function isStatic(){return this.scope.isStatic(this.node);}
  function isnt (line 178) | function isnt(key){return!this.has(key);}
  function equals (line 178) | function equals(key,value){return this.node[key]===value;}
  function isNodeType (line 178) | function isNodeType(type){return t.isType(this.type,type);}
  function canHaveVariableDeclarationOrExpression (line 178) | function canHaveVariableDeclarationOrExpression(){return(this.key==="ini...
  function canSwapBetweenExpressionAndStatement (line 178) | function canSwapBetweenExpressionAndStatement(replacement){if(this.key!=...
  function isCompletionRecord (line 178) | function isCompletionRecord(allowInsideFunction){var path=this;var first...
  function isStatementOrBlock (line 178) | function isStatementOrBlock(){if(this.parentPath.isLabeledStatement()||t...
  function referencesImport (line 178) | function referencesImport(moduleSource,importName){if(!this.isReferenced...
  function getSource (line 178) | function getSource(){var node=this.node;if(node.end){return this.hub.fil...
  function willIMaybeExecuteBefore (line 178) | function willIMaybeExecuteBefore(target){return this._guessExecutionStat...
  function _guessExecutionStatusRelativeTo (line 178) | function _guessExecutionStatusRelativeTo(target){var targetFuncParent=ta...
  function _guessExecutionStatusRelativeToDifferentFunctions (line 178) | function _guessExecutionStatusRelativeToDifferentFunctions(targetFuncPar...
  function resolve (line 178) | function resolve(dangerous,resolved){return this._resolve(dangerous,reso...
  function _resolve (line 178) | function _resolve(dangerous,resolved){var _this=this;if(resolved&&resolv...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function PathHoister (line 178) | function PathHoister(path,scope){(0,_classCallCheck3.default)(this,PathH...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function insertBefore (line 178) | function insertBefore(nodes){this._assertUnremoved();nodes=this._verifyN...
  function _containerInsert (line 178) | function _containerInsert(from,nodes){this.updateSiblingKeys(from,nodes....
  function _containerInsertBefore (line 178) | function _containerInsertBefore(nodes){return this._containerInsert(this...
  function _containerInsertAfter (line 178) | function _containerInsertAfter(nodes){return this._containerInsert(this....
  function _maybePopFromStatements (line 178) | function _maybePopFromStatements(nodes){var last=nodes[nodes.length-1];v...
  function insertAfter (line 178) | function insertAfter(nodes){this._assertUnremoved();nodes=this._verifyNo...
  function updateSiblingKeys (line 178) | function updateSiblingKeys(fromIndex,incrementBy){if(!this.parent)return...
  function _verifyNodeList (line 178) | function _verifyNodeList(nodes){if(!nodes){return[];}if(nodes.constructo...
  function unshiftContainer (line 178) | function unshiftContainer(listKey,nodes){this._assertUnremoved();nodes=t...
  function pushContainer (line 178) | function pushContainer(listKey,nodes){this._assertUnremoved();nodes=this...
  function hoist (line 178) | function hoist(){var scope=arguments.length>0&&arguments[0]!==undefined?...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function remove (line 178) | function remove(){this._assertUnremoved();this.resync();if(this._callRem...
  function _callRemovalHooks (line 178) | function _callRemovalHooks(){for(var _iterator=_removalHooks.hooks,_isAr...
  function _remove (line 178) | function _remove(){if(Array.isArray(this.container)){this.container.spli...
  function _markRemoved (line 178) | function _markRemoved(){this.shouldSkip=true;this.removed=true;this.node...
  function _assertUnremoved (line 178) | function _assertUnremoved(){if(this.removed){throw this.buildCodeFrameEr...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function replaceWithMultiple (line 178) | function replaceWithMultiple(nodes){this.resync();nodes=this._verifyNode...
  function replaceWithSourceString (line 178) | function replaceWithSourceString(replacement){this.resync();try{replacem...
  function replaceWith (line 178) | function replaceWith(replacement){this.resync();if(this.removed){throw n...
  function _replaceWith (line 178) | function _replaceWith(node){if(!this.container){throw new ReferenceError...
  function replaceExpressionWithStatements (line 178) | function replaceExpressionWithStatements(nodes){this.resync();var toSequ...
  function replaceInline (line 178) | function replaceInline(nodes){this.resync();if(Array.isArray(nodes)){if(...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function Binding (line 178) | function Binding(_ref){var existing=_ref.existing,identifier=_ref.identi...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function getCache (line 178) | function getCache(path,parentScope,self){var scopes=_cache.scope.get(pat...
  function gatherNodeParts (line 178) | function gatherNodeParts(node,parts){if(t.isModuleDeclaration(node)){if(...
  function Scope (line 178) | function Scope(path,parentScope){(0,_classCallCheck3.default)(this,Scope...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function Renamer (line 178) | function Renamer(binding,oldName,newName){(0,_classCallCheck3.default)(t...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function explode (line 178) | function explode(visitor){if(visitor._exploded)return visitor;visitor._e...
  function verify (line 178) | function verify(visitor){if(visitor._verified)return;if(typeof visitor==...
  function validateVisitorMethods (line 178) | function validateVisitorMethods(path,val){var fns=[].concat(val);for(var...
  function merge (line 178) | function merge(visitors){var states=arguments.length>1&&arguments[1]!==u...
  function wrapWithStateOrWrapper (line 178) | function wrapWithStateOrWrapper(oldVisitor,state,wrapper){var newVisitor...
  function ensureEntranceObjects (line 178) | function ensureEntranceObjects(obj){for(var key in obj){if(shouldIgnoreK...
  function ensureCallbackArrays (line 178) | function ensureCallbackArrays(obj){if(obj.enter&&!Array.isArray(obj.ente...
  function wrapCheck (line 178) | function wrapCheck(wrapper,fn){var newFn=function newFn(path){if(wrapper...
  function shouldIgnoreKey (line 178) | function shouldIgnoreKey(key){if(key[0]==="_")return true;if(key==="ente...
  function mergePair (line 178) | function mergePair(dest,src){for(var key in src){dest[key]=[].concat(des...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function toComputedKey (line 178) | function toComputedKey(node){var key=arguments.length>1&&arguments[1]!==...
  function toSequenceExpression (line 178) | function toSequenceExpression(nodes,scope){if(!nodes||!nodes.length)retu...
  function toKeyAlias (line 178) | function toKeyAlias(node){var key=arguments.length>1&&arguments[1]!==und...
  function toIdentifier (line 178) | function toIdentifier(name){name=name+"";name=name.replace(/[^a-zA-Z0-9$...
  function toBindingIdentifierName (line 178) | function toBindingIdentifierName(name){name=toIdentifier(name);if(name==...
  function toStatement (line 178) | function toStatement(node,ignore){if(t.isStatement(node)){return node;}v...
  function toExpression (line 178) | function toExpression(node){if(t.isExpressionStatement(node)){node=node....
  function toBlock (line 178) | function toBlock(node,parent){if(t.isBlockStatement(node)){return node;}...
  function valueToNode (line 178) | function valueToNode(value){if(value===undefined){return t.identifier("u...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function getType (line 178) | function getType(val){if(Array.isArray(val)){return"array";}else if(val=...
  function assertEach (line 178) | function assertEach(callback){function validator(node,key,val){if(!Array...
  function assertOneOf (line 178) | function assertOneOf(){for(var _len=arguments.length,vals=Array(_len),_k...
  function assertNodeType (line 178) | function assertNodeType(){for(var _len2=arguments.length,types=Array(_le...
  function assertNodeOrValueType (line 178) | function assertNodeOrValueType(){for(var _len3=arguments.length,types=Ar...
  function assertValueType (line 178) | function assertValueType(type){function validate(node,key,val){var valid...
  function chain (line 178) | function chain(){for(var _len4=arguments.length,fns=Array(_len4),_key4=0...
  function defineType (line 178) | function defineType(type){var opts=arguments.length>1&&arguments[1]!==un...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function createUnionTypeAnnotation (line 178) | function createUnionTypeAnnotation(types){var flattened=removeTypeDuplic...
  function removeTypeDuplicates (line 178) | function removeTypeDuplicates(nodes){var generics={};var bases={};var ty...
  function createTypeAnnotationBasedOnTypeof (line 178) | function createTypeAnnotationBasedOnTypeof(type){if(type==="string"){ret...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function registerType (line 178) | function registerType(type){var is=t["is"+type];if(!is){is=t["is"+type]=...
  function is (line 178) | function is(type,node,opts){if(!node)return false;var matches=isType(nod...
  function isType (line 178) | function isType(nodeType,targetType){if(nodeType===targetType)return tru...
  function builder (line 178) | function builder(){if(arguments.length>keys.length){throw new Error("t."...
  function proxy (line 178) | function proxy(fn){return function(){console.trace("The node type "+_typ...
  function validate (line 178) | function validate(node,key,val){if(!node)return;var fields=t.NODE_FIELDS...
  function shallowEqual (line 178) | function shallowEqual(actual,expected){var keys=(0,_keys2.default)(expec...
  function appendToMemberExpression (line 178) | function appendToMemberExpression(member,append,computed){member.object=...
  function prependToMemberExpression (line 178) | function prependToMemberExpression(member,prepend){member.object=t.membe...
  function ensureBlock (line 178) | function ensureBlock(node){var key=arguments.length>1&&arguments[1]!==un...
  function clone (line 178) | function clone(node){if(!node)return node;var newNode={};for(var key in ...
  function cloneWithoutLoc (line 178) | function cloneWithoutLoc(node){var newNode=clone(node);delete newNode.lo...
  function cloneDeep (line 178) | function cloneDeep(node){if(!node)return node;var newNode={};for(var key...
  function buildMatchMemberExpression (line 178) | function buildMatchMemberExpression(match,allowPartial){var parts=match....
  function removeComments (line 178) | function removeComments(node){for(var _iterator4=t.COMMENT_KEYS,_isArray...
  function inheritsComments (line 178) | function inheritsComments(child,parent){inheritTrailingComments(child,pa...
  function inheritTrailingComments (line 178) | function inheritTrailingComments(child,parent){_inheritComments("trailin...
  function inheritLeadingComments (line 178) | function inheritLeadingComments(child,parent){_inheritComments("leadingC...
  function inheritInnerComments (line 178) | function inheritInnerComments(child,parent){_inheritComments("innerComme...
  function _inheritComments (line 178) | function _inheritComments(key,child,parent){if(child&&parent){child[key]...
  function inherits (line 178) | function inherits(child,parent){if(!child||!parent)return child;for(var ...
  function assertNode (line 178) | function assertNode(node){if(!isNode(node)){throw new TypeError("Not a v...
  function isNode (line 178) | function isNode(node){return!!(node&&_definitions.VISITOR_KEYS[node.type...
  function traverseFast (line 178) | function traverseFast(node,enter,opts){if(!node)return;var keys=t.VISITO...
  function removeProperties (line 178) | function removeProperties(node,opts){opts=opts||{};var map=opts.preserve...
  function removePropertiesDeep (line 178) | function removePropertiesDeep(tree,opts){traverseFast(tree,removePropert...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function isCompatTag (line 178) | function isCompatTag(tagName){return!!tagName&&/^[a-z]|\-/.test(tagName);}
  function cleanJSXElementLiteralChild (line 178) | function cleanJSXElementLiteralChild(child,args){var lines=child.value.s...
  function buildChildren (line 178) | function buildChildren(node){var elems=[];for(var i=0;i<node.children.le...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function getBindingIdentifiers (line 178) | function getBindingIdentifiers(node,duplicates,outerOnly){var search=[]....
  function getOuterBindingIdentifiers (line 178) | function getOuterBindingIdentifiers(node,duplicates){return getBindingId...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function isBinding (line 178) | function isBinding(node,parent){var keys=_retrievers.getBindingIdentifie...
  function isReferenced (line 178) | function isReferenced(node,parent){switch(parent.type){case"BindExpressi...
  function isValidIdentifier (line 178) | function isValidIdentifier(name){if(typeof name!=="string"||_esutils2.de...
  function isLet (line 178) | function isLet(node){return t.isVariableDeclaration(node)&&(node.kind!==...
  function isBlockScoped (line 178) | function isBlockScoped(node){return t.isFunctionDeclaration(node)||t.isC...
  function isVar (line 178) | function isVar(node){return t.isVariableDeclaration(node,{kind:"var"})&&...
  function isSpecifierDefault (line 178) | function isSpecifierDefault(specifier){return t.isImportDefaultSpecifier...
  function isScope (line 178) | function isScope(node,parent){if(t.isBlockStatement(node)&&t.isFunction(...
  function isImmutable (line 178) | function isImmutable(node){if(t.isType(node.type,"Immutable"))return tru...
  function isNodesEquivalent (line 178) | function isNodesEquivalent(a,b){if((typeof a==="undefined"?"undefined":(...
  function _interopRequireWildcard (line 178) | function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function get (line 178) | function get(key){for(var _len=arguments.length,args=Array(_len>1?_len-1...
  function parseArgs (line 178) | function parseArgs(args){return args.map(function(val){if(val!=null&&val...
  function _interopRequireDefault (line 178) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function makePredicate (line 186) | function makePredicate(words){words=words.split(" ");return function(str...
  function isInAstralSet (line 204) | function isInAstralSet(code,set){var pos=0x10000;for(var i=0;i<set.lengt...
  function isIdentifierStart (line 205) | function isIdentifierStart(code){if(code<65)return code===36;if(code<91)...
  function isIdentifierChar (line 206) | function isIdentifierChar(code){if(code<48)return code===36;if(code<58)r...
  function getOptions (line 219) | function getOptions(opts){var options={};for(var key in defaultOptions){...
  function KeywordTokenType (line 233) | function KeywordTokenType(name){var options=arguments.length>1&&argument...
  function BinopTokenType (line 233) | function BinopTokenType(name,prec){classCallCheck(this,BinopTokenType);r...
  function isNewLine (line 250) | function isNewLine(code){return code===10||code===13||code===0x2028||cod...
  function getLineInfo (line 262) | function getLineInfo(input,offset){for(var line=1,cur=0;;){lineBreakG.la...
  function State (line 262) | function State(){classCallCheck(this,State);}
  function codePointToString (line 292) | function codePointToString(code){// UTF-16 Decoding
  function Tokenizer (line 293) | function Tokenizer(options,input){classCallCheck(this,Tokenizer);this.st...
  function Parser (line 399) | function Parser(options,input){classCallCheck(this,Parser);options=getOp...
  function Node (line 612) | function Node(pos,loc,filename){classCallCheck(this,Node);this.type="";t...
  function finishNodeAt (line 613) | function finishNodeAt(node,type,pos,loc){node.type=type;node.end=pos;nod...
  function last (line 642) | function last(stack){return stack[stack.length-1];}
  function isSimpleProperty (line 675) | function isSimpleProperty(node){return node&&node.type==="Property"&&nod...
  function getQualifiedJSXName (line 784) | function getQualifiedJSXName(object){if(object.type==="JSXIdentifier"){r...
  function parse (line 804) | function parse(input,options){return new Parser(options,input).parse();}
  function parseExpression (line 804) | function parseExpression(input,options){var parser=new Parser(options,in...
  function Chalk (line 804) | function Chalk(options){// detect mode if not set manually
  function build (line 806) | function build(_styles){var builder=function builder(){return applyStyle...
  function applyStyle (line 808) | function applyStyle(){// support varags, but simply cast to string in ca...
  function init (line 817) | function init(){var ret={};(0,_keys4.default)(styles).forEach(function(n...
  function useColors (line 1024) | function useColors(){// NB: In an Electron preload script, document will...
  function formatArgs (line 1039) | function formatArgs(args){var useColors=this.useColors;args[0]=(useColor...
  function log (line 1049) | function log(){// this hackery is required for IE8/9, where
  function save (line 1056) | function save(namespaces){try{if(null==namespaces){exports.storage.remov...
  function load (line 1061) | function load(){try{return exports.storage.debug;}catch(e){}// If debug ...
  function localstorage (line 1073) | function localstorage(){try{return window.localStorage;}catch(e){}}
  function selectColor (line 1091) | function selectColor(namespace){var hash=0,i;for(i in namespace){hash=(h...
  function createDebug (line 1098) | function createDebug(namespace){function debug(){// disabled?
  function enable (line 1113) | function enable(namespaces){exports.save(namespaces);exports.names=[];ex...
  function disable (line 1118) | function disable(){exports.enable('');}
  function enabled (line 1124) | function enabled(name){var i,len;for(i=0,len=exports.skips.length;i<len;...
  function coerce (line 1130) | function coerce(val){if(val instanceof Error)return val.stack||val.messa...
  function sliceSource (line 1135) | function sliceSource(source,index,last){return source.slice(index,last);}
  function shallowCopy (line 1135) | function shallowCopy(obj){var ret={},key;for(key in obj){if(obj.hasOwnPr...
  function isASCIIAlphanumeric (line 1135) | function isASCIIAlphanumeric(ch){return ch>=0x61/* 'a' */&&ch<=0x7A/* 'z...
  function isParamTitle (line 1135) | function isParamTitle(title){return title==='param'||title==='argument'|...
  function isReturnTitle (line 1135) | function isReturnTitle(title){return title==='return'||title==='returns';}
  function isProperty (line 1135) | function isProperty(title){return title==='property'||title==='prop';}
  function isNameParameterRequired (line 1135) | function isNameParameterRequired(title){return isParamTitle(title)||isPr...
  function isAllowedName (line 1135) | function isAllowedName(title){return isNameParameterRequired(title)||tit...
  function isAllowedNested (line 1135) | function isAllowedNested(title){return isProperty(title)||isParamTitle(t...
  function isAllowedOptional (line 1135) | function isAllowedOptional(title){return isProperty(title)||isParamTitle...
  function isTypeParameterRequired (line 1135) | function isTypeParameterRequired(title){return isParamTitle(title)||isRe...
  function isAllowedType (line 1137) | function isAllowedType(title){return isTypeParameterRequired(title)||tit...
  function trim (line 1137) | function trim(str){return str.replace(/^\s+/,'').replace(/\s+$/,'');}
  function unwrapComment (line 1137) | function unwrapComment(doc){// JSDoc comment is following form
  function advance (line 1143) | function advance(){var ch=source.charCodeAt(index);index+=1;if(esutils.c...
  function scanTitle (line 1143) | function scanTitle(){var title='';// waste '@'
  function seekContent (line 1144) | function seekContent(){var ch,waiting,last=index;waiting=false;while(las...
  function parseType (line 1148) | function parseType(title,last){var ch,brace,type,direct=false;// search '{'
  function scanIdentifier (line 1152) | function scanIdentifier(last){var identifier;if(!esutils.code.isIdentifi...
  function skipWhiteSpace (line 1152) | function skipWhiteSpace(last){while(index<last&&(esutils.code.isWhiteSpa...
  function parseName (line 1152) | function parseName(last,allowBrackets,allowNestedParams){var name='',use...
  function skipToTag (line 1157) | function skipToTag(){while(index<length&&source.charCodeAt(index)!==0x40...
  function TagParser (line 1157) | function TagParser(options,title){this._options=options;this._title=titl...
  function parseTag (line 1210) | function parseTag(options){var title,parser,tag;// skip to tag
  function scanJSDocDescription (line 1217) | function scanJSDocDescription(preserveWhitespace){var description='',ch,...
  function parse (line 1217) | function parse(comment,options){var tags=[],tag,description,interestingT...
  function isTypeName (line 1245) | function isTypeName(ch){return'><(){}[],:*|?!='.indexOf(String.fromCharC...
  function Context (line 1245) | function Context(previous,index,token,value){this._previous=previous;thi...
  function advance (line 1245) | function advance(){var ch=source.charAt(index);index+=1;return ch;}
  function scanHexEscape (line 1245) | function scanHexEscape(prefix){var i,len,ch,code=0;len=prefix==='u'?4:2;...
  function scanString (line 1245) | function scanString(){var str='',quote,ch,code,unescaped,restore;//TODO ...
  function scanNumber (line 1254) | function scanNumber(){var number,ch;number='';ch=source.charCodeAt(index...
  function scanTypeName (line 1255) | function scanTypeName(){var ch,ch2;value=advance();while(index<length&&i...
  function next (line 1255) | function next(){var ch;previous=index;while(index<length&&esutils.code.i...
  function consume (line 1265) | function consume(target,text){utility.assert(token===target,text||'consu...
  function expect (line 1265) | function expect(target,message){if(token!==target){utility.throwError(me...
  function parseUnionType (line 1274) | function parseUnionType(){var elements;consume(Token.LPAREN,'UnionType s...
  function parseArrayType (line 1281) | function parseArrayType(){var elements;consume(Token.LBRACK,'ArrayType s...
  function parseFieldName (line 1281) | function parseFieldName(){var v=value;if(token===Token.NAME||token===Tok...
  function parseFieldType (line 1290) | function parseFieldType(){var key;key=parseFieldName();if(token===Token....
  function parseRecordType (line 1296) | function parseRecordType(){var fields;consume(Token.LBRACE,'RecordType s...
  function parseNameExpression (line 1303) | function parseNameExpression(){var name=value;expect(Token.NAME);if(toke...
  function parseTypeExpressionList (line 1306) | function parseTypeExpressionList(){var elements=[];elements.push(parseTo...
  function parseTypeName (line 1313) | function parseTypeName(){var expr,applications;expr=parseNameExpression(...
  function parseResultType (line 1320) | function parseResultType(){consume(Token.COLON,'ResultType should start ...
  function parseParametersType (line 1343) | function parseParametersType(){var params=[],optionalSequence=false,expr...
  function parseFunctionType (line 1352) | function parseFunctionType(){var isNew,thisBinding,params,result,fnType;...
  function parseBasicTypeExpression (line 1367) | function parseBasicTypeExpression(){var context;switch(token){case Token...
  function parseTypeExpression (line 1375) | function parseTypeExpression(){var expr;if(token===Token.QUESTION){consu...
  function parseTop (line 1384) | function parseTop(){var expr,elements;expr=parseTypeExpression();if(toke...
  function parseTopParamType (line 1384) | function parseTopParamType(){var expr;if(token===Token.REST){consume(Tok...
  function parseType (line 1384) | function parseType(src,opt){var expr;source=src;length=source.length;ind...
  function parseParamType (line 1384) | function parseParamType(src,opt){var expr;source=src;length=source.lengt...
  function stringifyImpl (line 1384) | function stringifyImpl(node,compact,topLevel){var result,i,iz;switch(nod...
  function stringify (line 1384) | function stringify(node,options){if(options==null){options={};}return st...
  function DoctrineError (line 1387) | function DoctrineError(message){this.name='DoctrineError';this.message=m...
  function throwError (line 1387) | function throwError(message){throw new DoctrineError(message);}
  function _interopRequireDefault (line 1504) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function _possibleConstructorReturn (line 1504) | function _possibleConstructorReturn(self,call){if(!self){throw new Refer...
  function _inherits (line 1504) | function _inherits(subClass,superClass){if(typeof superClass!=="function...
  function _classCallCheck (line 1504) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function ParameterDefinition (line 1542) | function ParameterDefinition(name,node,index,rest){_classCallCheck(this,...
  function _interopRequireDefault (line 1589) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function defaultOptions (line 1589) | function defaultOptions(){return{optimistic:false,directive:false,nodejs...
  function updateDeeply (line 1590) | function updateDeeply(target,override){var key,val;function isHashObject...
  function analyze (line 1609) | function analyze(tree,providedOptions){var scopeManager,referencer,optio...
  function defineProperties (line 1609) | function defineProperties(target,props){for(var i=0;i<props.length;i++){...
  function _interopRequireDefault (line 1609) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function _classCallCheck (line 1609) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function _possibleConstructorReturn (line 1609) | function _possibleConstructorReturn(self,call){if(!self){throw new Refer...
  function _inherits (line 1609) | function _inherits(subClass,superClass){if(typeof superClass!=="function...
  function getLast (line 1631) | function getLast(xs){return xs[xs.length-1]||null;}
  function PatternVisitor (line 1631) | function PatternVisitor(options,rootPattern,callback){_classCallCheck(th...
  function defineProperties (line 1644) | function defineProperties(target,props){for(var i=0;i<props.length;i++){...
  function _classCallCheck (line 1644) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function Reference (line 1669) | function Reference(ident,scope,flag,writeExpr,maybeImplicitGlobal,partia...
  function defineProperties (line 1729) | function defineProperties(target,props){for(var i=0;i<props.length;i++){...
  function _interopRequireDefault (line 1729) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function _classCallCheck (line 1729) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function _possibleConstructorReturn (line 1729) | function _possibleConstructorReturn(self,call){if(!self){throw new Refer...
  function _inherits (line 1729) | function _inherits(subClass,superClass){if(typeof superClass!=="function...
  function traverseIdentifierInPattern (line 1751) | function traverseIdentifierInPattern(options,rootPattern,referencer,call...
  function Importer (line 1758) | function Importer(declaration,referencer){_classCallCheck(this,Importer)...
  function Referencer (line 1759) | function Referencer(options,scopeManager){_classCallCheck(this,Reference...
  function defineProperties (line 1787) | function defineProperties(target,props){for(var i=0;i<props.length;i++){...
  function _interopRequireDefault (line 1809) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function _classCallCheck (line 1809) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function ScopeManager (line 1811) | function ScopeManager(options){_classCallCheck(this,ScopeManager);this.s...
  function predicate (line 1827) | function predicate(scope){if(scope.type==='function'&&scope.functionExpr...
  function defineProperties (line 1840) | function defineProperties(target,props){for(var i=0;i<props.length;i++){...
  function _interopRequireDefault (line 1862) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function _possibleConstructorReturn (line 1862) | function _possibleConstructorReturn(self,call){if(!self){throw new Refer...
  function _inherits (line 1862) | function _inherits(subClass,superClass){if(typeof superClass!=="function...
  function _classCallCheck (line 1862) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function isStrictScope (line 1862) | function isStrictScope(scope,block,isMethodDefinition,useDirective){var ...
  function registerScope (line 1865) | function registerScope(scopeManager,scope){var scopes;scopeManager.scope...
  function shouldBeStatically (line 1865) | function shouldBeStatically(def){return def.type===_variable2.default.Cl...
  function Scope (line 1867) | function Scope(scopeManager,type,upperScope,block,isMethodDefinition){_c...
  function GlobalScope (line 1951) | function GlobalScope(scopeManager,block){_classCallCheck(this,GlobalScop...
  function ModuleScope (line 1956) | function ModuleScope(scopeManager,upperScope,block){_classCallCheck(this...
  function FunctionExpressionNameScope (line 1956) | function FunctionExpressionNameScope(scopeManager,upperScope,block){_cla...
  function CatchScope (line 1956) | function CatchScope(scopeManager,upperScope,block){_classCallCheck(this,...
  function WithScope (line 1956) | function WithScope(scopeManager,upperScope,block){_classCallCheck(this,W...
  function TDZScope (line 1956) | function TDZScope(scopeManager,upperScope,block){_classCallCheck(this,TD...
  function BlockScope (line 1956) | function BlockScope(scopeManager,upperScope,block){_classCallCheck(this,...
  function SwitchScope (line 1956) | function SwitchScope(scopeManager,upperScope,block){_classCallCheck(this...
  function FunctionScope (line 1956) | function FunctionScope(scopeManager,upperScope,block,isMethodDefinition)...
  function ForScope (line 1966) | function ForScope(scopeManager,upperScope,block){_classCallCheck(this,Fo...
  function ClassScope (line 1966) | function ClassScope(scopeManager,upperScope,block){_classCallCheck(this,...
  function _classCallCheck (line 1966) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function isModifyingReference (line 2030) | function isModifyingReference(reference,index,references){var identifier...
  function startsWithUpperCase (line 2039) | function startsWithUpperCase(s){return s[0]!==s[0].toLocaleLowerCase();}
  function isES5Constructor (line 2043) | function isES5Constructor(node){return node.id&&startsWithUpperCase(node...
  function getUpperFunction (line 2047) | function getUpperFunction(node){while(node){if(anyFunctionPattern.test(n...
  function isNullOrUndefined (line 2052) | function isNullOrUndefined(node){return node.type==="Literal"&&node.valu...
  function isCallee (line 2056) | function isCallee(node){return node.parent.type==="CallExpression"&&node...
  function isReflectApply (line 2060) | function isReflectApply(node){return node.type==="MemberExpression"&&nod...
  function isArrayFromMethod (line 2064) | function isArrayFromMethod(node){return node.type==="MemberExpression"&&...
  function isMethodWhichHasThisArg (line 2068) | function isMethodWhichHasThisArg(node){while(node){if(node.type==="Ident...
  function hasJSDocThisTag (line 2073) | function hasJSDocThisTag(node,sourceCode){var jsdocComment=sourceCode.ge...
  function isParenthesised (line 2083) | function isParenthesised(sourceCode,node){var previousToken=sourceCode.g...
  function checkArray (line 2286) | function checkArray(obj,key,fallback){/* istanbul ignore if */if(Object....
  function invert (line 2291) | function invert(map,key){map[key]=true;return map;}
  function calculateCapIsNewExceptions (line 2295) | function calculateCapIsNewExceptions(config){var capIsNewExceptions=chec...
  function extractNameFromExpression (line 2305) | function extractNameFromExpression(node){var name="",property;if(node.ca...
  function getCap (line 2310) | function getCap(str){var firstChar=str.charAt(0);var firstCharLower=firs...
  function isDecorator (line 2315) | function isDecorator(node){return node.parent.type==="Decorator";}
  function isCapAllowed (line 2321) | function isCapAllowed(allowedMap,node,calleeName){if(allowedMap[calleeNa...
  function report (line 2327) | function report(node,message){var callee=node.callee;if(callee.type==="M...
  function enterClassProperty (line 2369) | function enterClassProperty(){insideClassProperty=true;}
  function exitClassProperty (line 2372) | function exitClassProperty(){insideClassProperty=false;}
  function enterFunction (line 2381) | function enterFunction(node){// `this` can be invalid only under strict ...
  function exitFunction (line 2385) | function exitFunction(){stack.pop();}
  function isOptionSet (line 2408) | function isOptionSet(option){return context.options[1]!=null?context.opt...
  function isSpaced (line 2416) | function isSpaced(left,right){return sourceCode.isSpaceBetweenTokens(lef...
  function isSameLine (line 2421) | function isSameLine(left,right){return left.loc.start.line===right.loc.s...
  function reportNoBeginningSpace (line 2426) | function reportNoBeginningSpace(node,token){context.report({node:node,lo...
  function reportNoEndingSpace (line 2431) | function reportNoEndingSpace(node,token){context.report({node:node,loc:t...
  function reportRequiredBeginningSpace (line 2436) | function reportRequiredBeginningSpace(node,token){context.report({node:n...
  function reportRequiredEndingSpace (line 2441) | function reportRequiredEndingSpace(node,token){context.report({node:node...
  function validateBraceSpacing (line 2449) | function validateBraceSpacing(node,first,second,penultimate,last){var cl...
  function checkForObject (line 2453) | function checkForObject(node){if(node.properties.length===0){return;}var...
  function checkForImport (line 2458) | function checkForImport(node){if(node.specifiers.length===0){return;}var...
  function checkForExport (line 2463) | function checkForExport(node){if(node.specifiers.length===0){return;}var...
  function report (line 2488) | function report(node,missing){var lastToken=sourceCode.getLastToken(node...
  function isSemicolon (line 2492) | function isSemicolon(token){return token.type==="Punctuator"&&token.valu...
  function isUnnecessarySemicolon (line 2498) | function isUnnecessarySemicolon(lastToken){if(!isSemicolon(lastToken)){r...
  function isOneLinerBlock (line 2502) | function isOneLinerBlock(node){var nextToken=sourceCode.getTokenAfter(no...
  function checkForSemicolon (line 2506) | function checkForSemicolon(node){var lastToken=sourceCode.getLastToken(n...
  function checkForSemicolonForVariableDeclaration (line 2510) | function checkForSemicolonForVariableDeclaration(node){var ancestors=con...
  function reportColorLiterals (line 2516) | function reportColorLiterals(colorLiterals){if(colorLiterals){colorLiter...
  function reportInlineStyles (line 2519) | function reportInlineStyles(inlineStyles){if(inlineStyles){inlineStyles....
  function reportUnusedStyles (line 2522) | function reportUnusedStyles(unusedStyles){(0,_keys4.default)(unusedStyle...
  function getKeyValue (line 2526) | function getKeyValue(node){var key=node.key||node.argument;return key.ty...
  function hasNodeWithName (line 2526) | function hasNodeWithName(nodes,name){return nodes.some(function(node){va...
  function reportErrors (line 2526) | function reportErrors(components,filename){var containsAndroidAndIOS=has...
  function Components (line 2532) | function Components(){this.list={};this.getId=function(node){return node...
  function componentRule (line 2557) | function componentRule(rule,context){var sourceCode=context.getSourceCod...
  function StyleSheets (line 2614) | function StyleSheets(){this.styleSheets={};}
  function isDisplayNameDeclaration (line 2652) | function isDisplayNameDeclaration(node){switch(node.type){// Special cas...
  function markDisplayNameAsDeclared (line 2657) | function markDisplayNameAsDeclared(node){components.set(node,{hasDisplay...
  function reportMissingDisplayName (line 2660) | function reportMissingDisplayName(component){context.report({node:compon...
  function hasTranspilerName (line 2664) | function hasTranspilerName(node){var namedObjectAssignment=node.type==='...
  function isForbidden (line 2678) | function isForbidden(prop){var configuration=context.options[0]||{};var ...
  function errorMessageForElement (line 2685) | function errorMessageForElement(name){var message='<'+name+'> is forbidd...
  function isValidCreateElement (line 2685) | function isValidCreateElement(node){return node.callee&&node.callee.type...
  function reportIfForbidden (line 2685) | function reportIfForbidden(element,node){if(has(indexedForbidConfigs,ele...
  function isLeftSideOfAssignment (line 2697) | function isLeftSideOfAssignment(node){return node.parent.type==='Assignm...
  function isForbidden (line 2705) | function isForbidden(type){var configuration=context.options[0]||{};var ...
  function isPropTypesDeclaration (line 2709) | function isPropTypesDeclaration(node){// Special case for class properties
  function checkForbidden (line 2715) | function checkForbidden(declarations){declarations.forEach(function(decl...
  function getExpectedLocation (line 2735) | function getExpectedLocation(tokens){var location;// Is always after the...
  function getCorrectColumn (line 2744) | function getCorrectColumn(tokens,expectedLocation){switch(expectedLocati...
  function hasCorrectLocation (line 2749) | function hasCorrectLocation(tokens,expectedLocation){switch(expectedLoca...
  function getIndentation (line 2755) | function getIndentation(tokens,expectedLocation,correctColumn){var inden...
  function getTokensLocations (line 2762) | function getTokensLocations(node){var opening=sourceCode.getFirstToken(n...
  function getOpeningElementId (line 2767) | function getOpeningElementId(node){return node.range.join(':');}
  function isMultiline (line 2787) | function isMultiline(left,right){return left.loc.start.line!==right.loc....
  function reportNoBeginningNewline (line 2792) | function reportNoBeginningNewline(node,token){context.report({node:node,...
  function reportNoEndingNewline (line 2797) | function reportNoEndingNewline(node,token){context.report({node:node,loc...
  function reportNoBeginningSpace (line 2802) | function reportNoBeginningSpace(node,token){context.report({node:node,lo...
  function reportNoEndingSpace (line 2807) | function reportNoEndingSpace(node,token){context.report({node:node,loc:t...
  function reportRequiredBeginningSpace (line 2812) | function reportRequiredBeginningSpace(node,token){context.report({node:n...
  function reportRequiredEndingSpace (line 2817) | function reportRequiredEndingSpace(node,token){context.report({node:node...
  function validateBraceSpacing (line 2821) | function validateBraceSpacing(node){// Only validate attributes
  function hasEqual (line 2835) | function hasEqual(attrNode){return attrNode.type!=='JSXSpreadAttribute'&...
  function getExtensionsConfig (line 2847) | function getExtensionsConfig(){return context.options[0]&&context.option...
  function isMultilineJSX (line 2856) | function isMultilineJSX(jsxNode){return jsxNode.loc.start.line<jsxNode.l...
  function report (line 2899) | function report(node,needed,gotten,loc){var msgContext={needed:needed,ty...
  function getNodeIndent (line 2905) | function getNodeIndent(node,byLastLine,excludeCommas){byLastLine=byLastL...
  function isNodeFirstInLine (line 2910) | function isNodeFirstInLine(node,byEndLocation){var firstToken=byEndLocat...
  function checkNodesIndent (line 2915) | function checkNodesIndent(nodes,indent,excludeCommas){nodes.forEach(func...
  function getFixerFunction (line 2952) | function getFixerFunction(node,needed){return function(fixer){var indent...
  function report (line 2958) | function report(node,needed,gotten,loc){var msgContext={needed:needed,ty...
  function getNodeIndent (line 2964) | function getNodeIndent(node,byLastLine,excludeCommas){byLastLine=byLastL...
  function isNodeFirstInLine (line 2968) | function isNodeFirstInLine(node){var token=node;do{token=sourceCode.getT...
  function isRightInLogicalExp (line 2972) | function isRightInLogicalExp(node){return node.parent&&node.parent.paren...
  function isAlternateInConditionalExp (line 2976) | function isAlternateInConditionalExp(node){return node.parent&&node.pare...
  function checkNodesIndent (line 2981) | function checkNodesIndent(node,indent,excludeCommas){var nodeIndent=getN...
  function checkIteratorElement (line 2990) | function checkIteratorElement(node){if(node.type==='JSXElement'&&!hasPro...
  function getReturnStatement (line 2990) | function getReturnStatement(body){return body.filter(function(item){retu...
  function getPropName (line 2997) | function getPropName(propNode){if(propNode.type==='JSXSpreadAttribute'){...
  function reportLiteralNode (line 3010) | function reportLiteralNode(node){context.report(node,'Comments inside ch...
  function reportLiteralNode (line 3026) | function reportLiteralNode(node){context.report({node:node,message:'Miss...
  function isTagName (line 3042) | function isTagName(name){return tagConvention.test(name);}// -----------...
  function checkIdentifierInJSX (line 3049) | function checkIdentifierInJSX(node){var scope=context.getScope();var var...
  function isCallbackPropName (line 3067) | function isCallbackPropName(name){return /^on[A-Z]/.test(name);}
  function validateClosingSlash (line 3089) | function validateClosingSlash(context,node,option){var sourceCode=contex...
  function validateBeforeSelfClosing (line 3089) | function validateBeforeSelfClosing(context,node,option){var sourceCode=c...
  function validateAfterOpening (line 3089) | function validateAfterOpening(context,node,option){var sourceCode=contex...
  function isParenthesised (line 3119) | function isParenthesised(node){var previousToken=sourceCode.getTokenBefo...
  function isMultilines (line 3119) | function isMultilines(node){return node.loc.start.line!==node.loc.end.li...
  function check (line 3119) | function check(node){if(!node||node.type!=='JSXElement'){return;}if(!isP...
  function isEnabled (line 3119) | function isEnabled(type){var userOptions=context.options[0]||{};if(has(u...
  function isArrayIndex (line 3131) | function isArrayIndex(node){return node.type==='Identifier'&&indexParamN...
  function getMapIndexParamName (line 3131) | function getMapIndexParamName(node){var callee=node.callee;if(callee.typ...
  function getIdentifiersFromBinaryExpression (line 3131) | function getIdentifiersFromBinaryExpression(side){if(side.type==='Identi...
  function checkPropValue (line 3132) | function checkPropValue(node){if(isArrayIndex(node)){// key={bar}
  function isCreateElementWithProps (line 3152) | function isCreateElementWithProps(node){return node.callee&&node.callee....
  function findSpreadVariable (line 3169) | function findSpreadVariable(name){return find(variableUtil.variablesInSc...
  function findObjectProp (line 3173) | function findObjectProp(node,propName){if(!node.properties){return false...
  function findJsxProp (line 3177) | function findJsxProp(node,propName){var attributes=node.openingElement.a...
  function isTagName (line 3190) | function isTagName(name){return tagConvention.test(name);}
  function isDangerous (line 3194) | function isDangerous(name){return name in DANGEROUS_PROPERTIES;}// -----...
  function getDeprecated (line 3207) | function getDeprecated(){var deprecated={MemberExpression:{}};// 0.12.0
  function isDeprecated (line 3211) | function isDeprecated(type,method){var deprecated=getDeprecated();return...
  function isValid (line 3242) | function isValid(component){return Boolean(component&&!component.mutateS...
  function reportMutations (line 3245) | function reportMutations(component){var mutation;for(var i=0,j=component...
  function isIgnored (line 3276) | function isIgnored(component){return ignoreStateless&&/Function/.test(co...
  function isValid (line 3298) | function isValid(component){return Boolean(component&&!component.useSetS...
  function reportSetStateUsages (line 3301) | function reportSetStateUsages(component){var setStateUsage;for(var i=0,j...
  function isRefsUsage (line 3314) | function isRefsUsage(node){return Boolean((utils.getParentES6Component()...
  function isRefAttribute (line 3318) | function isRefAttribute(node){return Boolean(node.type==='JSXAttribute'&...
  function containsStringLiteral (line 3322) | function containsStringLiteral(node){return Boolean(node.value&&node.val...
  function containsStringExpressionContainer (line 3326) | function containsStringExpressionContainer(node){return Boolean(node.val...
  function isInvalidEntity (line 3335) | function isInvalidEntity(node){var configuration=context.options[0]||{};...
  function isTagName (line 3352) | function isTagName(node){if(tagConvention.test(node.parent.name.name)){/...
  function getStandardName (line 3357) | function getStandardName(name){if(DOM_ATTRIBUTE_NAMES[name]){return DOM_...
  function getIgnoreConfig (line 3360) | function getIgnoreConfig(){return context.options[0]&&context.options[0]...
  function typeScope (line 3378) | function typeScope(key,value){if(arguments.length===0){return stack[stac...
  function isPropTypesUsage (line 3382) | function isPropTypesUsage(node){var isClassUsage=(utils.getParentES6Comp...
  function isAnnotatedClassPropsDeclaration (line 3386) | function isAnnotatedClassPropsDeclaration(node){if(node&&node.type==='Cl...
  function isPropTypesDeclaration (line 3390) | function isPropTypesDeclaration(node){// Special case for class properties
  function hasCustomValidator (line 3396) | function hasCustomValidator(validator){return customValidators.indexOf(v...
  function mustBeValidated (line 3400) | function mustBeValidated(component){return Boolean(component&&component....
  function isNodeALifeCycleMethod (line 3404) | function isNodeALifeCycleMethod(node){var nodeKeyName=(node.key||{}).nam...
  function isInLifeCycleMethod (line 3409) | function isInLifeCycleMethod(node){if(node.type==='MethodDefinition'&&is...
  function isPropAttributeName (line 3413) | function isPropAttributeName(node){return node.init.name==='props'||node...
  function isPropUsed (line 3418) | function isPropUsed(node,prop){for(var i=0,l=node.usedPropTypes.length;i...
  function hasSpreadOperator (line 3422) | function hasSpreadOperator(node){var tokens=sourceCode.getTokens(node);r...
  function getKeyValue (line 3426) | function getKeyValue(node){if(node.type==='ObjectTypeProperty'){var toke...
  function iterateProperties (line 3431) | function iterateProperties(properties,fn){if(properties.length&&typeof f...
  function buildReactDeclarationTypes (line 3438) | function buildReactDeclarationTypes(value,parentName){if(value&&value.ca...
  function buildTypeAnnotationDeclarationTypes (line 3453) | function buildTypeAnnotationDeclarationTypes(annotation,parentName){swit...
  function inConstructor (line 3460) | function inConstructor(){var scope=context.getScope();while(scope){if(sc...
  function getPropertyName (line 3464) | function getPropertyName(node){var isDirectProp=DIRECT_PROPS_REGEX.test(...
  function markPropTypesAsUsed (line 3469) | function markPropTypesAsUsed(node,parentNames){parentNames=parentNames||...
  function markPropTypesAsDeclared (line 3477) | function markPropTypesAsDeclared(node,propTypes){var component=component...
  function reportUnusedPropType (line 3481) | function reportUnusedPropType(component,props){// Skip props that check ...
  function reportUnusedPropTypes (line 3486) | function reportUnusedPropTypes(component){reportUnusedPropType(component...
  function resolveTypeAnnotation (line 3495) | function resolveTypeAnnotation(node){var annotation=node.typeAnnotation|...
  function markDestructuredFunctionArgumentsAsUsed (line 3498) | function markDestructuredFunctionArgumentsAsUsed(node){var destructuring...
  function markAnnotatedFunctionArgumentsAsDeclared (line 3501) | function markAnnotatedFunctionArgumentsAsDeclared(node){if(!node.params|...
  function handleStatelessComponent (line 3504) | function handleStatelessComponent(node){markDestructuredFunctionArgument...
  function getPropertyName (line 3534) | function getPropertyName(node){// Special case for class properties
  function getComponentProperties (line 3540) | function getComponentProperties(node){switch(node.type){case'ClassExpres...
  function isSingleSuperCall (line 3545) | function isSingleSuperCall(body){return body.length===1&&body[0].type===...
  function isSimple (line 3551) | function isSimple(node){return node.type==='Identifier'||node.type==='Re...
  function isSpreadArguments (line 3557) | function isSpreadArguments(superArgs){return superArgs.length===1&&super...
  function isValidIdentifierPair (line 3564) | function isValidIdentifierPair(ctorParam,superArg){return ctorParam.type...
  function isValidRestSpreadPair (line 3571) | function isValidRestSpreadPair(ctorParam,superArg){return ctorParam.type...
  function isValidPair (line 3577) | function isValidPair(ctorParam,superArg){return isValidIdentifierPair(ct...
  function isPassingThrough (line 3584) | function isPassingThrough(ctorParams,superArgs){if(ctorParams.length!==s...
  function isRedundantSuperCall (line 3590) | function isRedundantSuperCall(body,ctorParams){return isSingleSuperCall(...
  function hasOtherProperties (line 3594) | function hasOtherProperties(node){var properties=getComponentProperties(...
  function markThisAsUsed (line 3603) | function markThisAsUsed(node){components.set(node,{useThis:true});}
  function markPropsOrContextAsUsed (line 3606) | function markPropsOrContextAsUsed(node){components.set(node,{usePropsOrC...
  function markRefAsUsed (line 3609) | function markRefAsUsed(node){components.set(node,{useRef:true});}
  function markReturnAsInvalid (line 3612) | function markReturnAsInvalid(node){components.set(node,{invalidReturn:tr...
  function typeScope (line 3638) | function typeScope(key,value){if(arguments.length===0){return stack[stac...
  function inConstructor (line 3641) | function inConstructor(){var scope=context.getScope();while(scope){if(sc...
  function inComponentWillReceiveProps (line 3644) | function inComponentWillReceiveProps(){var scope=context.getScope();whil...
  function isPropTypesUsage (line 3648) | function isPropTypesUsage(node){var isClassUsage=(utils.getParentES6Comp...
  function isAnnotatedClassPropsDeclaration (line 3652) | function isAnnotatedClassPropsDeclaration(node){if(node&&node.type==='Cl...
  function isPropTypesDeclaration (line 3656) | function isPropTypesDeclaration(node){// Special case for class properties
  function isIgnored (line 3662) | function isIgnored(name){return ignored.indexOf(name)!==-1;}
  function hasCustomValidator (line 3666) | function hasCustomValidator(validator){return customValidators.indexOf(v...
  function mustBeValidated (line 3670) | function mustBeValidated(component){var isSkippedByConfig=skipUndeclared...
  function _isDeclaredInComponent (line 3675) | function _isDeclaredInComponent(declaredPropTypes,keyList){for(var i=0,j...
  function isDeclaredInComponent (line 3688) | function isDeclaredInComponent(node,names){while(node){var component=com...
  function hasSpreadOperator (line 3692) | function hasSpreadOperator(node){var tokens=sourceCode.getTokens(node);r...
  function getKeyValue (line 3696) | function getKeyValue(node){if(node.type==='ObjectTypeProperty'){var toke...
  function iterateProperties (line 3701) | function iterateProperties(properties,fn){if(properties.length&&typeof f...
  function buildReactDeclarationTypes (line 3707) | function buildReactDeclarationTypes(value){if(value&&value.callee&&value...
  function buildTypeAnnotationDeclarationTypes (line 3721) | function buildTypeAnnotationDeclarationTypes(annotation){switch(annotati...
  function getPropertyName (line 3729) | function getPropertyName(node){var isDirectProp=DIRECT_PROPS_REGEX.test(...
  function markPropTypesAsUsed (line 3734) | function markPropTypesAsUsed(node,parentNames){parentNames=parentNames||...
  function markPropTypesAsDeclared (line 3742) | function markPropTypesAsDeclared(node,propTypes){var componentNode=node;...
  function reportUndeclaredPropTypes (line 3749) | function reportUndeclaredPropTypes(component){var allNames;for(var i=0,j...
  function resolveTypeAnnotation (line 3758) | function resolveTypeAnnotation(node){var annotation=node.typeAnnotation|...
  function markDestructuredFunctionArgumentsAsUsed (line 3761) | function markDestructuredFunctionArgumentsAsUsed(node){var destructuring...
  function markAnnotatedFunctionArgumentsAsDeclared (line 3764) | function markAnnotatedFunctionArgumentsAsDeclared(node){if(!node.params|...
  function handleStatelessComponent (line 3767) | function handleStatelessComponent(node){markDestructuredFunctionArgument...
  function getPropertyName (line 3790) | function getPropertyName(node){if(node.key||['MethodDefinition','Propert...
  function isPropTypesDeclaration (line 3796) | function isPropTypesDeclaration(node){return getPropertyName(node)==='pr...
  function isDefaultPropsDeclaration (line 3800) | function isDefaultPropsDeclaration(node){return getPropertyName(node)===...
  function isRequiredPropType (line 3804) | function isRequiredPropType(propTypeExpression){return propTypeExpressio...
  function findVariableByName (line 3808) | function findVariableByName(name){var variable=find(variableUtil.variabl...
  function resolveNodeValue (line 3813) | function resolveNodeValue(node){if(node.type==='Identifier'){return find...
  function resolveGenericTypeAnnotation (line 3817) | function resolveGenericTypeAnnotation(node){if(node.type!=='GenericTypeA...
  function resolveUnionTypeAnnotation (line 3817) | function resolveUnionTypeAnnotation(node){// Go through all the union an...
  function getPropTypesFromObjectExpression (line 3822) | function getPropTypesFromObjectExpression(objectExpression){var props=ob...
  function getPropTypesFromTypeAnnotation (line 3826) | function getPropTypesFromTypeAnnotation(node){var properties;switch(node...
  function getDefaultPropsFromObjectExpression (line 3833) | function getDefaultPropsFromObjectExpression(objectExpression){var hasSp...
  function markDefaultPropsAsUnresolved (line 3839) | function markDefaultPropsAsUnresolved(component){components.set(componen...
  function addPropTypesToComponent (line 3844) | function addPropTypesToComponent(component,propTypes){var props=componen...
  function addDefaultPropsToComponent (line 3850) | function addDefaultPropsToComponent(component,defaultProps){// Early ret...
  function handleStatelessComponent (line 3855) | function handleStatelessComponent(node){if(!node.params||!node.params.le...
  function handlePropTypeAnnotationClassProperty (line 3856) | function handlePropTypeAnnotationClassProperty(node){// find component t...
  function isPropTypeAnnotation (line 3857) | function isPropTypeAnnotation(node){return getPropertyName(node)==='prop...
  function reportPropTypesWithoutDefault (line 3862) | function reportPropTypesWithoutDefault(propTypes,defaultProps){// If thi...
  function isPackage (line 3940) | function isPackage(id){return PKG_REGEX.test(id);}
  function isRequire (line 3940) | function isRequire(expression){return expression.callee.name==='require';}
  function getId (line 3940) | function getId(expression){return expression.arguments[0]&&expression.ar...
  function getExtension (line 3940) | function getExtension(id){return path.extname(id||'');}
  function getExtensionsConfig (line 3940) | function getExtensionsConfig(){return context.options[0]&&context.option...
  function isForbiddenExtension (line 3940) | function isForbiddenExtension(ext){return ext in forbiddenExtensions;}//...
  function markReturnStatementPresent (line 3987) | function markReturnStatementPresent(node){components.set(node,{hasReturn...
  function getComponentProperties (line 3991) | function getComponentProperties(node){switch(node.type){case'ClassDeclar...
  function getPropertyName (line 3995) | function getPropertyName(node){// Special case for class properties
  function hasRenderMethod (line 4001) | function hasRenderMethod(node){var properties=getComponentProperties(nod...
  function isTagName (line 4007) | function isTagName(name){return tagConvention.test(name);}
  function isComponent (line 4007) | function isComponent(node){return node.name&&node.name.type==='JSXIdenti...
  function hasChildren (line 4007) | function hasChildren(node){var childrens=node.parent.children;if(!childr...
  function isShouldBeSelfClosed (line 4007) | function isShouldBeSelfClosed(node){var configuration=context.options[0]...
  function getMethodsOrder (line 4021) | function getMethodsOrder(defaultConfig,userConfig){userConfig=userConfig...
  function getRefPropIndexes (line 4031) | function getRefPropIndexes(method){var isRegExp;var matching;var i;var j...
  function getPropertyName (line 4039) | function getPropertyName(node){// Special case for class properties
  function storeError (line 4045) | function storeError(propA,propB){// Initialize the error object if needed
  function dedupeErrors (line 4052) | function dedupeErrors(){for(var i in errors){if(!has(errors,i)){continue...
  function reportErrors (line 4054) | function reportErrors(){dedupeErrors();var nodeA;var nodeB;var indexA;va...
  function getComponentProperties (line 4058) | function getComponentProperties(node){switch(node.type){case'ClassDeclar...
  function comparePropsOrder (line 4064) | function comparePropsOrder(propertiesInfos,propA,propB){var i;var j;var ...
  function checkPropsOrder (line 4075) | function checkPropsOrder(properties){var propertiesInfos=properties.map(...
  function isPropTypesDeclaration (line 4089) | function isPropTypesDeclaration(node){// Special case for class properties
  function getKey (line 4091) | function getKey(node){return sourceCode.getText(node.key||node.argument);}
  function getValueName (line 4091) | function getValueName(node){return node.type==='Property'&&node.value.pr...
  function isCallbackPropName (line 4091) | function isCallbackPropName(propName){return /^on[A-Z]/.test(propName);}
  function isRequiredProp (line 4091) | function isRequiredProp(node){return getValueName(node)==='isRequired';}
  function checkSorted (line 4095) | function checkSorted(declarations){declarations.reduce(function(prev,cur...
  function isNonNullaryLiteral (line 4107) | function isNonNullaryLiteral(expression){return expression.type==='Liter...
  function checkIdentifiers (line 4109) | function checkIdentifiers(node){var variable=find(variableUtil.variables...
  function isVoidDOMElement (line 4118) | function isVoidDOMElement(elementName){return has(VOID_DOM_ELEMENTS,elem...
  function errorMessage (line 4118) | function errorMessage(elementName){return'Void DOM element <'+elementNam...
  function Components (line 4140) | function Components(){this._list={};this._getId=function(node){return no...
  function componentRule (line 4169) | function componentRule(rule,context){var createClass=pragmaUtil.getCreat...
  function isAnnotatedFunctionPropsDeclaration (line 4248) | function isAnnotatedFunctionPropsDeclaration(node,context){if(!node||!no...
  function getTokenBeforeClosingBracket (line 4252) | function getTokenBeforeClosingBracket(node){var attributes=node.attribut...
  function getCreateClassFromContext (line 4256) | function getCreateClassFromContext(context){var pragma='createClass';// ...
  function getFromContext (line 4257) | function getFromContext(context){var pragma='React';// .eslintrc shared ...
  function getFromNode (line 4258) | function getFromNode(node){var matches=JSX_ANNOTATION_REGEX.exec(node.va...
  function findVariable (line 4266) | function findVariable(variables,name){return variables.some(function(var...
  function getVariable (line 4271) | function getVariable(variables,name){return find(variables,function(vari...
  function variablesInScope (line 4278) | function variablesInScope(context){var scope=context.getScope();var vari...
  function getFromContext (line 4281) | function getFromContext(context){var confVer='999.999.999';// .eslintrc ...
  function test (line 4282) | function test(context,methodVer){var confVer=getFromContext(context);met...
  function esqueryModule (line 4282) | function esqueryModule(){/**
  function quote (line 4308) | function quote(s){/*
  function padLeft (line 4329) | function padLeft(input,padding,length){var result=input;var padLength=le...
  function escape (line 4329) | function escape(ch){var charCode=ch.charCodeAt(0);var escapeChar;var len...
  function matchFailed (line 4329) | function matchFailed(failure){if(pos<rightmostFailuresPos){return;}if(po...
  function parse_start (line 4329) | function parse_start(){var cacheKey="start@"+pos;var cachedResult=cache[...
  function parse__ (line 4329) | function parse__(){var cacheKey="_@"+pos;var cachedResult=cache[cacheKey...
  function parse_identifierName (line 4329) | function parse_identifierName(){var cacheKey="identifierName@"+pos;var c...
  function parse_binaryOp (line 4329) | function parse_binaryOp(){var cacheKey="binaryOp@"+pos;var cachedResult=...
  function parse_selectors (line 4329) | function parse_selectors(){var cacheKey="selectors@"+pos;var cachedResul...
  function parse_selector (line 4329) | function parse_selector(){var cacheKey="selector@"+pos;var cachedResult=...
  function parse_sequence (line 4329) | function parse_sequence(){var cacheKey="sequence@"+pos;var cachedResult=...
  function parse_atom (line 4329) | function parse_atom(){var cacheKey="atom@"+pos;var cachedResult=cache[ca...
  function parse_wildcard (line 4329) | function parse_wildcard(){var cacheKey="wildcard@"+pos;var cachedResult=...
  function parse_identifier (line 4329) | function parse_identifier(){var cacheKey="identifier@"+pos;var cachedRes...
  function parse_attr (line 4329) | function parse_attr(){var cacheKey="attr@"+pos;var cachedResult=cache[ca...
  function parse_attrOps (line 4329) | function parse_attrOps(){var cacheKey="attrOps@"+pos;var cachedResult=ca...
  function parse_attrEqOps (line 4329) | function parse_attrEqOps(){var cacheKey="attrEqOps@"+pos;var cachedResul...
  function parse_attrName (line 4329) | function parse_attrName(){var cacheKey="attrName@"+pos;var cachedResult=...
  function parse_attrValue (line 4329) | function parse_attrValue(){var cacheKey="attrValue@"+pos;var cachedResul...
  function parse_string (line 4329) | function parse_string(){var cacheKey="string@"+pos;var cachedResult=cach...
  function parse_number (line 4329) | function parse_number(){var cacheKey="number@"+pos;var cachedResult=cach...
  function parse_path (line 4329) | function parse_path(){var cacheKey="path@"+pos;var cachedResult=cache[ca...
  function parse_type (line 4329) | function parse_type(){var cacheKey="type@"+pos;var cachedResult=cache[ca...
  function parse_regex (line 4329) | function parse_regex(){var cacheKey="regex@"+pos;var cachedResult=cache[...
  function parse_field (line 4329) | function parse_field(){var cacheKey="field@"+pos;var cachedResult=cache[...
  function parse_negation (line 4329) | function parse_negation(){var cacheKey="negation@"+pos;var cachedResult=...
  function parse_matches (line 4329) | function parse_matches(){var cacheKey="matches@"+pos;var cachedResult=ca...
  function parse_firstChild (line 4329) | function parse_firstChild(){var cacheKey="firstChild@"+pos;var cachedRes...
  function parse_lastChild (line 4329) | function parse_lastChild(){var cacheKey="lastChild@"+pos;var cachedResul...
  function parse_nthChild (line 4329) | function parse_nthChild(){var cacheKey="nthChild@"+pos;var cachedResult=...
  function parse_nthLastChild (line 4329) | function parse_nthLastChild(){var cacheKey="nthLastChild@"+pos;var cache...
  function parse_class (line 4329) | function parse_class(){var cacheKey="class@"+pos;var cachedResult=cache[...
  function cleanupExpected (line 4329) | function cleanupExpected(expected){expected.sort();var lastExpected=null...
  function computeErrorPosition (line 4329) | function computeErrorPosition(){/*
  function nth (line 4334) | function nth(n){return{type:'nth-child',index:{type:'literal',value:n}};}
  function nthLast (line 4334) | function nthLast(n){return{type:'nth-last-child',index:{type:'literal',v...
  function strUnescape (line 4334) | function strUnescape(s){return s.replace(/\\(.)/g,function(match,ch){swi...
  function buildMessage (line 4357) | function buildMessage(expected,found){var expectedHumanized,foundHumaniz...
  function isNode (line 4379) | function isNode(node){if(node==null){return false;}return(typeof node===...
  function isProperty (line 4379) | function isProperty(nodeType,key){return(nodeType===estraverse.Syntax.Ob...
  function Visitor (line 4379) | function Visitor(visitor,options){options=options||{};this.__visitor=vis...
  function ignoreJSHintError (line 4405) | function ignoreJSHintError(){}
  function deepCopy (line 4405) | function deepCopy(obj){var ret={},key,val;for(key in obj){if(obj.hasOwnP...
  function shallowCopy (line 4405) | function shallowCopy(obj){var ret={},key;for(key in obj){if(obj.hasOwnPr...
  function upperBound (line 4407) | function upperBound(array,func){var diff,len,i,current;len=array.length;...
  function lowerBound (line 4407) | function lowerBound(array,func){var diff,len,i,current;len=array.length;...
  function F (line 4407) | function F(){}
  function extend (line 4407) | function extend(to,from){var keys=objectKeys(from),key,i,len;for(i=0,len...
  function Reference (line 4416) | function Reference(parent,key){this.parent=parent;this.key=key;}
  function Element (line 4416) | function Element(node,path,wrap,ref){this.node=node;this.path=path;this....
  function Controller (line 4416) | function Controller(){}// API:
  function addToPath (line 4418) | function addToPath(result,path){if(isArray(path)){for(j=0,jz=path.length...
  function isNode (line 4435) | function isNode(node){if(node==null){return false;}return(typeof node===...
  function isProperty (line 4435) | function isProperty(nodeType,key){return(nodeType===Syntax.ObjectExpress...
  function removeElem (line 4437) | function removeElem(element){var i,key,nextElem,parent;if(element.ref.re...
  function traverse (line 4448) | function traverse(root,visitor){var controller=new Controller();return c...
  function replace (line 4448) | function replace(root,visitor){var controller=new Controller();return co...
  function extendCommentRange (line 4448) | function extendCommentRange(comment,tokens){var target;target=upperBound...
  function attachComments (line 4448) | function attachComments(tree,providedComments,tokens){// At first, we sh...
  function ignoreJSHintError (line 4476) | function ignoreJSHintError(){}
  function deepCopy (line 4476) | function deepCopy(obj){var ret={},key,val;for(key in obj){if(obj.hasOwnP...
  function shallowCopy (line 4476) | function shallowCopy(obj){var ret={},key;for(key in obj){if(obj.hasOwnPr...
  function upperBound (line 4478) | function upperBound(array,func){var diff,len,i,current;len=array.length;...
  function lowerBound (line 4478) | function lowerBound(array,func){var diff,len,i,current;len=array.length;...
  function F (line 4478) | function F(){}
  function extend (line 4478) | function extend(to,from){var keys=objectKeys(from),key,i,len;for(i=0,len...
  function Reference (line 4487) | function Reference(parent,key){this.parent=parent;this.key=key;}
  function Element (line 4487) | function Element(node,path,wrap,ref){this.node=node;this.path=path;this....
  function Controller (line 4487) | function Controller(){}// API:
  function addToPath (line 4489) | function addToPath(result,path){if(isArray(path)){for(j=0,jz=path.length...
  function isNode (line 4506) | function isNode(node){if(node==null){return false;}return(typeof node===...
  function isProperty (line 4506) | function isProperty(nodeType,key){return(nodeType===Syntax.ObjectExpress...
  function removeElem (line 4508) | function removeElem(element){var i,key,nextElem,parent;if(element.ref.re...
  function traverse (line 4519) | function traverse(root,visitor){var controller=new Controller();return c...
  function replace (line 4519) | function replace(root,visitor){var controller=new Controller();return co...
  function extendCommentRange (line 4519) | function extendCommentRange(comment,tokens){var target;target=upperBound...
  function attachComments (line 4519) | function attachComments(tree,providedComments,tokens){// At first, we sh...
  function isExpression (line 4546) | function isExpression(node){if(node==null){return false;}switch(node.typ...
  function isIterationStatement (line 4546) | function isIterationStatement(node){if(node==null){return false;}switch(...
  function isStatement (line 4546) | function isStatement(node){if(node==null){return false;}switch(node.type...
  function isSourceElement (line 4546) | function isSourceElement(node){return isStatement(node)||node!=null&&nod...
  function trailingStatement (line 4546) | function trailingStatement(node){switch(node.type){case'IfStatement':if(...
  function isProblematicIfStatement (line 4546) | function isProblematicIfStatement(node){var current;if(node.type!=='IfSt...
  function isDecimalDigit (line 4574) | function isDecimalDigit(ch){return 0x30<=ch&&ch<=0x39;// 0..9
  function isHexDigit (line 4575) | function isHexDigit(ch){return 0x30<=ch&&ch<=0x39||// 0..9
  function isOctalDigit (line 4578) | function isOctalDigit(ch){return ch>=0x30&&ch<=0x37;// 0..7
  function isWhiteSpace (line 4580) | function isWhiteSpace(ch){return ch===0x20||ch===0x09||ch===0x0B||ch===0...
  function isLineTerminator (line 4581) | function isLineTerminator(ch){return ch===0x0A||ch===0x0D||ch===0x2028||...
  function fromCodePoint (line 4582) | function fromCodePoint(cp){if(cp<=0xFFFF){return String.fromCharCode(cp)...
  function isIdentifierStartES5 (line 4589) | function isIdentifierStartES5(ch){return ch<0x80?IDENTIFIER_START[ch]:ES...
  function isIdentifierPartES5 (line 4589) | function isIdentifierPartES5(ch){return ch<0x80?IDENTIFIER_PART[ch]:ES5R...
  function isIdentifierStartES6 (line 4589) | function isIdentifierStartES6(ch){return ch<0x80?IDENTIFIER_START[ch]:ES...
  function isIdentifierPartES6 (line 4589) | function isIdentifierPartES6(ch){return ch<0x80?IDENTIFIER_PART[ch]:ES6R...
  function isStrictModeReservedWordES6 (line 4611) | function isStrictModeReservedWordES6(id){switch(id){case'implements':cas...
  function isKeywordES5 (line 4611) | function isKeywordES5(id,strict){// yield should not be treated as keywo...
  function isKeywordES6 (line 4612) | function isKeywordES6(id,strict){if(strict&&isStrictModeReservedWordES6(...
  function isReservedWordES5 (line 4612) | function isReservedWordES5(id,strict){return id==='null'||id==='true'||i...
  function isReservedWordES6 (line 4612) | function isReservedWordES6(id,strict){return id==='null'||id==='true'||i...
  function isRestrictedWord (line 4612) | function isRestrictedWord(id){return id==='eval'||id==='arguments';}
  function isIdentifierNameES5 (line 4612) | function isIdentifierNameES5(id){var i,iz,ch;if(id.length===0){return fa...
  function decodeUtf16 (line 4612) | function decodeUtf16(lead,trail){return(lead-0xD800)*0x400+(trail-0xDC00...
  function isIdentifierNameES6 (line 4612) | function isIdentifierNameES6(id){var i,iz,ch,lowCh,check;if(id.length===...
  function isIdentifierES5 (line 4612) | function isIdentifierES5(id,strict){return isIdentifierNameES5(id)&&!isR...
  function isIdentifierES6 (line 4612) | function isIdentifierES6(id,strict){return isIdentifierNameES6(id)&&!isR...
  function EventEmitter (line 4654) | function EventEmitter(){this._events=this._events||{};this._maxListeners...
  function g (line 4671) | function g(){this.removeListener(type,g);if(!fired){fired=true;listener....
  function isFunction (line 4675) | function isFunction(arg){return typeof arg==='function';}
  function isNumber (line 4675) | function isNumber(arg){return typeof arg==='number';}
  function isObject (line 4675) | function isObject(arg){return(typeof arg==="undefined"?"undefined":(0,_t...
  function isUndefined (line 4675) | function isUndefined(arg){return arg===void 0;}
  function defineProperties (line 4676) | function defineProperties(target,props){for(var i=0;i<props.length;i++){...
  function _classCallCheck (line 4676) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function make_array (line 4677) | function make_array(subject){return Array.isArray(subject)?subject:[subj...
  function IgnoreBase (line 4677) | function IgnoreBase(){_classCallCheck(this,IgnoreBase);this._rules=[];th...
  function make_regex (line 4799) | function make_regex(pattern,negative){var r=cache[pattern];if(r){return ...
  function isProperty (line 4823) | function isProperty(str){return /^[$A-Z\_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\x...
  function escapeReplacer (line 4828) | function escapeReplacer(m){switch(m){case'~1':return'/';case'~0':return'...
  function untilde (line 4828) | function untilde(str){if(!hasExcape.test(str))return str;return str.repl...
  function setter (line 4828) | function setter(obj,pointer,value){var part;var hasNextPart;for(var p=1,...
  function compilePointer (line 4830) | function compilePointer(pointer){if(typeof pointer==='string'){pointer=p...
  function _get2 (line 4830) | function _get2(obj,pointer){if((typeof obj==="undefined"?"undefined":(0,...
  function _set (line 4830) | function _set(obj,pointer,value){if((typeof obj==="undefined"?"undefined...
  function compile (line 4830) | function compile(pointer){var compiled=compilePointer(pointer);return{ge...
  function resolveMemberExpressions (line 4832) | function resolveMemberExpressions(){var object=arguments.length>0&&argum...
  function elementType (line 4834) | function elementType(){var node=arguments.length>0&&arguments[0]!==undef...
  function _interopRequireDefault (line 4836) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function getProp (line 4840) | function getProp(){var props=arguments.length>0&&arguments[0]!==undefine...
  function _interopRequireDefault (line 4841) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function getPropValue (line 4853) | function getPropValue(attribute){return extractValue(attribute,_values2....
  function getLiteralPropValue (line 4863) | function getLiteralPropValue(attribute){return extractValue(attribute,_v...
  function _interopRequireDefault (line 4863) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function hasProp (line 4866) | function hasProp(){var props=arguments.length>0&&arguments[0]!==undefine...
  function hasAnyProp (line 4870) | function hasAnyProp(){var nodeProps=arguments.length>0&&arguments[0]!==u...
  function hasEveryProp (line 4873) | function hasEveryProp(){var nodeProps=arguments.length>0&&arguments[0]!=...
  function _interopRequireDefault (line 4873) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function propName (line 4875) | function propName(){var prop=arguments.length>0&&arguments[0]!==undefine...
  function extractValueFromJSXElement (line 4879) | function extractValueFromJSXElement(value){return"<"+value.openingElemen...
  function extractValueFromLiteral (line 4884) | function extractValueFromLiteral(value){var extractedValue=value.value;v...
  function _interopRequireDefault (line 4884) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function extractValueFromArrayExpression (line 4889) | function extractValueFromArrayExpression(value){return value.elements.ma...
  function _interopRequireDefault (line 4889) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function extractValueFromBinaryExpression (line 4896) | function extractValueFromBinaryExpression(value){var operator=value.oper...
  function _interopRequireDefault (line 4904) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function extractValueFromCallExpression (line 4912) | function extractValueFromCallExpression(value){return(0,_index2.default)...
  function _interopRequireDefault (line 4912) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function extractValueFromConditionalExpression (line 4917) | function extractValueFromConditionalExpression(value){var test=value.tes...
  function extractValueFromFunctionExpression (line 4924) | function extractValueFromFunctionExpression(value){return function(){ret...
  function extractValueFromIdentifier (line 4931) | function extractValueFromIdentifier(value){var name=value.name;if(Object...
  function _interopRequireDefault (line 4931) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function extractValueFromLogicalExpression (line 4938) | function extractValueFromLogicalExpression(value){var operator=value.ope...
  function _interopRequireDefault (line 4938) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function extractValueFromMemberExpression (line 4945) | function extractValueFromMemberExpression(value){return(0,_index2.defaul...
  function extractValueFromNewExpression (line 4950) | function extractValueFromNewExpression(){return new Object();// eslint-d...
  function _interopRequireDefault (line 4951) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function extractValueFromObjectExpression (line 4956) | function extractValueFromObjectExpression(value){return value.properties...
  function _interopRequireDefault (line 4956) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function extractValueFromTaggedTemplateExpression (line 4959) | function extractValueFromTaggedTemplateExpression(value){return(0,_Templ...
  function extractValueFromTemplateLiteral (line 4966) | function extractValueFromTemplateLiteral(value){var quasis=value.quasis,...
  function extractValueFromThisExpression (line 4971) | function extractValueFromThisExpression(){return'this';}
  function _interopRequireDefault (line 4971) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function extractValueFromUnaryExpression (line 4978) | function extractValueFromUnaryExpression(value){var operator=value.opera...
  function _interopRequireDefault (line 4981) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function extractValueFromUpdateExpression (line 4988) | function extractValueFromUpdateExpression(value){var operator=value.oper...
  function _interopRequireDefault (line 4990) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function extract (line 5003) | function extract(value){// Value will not have the expression property w...
  function extractLiteral (line 5013) | function extractLiteral(value){// Value will not have the expression pro...
  function _interopRequireDefault (line 5014) | function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{def...
  function getValue (line 5024) | function getValue(value){return TYPES[value.type](value);}
  function getLiteralValue (line 5032) | function getLiteralValue(value){return LITERAL_TYPES[value.type](value);}
  function NaN (line 5034) | function NaN(_x){return _NaN.apply(this,arguments);}
  function Date (line 5034) | function Date(_x2,_x3){return _Date.apply(this,arguments);}
  function RegExp (line 5034) | function RegExp(_x4,_x5){return _RegExp.apply(this,arguments);}
  function castArray (line 5034) | function castArray(node,type,options){var typeOf,element;if(toString$.ca...
  function castTuple (line 5034) | function castTuple(node,type,options){var result,i,i$,ref$,len$,types,ca...
  function castFields (line 5034) | function castFields(node,type,options){var typeOf,key,value;if(toString$...
  function typeCast (line 5034) | function typeCast(node,typeObj,options){var type,structure,castFunc,ref$...
  function typesCast (line 5034) | function typesCast(node,types,options){var i$,len$,type,ref$,valueType,v...
  function consumeOp (line 5036) | function consumeOp(tokens,op){if(tokens[0]===op){return tokens.shift();}...
  function maybeConsumeOp (line 5036) | function maybeConsumeOp(tokens,op){if(tokens[0]===op){return tokens.shif...
  function consumeList (line 5036) | function consumeList(tokens,arg$,hasDelimiters){var open,close,result,un...
  function consumeArray (line 5036) | function consumeArray(tokens,hasDelimiters){return consumeList(tokens,['...
  function consumeTuple (line 5036) | function consumeTuple(tokens,hasDelimiters){return consumeList(tokens,['...
  function consumeFields (line 5036) | function consumeFields(tokens,hasDelimiters){var result,untilTest,key;if...
  function consumeValue (line 5036) | function consumeValue(tokens,untilTest){var out;untilTest==null&&(untilT...
  function consumeElement (line 5036) | function consumeElement(tokens,untilTest){switch(tokens[0]){case'[':retu...
  function consumeTopLevel (line 5036) | function consumeTopLevel(tokens,types,options){var ref$,type,structure,o...
  function not$ (line 5036) | function not$(x){return!x;}
  function arrayPush (line 5053) | function arrayPush(array,values){var index=-1,length=values.length,offse...
  function arraySome (line 5062) | function arraySome(array,predicate){var index=-1,length=array?array.leng...
  function baseProperty (line 5068) | function baseProperty(key){return function(object){return object==null?u...
  function baseTimes (line 5076) | function baseTimes(n,iteratee){var index=-1,result=Array(n);while(++inde...
  function baseUnary (line 5082) | function baseUnary(func){return function(value){return func(value);};}
  function getValue (line 5089) | function getValue(object,key){return object==null?undefined:object[key];}
  function isHostObject (line 5095) | function isHostObject(value){// Many host objects are `Object` objects t...
  function mapToArray (line 5103) | function mapToArray(map){var index=-1,result=Array(map.size);map.forEach...
  function overArg (line 5110) | function overArg(func,transform){return function(arg){return func(transf...
  function setToArray (line 5116) | function setToArray(set){var index=-1,result=Array(set.size);set.forEach...
  function Hash (line 5126) | function Hash(entries){var index=-1,length=entries?entries.length:0;this...
  function hashClear (line 5132) | function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{};}
  function hashDelete (line 5141) | function hashDelete(key){return this.has(key)&&delete this.__data__[key];}
  function hashGet (line 5149) | function hashGet(key){var data=this.__data__;if(nativeCreate){var result...
  function hashHas (line 5157) | function hashHas(key){var data=this.__data__;return nativeCreate?data[ke...
  function hashSet (line 5166) | function hashSet(key,value){var data=this.__data__;data[key]=nativeCreat...
  function ListCache (line 5173) | function ListCache(entries){var index=-1,length=entries?entries.length:0...
  function listCacheClear (line 5179) | function listCacheClear(){this.__data__=[];}
  function listCacheDelete (line 5187) | function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(...
  function listCacheGet (line 5195) | function listCacheGet(key){var data=this.__data__,index=assocIndexOf(dat...
  function listCacheHas (line 5203) | function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1;}
  function listCacheSet (line 5212) | function listCacheSet(key,value){var data=this.__data__,index=assocIndex...
  function MapCache (line 5219) | function MapCache(entries){var index=-1,length=entries?entries.length:0;...
  function mapCacheClear (line 5225) | function mapCacheClear(){this.__data__={'hash':new Hash(),'map':new(Map|...
  function mapCacheDelete (line 5233) | function mapCacheDelete(key){return getMapData(this,key)['delete'](key);}
  function mapCacheGet (line 5241) | function mapCacheGet(key){return getMapData(this,key).get(key);}
  function mapCacheHas (line 5249) | function mapCacheHas(key){return getMapData(this,key).has(key);}
  function mapCacheSet (line 5258) | function mapCacheSet(key,value){getMapData(this,key).set(key,value);retu...
  function SetCache (line 5266) | function SetCache(values){var index=-1,length=values?values.length:0;thi...
  function setCacheAdd (line 5275) | function setCacheAdd(value){this.__data__.set(value,HASH_UNDEFINED);retu...
  function setCacheHas (line 5283) | function setCacheHas(value){return this.__data__.has(value);}// Add meth...
  function Stack (line 5290) | function Stack(entries){this.__data__=new ListCache(entries);}
  function stackClear (line 5296) | function stackClear(){this.__data__=new ListCache();}
  function stackDelete (line 5304) | function stackDelete(key){return this.__data__['delete'](key);}
  function stackGet (line 5312) | function stackGet(key){return this.__data__.get(key);}
  function stackHas (line 5320) | function stackHas(key){return this.__data__.has(key);}
  function stackSet (line 5329) | function stackSet(key,value){var cache=this.__data__;if(cache instanceof...
  function arrayLikeKeys (line 5337) | function arrayLikeKeys(value,inherited){// Safari 8.1 makes `arguments.c...
  function assocIndexOf (line 5346) | function assocIndexOf(array,key){var length=array.length;while(length--)...
  function baseGet (line 5353) | function baseGet(object,path){path=isKey(path,object)?[path]:castPath(pa...
  function baseGetAllKeys (line 5363) | function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc...
  function baseGetTag (line 5369) | function baseGetTag(value){return objectToString.call(value);}
  function baseHasIn (line 5376) | function baseHasIn(object,key){return object!=null&&key in Object(object);}
  function baseIsEqual (line 5390) | function baseIsEqual(value,other,customizer,bitmask,stack){if(value===ot...
  function baseIsEqualDeep (line 5404) | function baseIsEqualDeep(object,other,equalFunc,customizer,bitmask,stack...
  function baseIsMatch (line 5413) | function baseIsMatch(object,source,matchData,customizer){var index=match...
  function baseIsNative (line 5420) | function baseIsNative(value){if(!isObject(value)||isMasked(value)){retur...
  function baseIsTypedArray (line 5426) | function baseIsTypedArray(value){return isObjectLike(value)&&isLength(va...
  function baseIteratee (line 5432) | function baseIteratee(value){// Don't store the `typeof` result in a var...
  function baseKeys (line 5440) | function baseKeys(object){if(!isPrototype(object)){return nativeKeys(obj...
  function baseKeysIn (line 5446) | function baseKeysIn(object){if(!isObject(object)){return nativeKeysIn(ob...
  function baseMatches (line 5452) | function baseMatches(source){var matchData=getMatchData(source);if(match...
  function baseMatchesProperty (line 5459) | function baseMatchesProperty(path,srcValue){if(isKey(path)&&isStrictComp...
  function basePickBy (line 5467) | function basePickBy(object,props,predicate){var index=-1,length=props.le...
  function basePropertyDeep (line 5473) | function basePropertyDeep(path){return function(object){return baseGet(o...
  function baseToString (line 5480) | function baseToString(value){// Exit early for strings to avoid a perfor...
  function castPath (line 5487) | function castPath(value){return isArray(value)?value:stringToPath(value);}
  function equalArrays (line 5500) | function equalArrays(array,other,equalFunc,customizer,bitmask,stack){var...
  function equalByTag (line 5520) | function equalByTag(object,other,tag,equalFunc,customizer,bitmask,stack)...
  function equalObjects (line 5540) | function equalObjects(object,other,equalFunc,customizer,bitmask,stack){v...
  function getAllKeysIn (line 5550) | function getAllKeysIn(object){return baseGetAllKeys(object,keysIn,getSym...
  function getMapData (line 5557) | function getMapData(map,key){var data=map.__data__;return isKeyable(key)...
  function getMatchData (line 5563) | function getMatchData(object){var result=keys(object),length=result.leng...
  function getNative (line 5570) | function getNative(object,key){var value=getValue(object,key);return bas...
  function hasPath (line 5599) | function hasPath(object,path,hasFunc){path=isKey(path,object)?[path]:cas...
  function isIndex (line 5606) | function isIndex(value,length){length=length==null?MAX_SAFE_INTEGER:leng...
  function isKey (line 5613) | function isKey(value,object){if(isArray(value)){return false;}var type=t...
  function isKeyable (line 5619) | function isKeyable(value){var type=typeof value==="undefined"?"undefined...
  function isMasked (line 5625) | function isMasked(func){return!!maskSrcKey&&maskSrcKey in func;}
  function isPrototype (line 5631) | function isPrototype(value){var Ctor=value&&value.constructor,proto=type...
  function isStrictComparable (line 5638) | function isStrictComparable(value){return value===value&&!isObject(value);}
  function matchesStrictComparable (line 5646) | function matchesStrictComparable(key,srcValue){return function(object){i...
  function nativeKeysIn (line 5654) | function nativeKeysIn(object){var result=[];if(object!=null){for(var key...
  function toKey (line 5666) | function toKey(value){if(typeof value=='string'||isSymbol(value)){return...
  function toSource (line 5672) | function toSource(func){if(func!=null){try{return funcToString.call(func...
  function memoize (line 5715) | function memoize(func,resolver){if(typeof func!='function'||resolver&&ty...
  function eq (line 5747) | function eq(value,other){return value===other||value!==value&&other!==ot...
  function isArguments (line 5764) | function isArguments(value){// Safari 8.1 makes `arguments.callee` enume...
  function isArrayLike (line 5811) | function isArrayLike(value){return value!=null&&isLength(value.length)&&...
  function isArrayLikeObject (line 5835) | function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLik...
  function isFunction (line 5851) | function isFunction(value){// The use of `Object#toString` avoids issues...
  function isLength (line 5878) | function isLength(value){return typeof value=='number'&&value>-1&&value%...
  function isObject (line 5902) | function isObject(value){var type=typeof value==="undefined"?"undefined"...
  function isObjectLike (line 5925) | function isObjectLike(value){return!!value&&(typeof value==="undefined"?...
  function isSymbol (line 5941) | function isSymbol(value){return(typeof value==="undefined"?"undefined":(...
  function toString (line 5977) | function toString(value){return value==null?'':baseToString(value);}
  function get (line 6001) | function get(object,path,defaultValue){var result=object==null?undefined...
  function hasIn (line 6026) | function hasIn(object,path){return object!=null&&hasPath(object,path,bas...
  function keys (line 6053) | function keys(object){return isArrayLike(object)?arrayLikeKeys(object):b...
  function keysIn (line 6075) | function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,...
  function pickBy (line 6092) | function pickBy(object,predicate){return object==null?{}:basePickBy(obje...
  function identity (line 6107) | function identity(value){return value;}
  function property (line 6128) | function property(path){return isKey(path)?baseProperty(toKey(path)):bas...
  function stubArray (line 6145) | function stubArray(){return[];}
  function Hash (line 6151) | function Hash(entries){var index=-1,length=entries==null?0:entries.lengt...
  function ListCache (line 6158) | function ListCache(entries){var index=-1,length=entries==null?0:entries....
  function MapCache (line 6165) | function MapCache(entries){var index=-1,length=entries==null?0:entries.l...
  function SetCache (line 6173) | function SetCache(values){var index=-1,length=values==null?0:values.leng...
  function Stack (line 6180) | function Stack(entries){var data=this.__data__=new ListCache(entries);th...
  function addMapEntry (line 6188) | function addMapEntry(map,pair){// Don't return `map.set` because it's no...
  function addSetEntry (line 6196) | function addSetEntry(set,value){// Don't return `set.add` because it's n...
  function apply (line 6206) | function apply(func,thisArg,args){switch(args.length){case 0:return func...
  function arrayEach (line 6214) | function arrayEach(array,iteratee){var index=-1,length=array==null?0:arr...
  function arrayFilter (line 6222) | function arrayFilter(array,predicate){var index=-1,length=array==null?0:...
  function arrayIncludes (line 6230) | function arrayIncludes(array,value){var length=array==null?0:array.lengt...
  function arrayIncludesWith (line 6238) | function arrayIncludesWith(array,value,comparator){var index=-1,length=a...
  function arrayLikeKeys (line 6245) | function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!...
  function arrayMap (line 6257) | function arrayMap(array,iteratee){var index=-1,length=array==null?0:arra...
  function arrayPush (line 6264) | function arrayPush(array,values){var index=-1,length=values.length,offse...
  function arrayReduce (line 6275) | function arrayReduce(array,iteratee,accumulator,initAccum){var index=-1,...
  function assignValue (line 6284) | function assignValue(object,key,value){var objValue=object[key];if(!(has...
  function assocIndexOf (line 6291) | function assocIndexOf(array,key){var length=array.length;while(length--)...
  function baseAssign (line 6299) | function baseAssign(object,source){return object&&copyObject(source,keys...
  function baseAssignIn (line 6307) | function baseAssignIn(object,source){return object&&copyObject(source,ke...
  function baseAssignValue (line 6315) | function baseAssignValue(object,key,value){if(key=='__proto__'&&definePr...
  function baseClone (line 6330) | function baseClone(value,bitmask,customizer,key,object,stack){var result...
  function object (line 6339) | function object(){}
  function baseFindIndex (line 6349) | function baseFindIndex(array,predicate,fromIndex,fromRight){var length=a...
  function baseGetAllKeys (line 6359) | function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc...
  function baseGetTag (line 6365) | function baseGetTag(value){if(value==null){return value===undefined?unde...
  function baseIndexOf (line 6373) | function baseIndexOf(array,value,fromIndex){return value===value?strictI...
  function baseIsArguments (line 6379) | function baseIsArguments(value){return isObjectLike(value)&&baseGetTag(v...
  function baseIsNaN (line 6385) | function baseIsNaN(value){return value!==value;}
  function baseIsNative (line 6395) | function baseIsNative(value){if(!isObject(value)||isMasked(value)){retur...
  function baseIsRegExp (line 6401) | function baseIsRegExp(value){return isObjectLike(value)&&baseGetTag(valu...
  function baseIsTypedArray (line 6407) | function baseIsTypedArray(value){return isObjectLike(value)&&isLength(va...
  function baseKeys (line 6413) | function baseKeys(object){if(!isPrototype(object)){return nativeKeys(obj...
  function baseKeysIn (line 6419) | function baseKeysIn(object){if(!isObject(object)){return nativeKeysIn(ob...
  function baseRepeat (line 6426) | function baseRepeat(string,n){var result='';if(!string||n<1||n>MAX_SAFE_...
  function baseRest (line 6435) | function baseRest(func,start){return setToString(overRest(func,start,ide...
  function baseTimes (line 6450) | function baseTimes(n,iteratee){var index=-1,result=Array(n);while(++inde...
  function baseToString (line 6457) | function baseToString(value){// Exit early for strings to avoid a perfor...
  function baseUnary (line 6465) | function baseUnary(func){return function(value){return func(value);};}
  function baseUniq (line 6473) | function baseUniq(array,iteratee,comparator){var index=-1,includes=array...
  function baseValues (line 6482) | function baseValues(object,props){return arrayMap(props,function(key){re...
  function cacheHas (line 6489) | function cacheHas(cache,key){return cache.has(key);}
  function cloneArrayBuffer (line 6495) | function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constr...
  function cloneBuffer (line 6502) | function cloneBuffer(buffer,isDeep){if(isDeep){return buffer.slice();}va...
  function cloneDataView (line 6509) | function cloneDataView(dataView,isDeep){var buffer=isDeep?cloneArrayBuff...
  function cloneMap (line 6517) | function cloneMap(map,isDeep,cloneFunc){var array=isDeep?cloneFunc(mapTo...
  function cloneRegExp (line 6523) | function cloneRegExp(regexp){var result=new regexp.constructor(regexp.so...
  function cloneSet (line 6531) | function cloneSet(set,isDeep,cloneFunc){var array=isDeep?cloneFunc(setTo...
  function cloneSymbol (line 6537) | function cloneSymbol(symbol){return symbolValueOf?Object(symbolValueOf.c...
  function cloneTypedArray (line 6544) | function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArray...
  function copyArray (line 6551) | function copyArray(source,array){var index=-1,length=source.length;array...
  function copyObject (line 6560) | function copyObject(source,props,object,customizer){var isNew=!object;ob...
  function copySymbols (line 6567) | function copySymbols(source,object){return copyObject(source,getSymbols(...
  function copySymbolsIn (line 6574) | function copySymbolsIn(source,object){return copyObject(source,getSymbol...
  function createAssigner (line 6580) | function createAssigner(assigner){return baseRest(function(object,source...
  function customDefaultsAssignIn (line 6597) | function customDefaultsAssignIn(objValue,srcValue,key,object){if(objValu...
  function getAllKeys (line 6603) | function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols);}
  function getAllKeysIn (line 6610) | function getAllKeysIn(object){return baseGetAllKeys(object,keysIn,getSym...
  function getMapData (line 6617) | function getMapData(map,key){var data=map.__data__;return isKeyable(key)...
  function getNative (line 6624) | function getNative(object,key){var value=getValue(object,key);return bas...
  function getRawTag (line 6634) | function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStrin...
  function getValue (line 6660) | function getValue(object,key){return object==null?undefined:object[key];}
  function hashClear (line 6666) | function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{};th...
  function hashDelete (line 6675) | function hashDelete(key){var result=this.has(key)&&delete this.__data__[...
  function hashGet (line 6683) | function hashGet(key){var data=this.__data__;if(nativeCreate){var result...
  function hashHas (line 6691) | function hashHas(key){var data=this.__data__;return nativeCreate?data[ke...
  function hashSet (line 6700) | function hashSet(key,value){var data=this.__data__;this.size+=this.has(k...
  function initCloneArray (line 6706) | function initCloneArray(array){var length=array.length,result=array.cons...
  function initCloneByTag (line 6719) | function initCloneByTag(object,tag,cloneFunc,isDeep){var Ctor=object.con...
  function initCloneObject (line 6725) | function initCloneObject(object){return typeof object.constructor=='func...
  function isIndex (line 6732) | function isIndex(value,length){length=length==null?MAX_SAFE_INTEGER:leng...
  function isIterateeCall (line 6741) | function isIterateeCall(value,index,object){if(!isObject(object)){return...
  function isKeyable (line 6747) | function isKeyable(value){var type=typeof value==="undefined"?"undefined...
  function isMasked (line 6753) | function isMasked(func){return!!maskSrcKey&&maskSrcKey in func;}
  function isPrototype (line 6759) | function isPrototype(value){var Ctor=value&&value.constructor,proto=type...
  function listCacheClear (line 6765) | function listCacheClear(){this.__data__=[];this.size=0;}
  function listCacheDelete (line 6773) | function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(...
  function listCacheGet (line 6781) | function listCacheGet(key){var data=this.__data__,index=assocIndexOf(dat...
  function listCacheHas (line 6789) | function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1;}
  function listCacheSet (line 6798) | function listCacheSet(key,value){var data=this.__data__,index=assocIndex...
  function mapCacheClear (line 6804) | function mapCacheClear(){this.size=0;this.__data__={'hash':new Hash(),'m...
  function mapCacheDelete (line 6812) | function mapCacheDelete(key){var result=getMapData(this,key)['delete'](k...
  function mapCacheGet (line 6820) | function mapCacheGet(key){return getMapData(this,key).get(key);}
  function mapCacheHas (line 6828) | function mapCacheHas(key){return getMapData(this,key).has(key);}
  function mapCacheSet (line 6837) | function mapCacheSet(key,value){var data=getMapData(this,key),size=data....
  function mapToArray (line 6843) | function mapToArray(map){var index=-1,result=Array(map.size);map.forEach...
  function nativeKeysIn (line 6851) | function nativeKeysIn(object){var result=[];if(object!=null){for(var key...
  function objectToString (line 6861) | function objectToString(value){return nativeObjectToString.call(value);}
  function overArg (line 6868) | function overArg(func,transform){return function(arg){return func(transf...
  function overRest (line 6876) | function overRest(func,start,transform){start=nativeMax(start===undefine...
  function setCacheAdd (line 6885) | function setCacheAdd(value){this.__data__.set(value,HASH_UNDEFINED);retu...
  function setCacheHas (line 6893) | function setCacheHas(value){return this.__data__.has(value);}
  function setToArray (line 6899) | function setToArray(set){var index=-1,result=Array(set.size);set.forEach...
  function shortOut (line 6914) | function shortOut(func){var count=0,lastCalled=0;return function(){var s...
  function stackClear (line 6920) | function stackClear(){this.__data__=new ListCache();this.size=0;}
  function stackDelete (line 6928) | function stackDelete(key){var data=this.__data__,result=data['delete'](k...
  function stackGet (line 6936) | function stackGet(key){return this.__data__.get(key);}
  function stackHas (line 6944) | function stackHas(key){return this.__data__.has(key);}
  function stackSet (line 6953) | function stackSet(key,value){var data=this.__data__;if(data instanceof L...
  function strictIndexOf (line 6962) | function strictIndexOf(array,value,fromIndex){var index=fromIndex-1,leng...
  function toSource (line 6968) | function toSource(func){if(func!=null){try{return funcToString.call(func...
  function clone (line 7052) | function clone(value){return baseClone(value,CLONE_SYMBOLS_FLAG);}
  function constant (line 7070) | function constant(value){return function(){return value;};}
  function eq (line 7121) | function eq(value,other){return value===other||value!==value&&other!==ot...
  function identity (line 7136) | function identity(value){return value;}
  function includes (line 7165) | function includes(collection,value,fromIndex,guard){collection=isArrayLi...
  function isArrayLike (line 7228) | function isArrayLike(value){return value!=null&&isLength(value.length)&&...
  function isFunction (line 7260) | function isFunction(value){if(!isObject(value)){return false;}// The use...
  function isLength (line 7287) | function isLength(value){return typeof value=='number'&&value>-1&&value%...
  function isObject (line 7311) | function isObject(value){var type=typeof value==="undefined"?"undefined"...
  function isObjectLike (line 7334) | function isObjectLike(value){return value!=null&&(typeof value==="undefi...
  function isPlainObject (line 7361) | function isPlainObject(value){if(!isObjectLike(value)||baseGetTag(value)...
  function isString (line 7393) | function isString(value){return typeof value=='string'||!isArray(value)&...
  function isSymbol (line 7409) | function isSymbol(value){return(typeof value==="undefined"?"undefined":(...
  function keys (line 7452) | function keys(object){return isArrayLike(object)?arrayLikeKeys(object):b...
  function keysIn (line 7474) | function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,...
  function addMapEntry (line 7499) | function addMapEntry(map,pair){// Don't return `map.set` because it's no...
  function addSetEntry (line 7507) | function addSetEntry(set,value){// Don't return `set.add` because it's n...
  function apply (line 7517) | function apply(func,thisArg,args){switch(args.length){case 0:return func...
  function arrayAggregator (line 7526) | function arrayAggregator(array,setter,iteratee,accumulator){var index=-1...
  function arrayEach (line 7534) | function arrayEach(array,iteratee){var index=-1,length=array==null?0:arr...
  function arrayEachRight (line 7542) | function arrayEachRight(array,iteratee){var length=array==null?0:array.l...
  function arrayEvery (line 7551) | function arrayEvery(array,predicate){var index=-1,length=array==null?0:a...
  function arrayFilter (line 7559) | function arrayFilter(array,predicate){var index=-1,length=array==null?0:...
  function arrayIncludes (line 7567) | function arrayIncludes(array,value){var length=array==null?0:array.lengt...
  function arrayIncludesWith (line 7575) | function arrayIncludesWith(array,value,comparator){var index=-1,length=a...
  function arrayMap (line 7583) | function arrayMap(array,iteratee){var index=-1,length=array==null?0:arra...
  function arrayPush (line 7590) | function arrayPush(array,values){var index=-1,length=values.length,offse...
  function arrayReduce (line 7601) | function arrayReduce(array,iteratee,accumulator,initAccum){var index=-1,...
  function arrayReduceRight (line 7612) | function arrayReduceRight(array,iteratee,accumulator,initAccum){var leng...
  function arraySome (line 7621) | function arraySome(array,predicate){var index=-1,length=array==null?0:ar...
  function asciiToArray (line 7633) | function asciiToArray(string){return string.split('');}
  function asciiWords (line 7639) | function asciiWords(string){return string.match(reAsciiWord)||[];}
  function baseFindKey (line 7649) | function baseFindKey(collection,predicate,eachFunc){var result;eachFunc(...
  function baseFindIndex (line 7659) | function baseFindIndex(array,predicate,fromIndex,fromRight){var length=a...
  function baseIndexOf (line 7667) | function baseIndexOf(array,value,fromIndex){return value===value?strictI...
  function baseIndexOfWith (line 7676) | function baseIndexOfWith(array,value,fromIndex,comparator){var index=fro...
  function baseIsNaN (line 7682) | function baseIsNaN(value){return value!==value;}
  function baseMean (line 7690) | function baseMean(array,iteratee){var length=array==null?0:array.length;...
  function baseProperty (line 7696) | function baseProperty(key){return function(object){return object==null?u...
  function basePropertyOf (line 7702) | function basePropertyOf(object){return function(key){return object==null...
  function baseReduce (line 7714) | function baseReduce(collection,iteratee,accumulator,initAccum,eachFunc){...
  function baseSortBy (line 7723) | function baseSortBy(array,comparer){var length=array.length;array.sort(c...
  function baseSum (line 7731) | function baseSum(array,iteratee){var result,index=-1,length=array.length...
  function baseTimes (line 7739) | function baseTimes(n,iteratee){var index=-1,result=Array(n);while(++inde...
  function baseToPairs (line 7747) | function baseToPairs(object,props){return arrayMap(props,function(key){r...
  function baseUnary (line 7753) | function baseUnary(func){return function(value){return func(value);};}
  function baseValues (line 7762) | function baseValues(object,props){return arrayMap(props,function(key){re...
  function cacheHas (line 7769) | function cacheHas(cache,key){return cache.has(key);}
  function charsStartIndex (line 7777) | function charsStartIndex(strSymbols,chrSymbols){var index=-1,length=strS...
  function charsEndIndex (line 7785) | function charsEndIndex(strSymbols,chrSymbols){var index=strSymbols.lengt...
  function countHolders (line 7792) | function countHolders(array,placeholder){var length=array.length,result=...
  function escapeStringChar (line 7811) | function escapeStringChar(chr){return'\\'+stringEscapes[chr];}
  function getValue (line 7818) | function getValue(object,key){return object==null?undefined:object[key];}
  function hasUnicode (line 7824) | function hasUnicode(string){return reHasUnicode.test(string);}
  function hasUnicodeWord (line 7830) | function hasUnicodeWord(string){return reHasUnicodeWord.test(string);}
  function iteratorToArray (line 7836) | function iteratorToArray(iterator){var data,result=[];while(!(data=itera...
  function mapToArray (line 7842) | function mapToArray(map){var index=-1,result=Array(map.size);map.forEach...
  function overArg (line 7849) | function overArg(func,transform){return function(arg){return func(transf...
  function replaceHolders (line 7857) | function replaceHolders(array,placeholder){var index=-1,length=array.len...
  function setToArray (line 7863) | function setToArray(set){var index=-1,result=Array(set.size);set.forEach...
  function setToPairs (line 7869) | function setToPairs(set){var index=-1,result=Array(set.size);set.forEach...
  function strictIndexOf (line 7878) | function strictIndexOf(array,value,fromIndex){var index=fromIndex-1,leng...
  function strictLastIndexOf (line 7887) | function strictLastIndexOf(array,value,fromIndex){var index=fromIndex+1;...
  function stringSize (line 7893) | function stringSize(string){return hasUnicode(string)?unicodeSize(string...
  function stringToArray (line 7899) | function stringToArray(string){return hasUnicode(string)?unicodeToArray(...
  function unicodeSize (line 7911) | function unicodeSize(string){var result=reUnicode.lastIndex=0;while(reUn...
  function unicodeToArray (line 7917) | function unicodeToArray(string){return string.match(reUnicode)||[];}
  function unicodeWords (line 7923) | function unicodeWords(string){return string.match(reUnicodeWord)||[];}
  function lodash (line 8071) | function lodash(value){if(isObjectLike(value)&&!isArray(value)&&!(value ...
  function object (line 8078) | function object(){}
  function baseLodash (line 8082) | function baseLodash(){}// No operation performed.
  function LodashWrapper (line 8089) | function LodashWrapper(value,chainAll){this.__wrapped__=value;this.__act...
  function LazyWrapper (line 8134) | function LazyWrapper(value){this.__wrapped__=value;this.__actions__=[];t...
  function lazyClone (line 8141) | function lazyClone(){var result=new LazyWrapper(this.__wrapped__);result...
  function lazyReverse (line 8148) | function lazyReverse(){if(this.__filtered__){var result=new LazyWrapper(...
  function lazyValue (line 8155) | function lazyValue(){var array=this.__wrapped__.value(),dir=this.__dir__...
  function Hash (line 8162) | function Hash(entries){var index=-1,length=entries==null?0:entries.lengt...
  function hashClear (line 8168) | function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{};th...
  function hashDelete (line 8177) | function hashDelete(key){var result=this.has(key)&&delete this.__data__[...
  function hashGet (line 8185) | function hashGet(key){var data=this.__data__;if(nativeCreate){var result...
  function hashHas (line 8193) | function hashHas(key){var data=this.__data__;return nativeCreate?data[ke...
  function hashSet (line 8202) | function hashSet(key,value){var data=this.__data__;this.size+=this.has(k...
  function ListCache (line 8209) | function ListCache(entries){var index=-1,length=entries==null?0:entries....
  function listCacheClear (line 8215) | function listCacheClear(){this.__data__=[];this.size=0;}
  function listCacheDelete (line 8223) | function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(...
  function listCacheGet (line 8231) | function listCacheGet(key){var data=this.__data__,index=assocIndexOf(dat...
  function listCacheHas (line 8239) | function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1;}
  function listCacheSet (line 8248) | function listCacheSet(key,value){var data=this.__data__,index=assocIndex...
  function MapCache (line 8255) | function MapCache(entries){var index=-1,length=entries==null?0:entries.l...
  function mapCacheClear (line 8261) | function mapCacheClear(){this.size=0;this.__data__={'hash':new Hash(),'m...
  function mapCacheDelete (line 8269) | function mapCacheDelete(key){var result=getMapData(this,key)['delete'](k...
  function mapCacheGet (line 8277) | function mapCacheGet(key){return getMapData(this,key).get(key);}
  function mapCacheHas (line 8285) | function mapCacheHas(key){return getMapData(this,key).has(key);}
  function mapCacheSet (line 8294) | function mapCacheSet(key,value){var data=getMapData(this,key),size=data....
  function SetCache (line 8302) | function SetCache(values){var index=-1,length=values==null?0:values.leng...
  function setCacheAdd (line 8311) | function setCacheAdd(value){this.__data__.set(value,HASH_UNDEFINED);retu...
  function setCacheHas (line 8319) | function setCacheHas(value){return this.__data__.has(value);}// Add meth...
  function Stack (line 8326) | function Stack(entries){var data=this.__data__=new ListCache(entries);th...
  function stackClear (line 8332) | function stackClear(){this.__data__=new ListCache();this.size=0;}
  function stackDelete (line 8340) | function stackDelete(key){var data=this.__data__,result=data['delete'](k...
  function stackGet (line 8348) | function stackGet(key){return this.__data__.get(key);}
  function stackHas (line 8356) | function stackHas(key){return this.__data__.has(key);}
  function stackSet (line 8365) | function stackSet(key,value){var data=this.__data__;if(data instanceof L...
  function arrayLikeKeys (line 8373) | function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!...
  function arraySample (line 8383) | function arraySample(array){var length=array.length;return length?array[...
  function arraySampleSize (line 8390) | function arraySampleSize(array,n){return shuffleSelf(copyArray(array),ba...
  function arrayShuffle (line 8396) | function arrayShuffle(array){return shuffleSelf(copyArray(array));}
  function assignMergeValue (line 8404) | function assignMergeValue(object,key,value){if(value!==undefined&&!eq(ob...
  function assignValue (line 8413) | function assignValue(object,key,value){var objValue=object[key];if(!(has...
  function assocIndexOf (line 8420) | function assocIndexOf(array,key){var length=array.length;while(length--)...
  function baseAggregator (line 8430) | function baseAggregator(collection,setter,iteratee,accumulator){baseEach...
  function baseAssign (line 8438) | function baseAssign(object,source){return object&&copyObject(source,keys...
  function baseAssignIn (line 8446) | function baseAssignIn(object,source){return object&&copyObject(source,ke...
  function baseAssignValue (line 8454) | function baseAssignValue(object,key,value){if(key=='__proto__'&&definePr...
  function baseAt (line 8461) | function baseAt(object,paths){var index=-1,length=paths.length,result=Ar...
  function baseClamp (line 8469) | function baseClamp(number,lower,upper){if(number===number){if(upper!==un...
  function baseClone (line 8484) | function baseClone(value,bitmask,customizer,key,object,stack){var result...
  function baseConforms (line 8492) | function baseConforms(source){var props=keys(source);return function(obj...
  function baseConformsTo (line 8499) | function baseConformsTo(object,source,props){var length=props.length;if(...
  function baseDelay (line 8508) | function baseDelay(func,wait,args){if(typeof func!='function'){throw new...
  function baseDifference (line 8518) | function baseDifference(array,values,iteratee,comparator){var index=-1,i...
  function baseEvery (line 8540) | function baseEvery(collection,predicate){var result=true;baseEach(collec...
  function baseExtremum (line 8549) | function baseExtremum(array,iteratee,comparator){var index=-1,length=arr...
  function baseFill (line 8558) | function baseFill(array,value,start,end){var length=array.length;start=t...
  function baseFilter (line 8565) | function baseFilter(collection,predicate){var result=[];baseEach(collect...
  function baseFlatten (line 8575) | function baseFlatten(array,depth,predicate,isStrict,result){var index=-1...
  function baseForOwn (line 8602) | function baseForOwn(object,iteratee){return object&&baseFor(object,itera...
  function baseForOwnRight (line 8609) | function baseForOwnRight(object,iteratee){return object&&baseForRight(ob...
  function baseFunctions (line 8617) | function baseFunctions(object,props){return arrayFilter(props,function(k...
  function baseGet (line 8624) | function baseGet(object,path){path=castPath(path,object);var index=0,len...
  function baseGetAllKeys (line 8634) | function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc...
  function baseGetTag (line 8640) | function baseGetTag(value){if(value==null){return value===undefined?unde...
  function baseGt (line 8648) | function baseGt(value,other){return value>other;}
  function baseHas (line 8655) | function baseHas(object,key){return object!=null&&hasOwnProperty.call(ob...
  function baseHasIn (line 8662) | function baseHasIn(object,key){return object!=null&&key in Object(object);}
  function baseInRange (line 8670) | function baseInRange(number,start,end){return number>=nativeMin(start,en...
  function baseIntersection (line 8679) | function baseIntersection(arrays,iteratee,comparator){var includes=compa...
  function baseInverter (line 8689) | function baseInverter(object,setter,iteratee,accumulator){baseForOwn(obj...
  function baseInvoke (line 8698) | function baseInvoke(object,path,args){path=castPath(path,object);object=...
  function baseIsArguments (line 8704) | function baseIsArguments(value){return isObjectLike(value)&&baseGetTag(v...
  function baseIsArrayBuffer (line 8710) | function baseIsArrayBuffer(value){return isObjectLike(value)&&baseGetTag...
  function baseIsDate (line 8716) | function baseIsDate(value){return isObjectLike(value)&&baseGetTag(value)...
  function baseIsEqual (line 8729) | function baseIsEqual(value,other,bitmask,customizer,stack){if(value===ot...
  function baseIsEqualDeep (line 8742) | function baseIsEqualDeep(object,other,bitmask,customizer,equalFunc,stack...
  function baseIsMap (line 8748) | function baseIsMap(value){return isObjectLike(value)&&getTag(value)==map...
  function baseIsMatch (line 8757) | function baseIsMatch(object,source,matchData,customizer){var index=match...
  function baseIsNative (line 8764) | function baseIsNative(value){if(!isObject(value)||isMasked(value)){retur...
  function baseIsRegExp (line 8770) | function baseIsRegExp(value){return isObjectLike(value)&&baseGetTag(valu...
  function baseIsSet (line 8776) | function baseIsSet(value){return isObjectLike(value)&&getTag(value)==set...
  function baseIsTypedArray (line 8782) | function baseIsTypedArray(value){return isObjectLike(value)&&isLength(va...
  function baseIteratee (line 8788) | function baseIteratee(value){// Don't store the `typeof` result in a var...
  function baseKeys (line 8796) | function baseKeys(object){if(!isPrototype(object)){return nativeKeys(obj...
  function baseKeysIn (line 8802) | function baseKeysIn(object){if(!isObject(object)){return nativeKeysIn(ob...
  function baseLt (line 8810) | function baseLt(value,other){return value<other;}
  function baseMap (line 8817) | function baseMap(collection,iteratee){var index=-1,result=isArrayLike(co...
  function baseMatches (line 8823) | function baseMatches(source){var matchData=getMatchData(source);if(match...
  function baseMatchesProperty (line 8830) | function baseMatchesProperty(path,srcValue){if(isKey(path)&&isStrictComp...
  function baseMerge (line 8840) | function baseMerge(object,source,srcIndex,customizer,stack){if(object===...
  function baseMergeDeep (line 8854) | function baseMergeDeep(object,source,key,srcIndex,mergeFunc,customizer,s...
  function baseNth (line 8862) | function baseNth(array,n){var length=array.length;if(!length){return;}n+...
  function baseOrderBy (line 8870) | function baseOrderBy(collection,iteratees,orders){var index=-1;iteratees...
  function basePick (line 8878) | function basePick(object,paths){return basePickBy(object,paths,function(...
  function basePickBy (line 8886) | function basePickBy(object,paths,predicate){var index=-1,length=paths.le...
  function basePropertyDeep (line 8892) | function basePropertyDeep(path){return function(object){return baseGet(o...
  function basePullAll (line 8902) | function basePullAll(array,values,iteratee,comparator){var indexOf=compa...
  function basePullAt (line 8910) | function basePullAt(array,indexes){var length=array?indexes.length:0,las...
  function baseRandom (line 8918) | function baseRandom(lower,upper){return lower+nativeFloor(nativeRandom()...
  function baseRange (line 8928) | function baseRange(start,end,step,fromRight){var index=-1,length=nativeM...
  function baseRepeat (line 8935) | function baseRepeat(string,n){var result='';if(!string||n<1||n>MAX_SAFE_...
  function baseRest (line 8944) | function baseRest(func,start){return setToString(overRest(func,start,ide...
  function baseSample (line 8950) | function baseSample(collection){return arraySample(values(collection));}
  function baseSampleSize (line 8957) | function baseSampleSize(collection,n){var array=values(collection);retur...
  function baseSet (line 8966) | function baseSet(object,path,value,customizer){if(!isObject(object)){ret...
  function baseShuffle (line 8986) | function baseShuffle(collection){return shuffleSelf(values(collection));}
  function baseSlice (line 8994) | function baseSlice(array,start,end){var index=-1,length=array.length;if(...
  function baseSome (line 9002) | function baseSome(collection,predicate){var result;baseEach(collection,f...
  function baseSortedIndex (line 9013) | function baseSortedIndex(array,value,retHighest){var low=0,high=array==n...
  function baseSortedIndexBy (line 9025) | function baseSortedIndexBy(array,value,iteratee,retHighest){value=iterat...
  function baseSortedUniq (line 9033) | function baseSortedUniq(array,iteratee){var index=-1,length=array.length...
  function baseToNumber (line 9040) | function baseToNumber(value){if(typeof value=='number'){return value;}if...
  function baseToString (line 9047) | function baseToString(value){// Exit early for strings to avoid a perfor...
  function baseUniq (line 9057) | function baseUniq(array,iteratee,comparator){var index=-1,includes=array...
  function baseUnset (line 9064) | function baseUnset(object,path){path=castPath(path,object);object=parent...
  function baseUpdate (line 9073) | function baseUpdate(object,path,updater,customizer){return baseSet(objec...
  function baseWhile (line 9083) | function baseWhile(array,predicate,isDrop,fromRight){var length=array.le...
  function baseWrapperValue (line 9092) | function baseWrapperValue(value,actions){var result=value;if(result inst...
  function baseXor (line 9101) | function baseXor(arrays,iteratee,comparator){var length=arrays.length;if...
  function baseZipObject (line 9109) | function baseZipObject(props,values,assignFunc){var index=-1,length=prop...
  function castArrayLikeObject (line 9115) | function castArrayLikeObject(value){return isArrayLikeObject(value)?valu...
  function castFunction (line 9121) | function castFunction(value){return typeof value=='function'?value:ident...
  function castPath (line 9128) | function castPath(value,object){if(isArray(value)){return value;}return ...
  function castSlice (line 9144) | function castSlice(array,start,end){var length=array.length;end=end===un...
  function cloneBuffer (line 9156) | function cloneBuffer(buffer,isDeep){if(isDeep){return buffer.slice();}va...
  function cloneArrayBuffer (line 9162) | function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constr...
  function cloneDataView (line 9169) | function cloneDataView(dataView,isDeep){var buffer=isDeep?cloneArrayBuff...
  function cloneMap (line 9177) | function cloneMap(map,isDeep,cloneFunc){var array=isDeep?cloneFunc(mapTo...
  function cloneRegExp (line 9183) | function cloneRegExp(regexp){var result=new regexp.constructor(regexp.so...
  function cloneSet (line 9191) | function cloneSet(set,isDeep,cloneFunc){var array=isDeep?cloneFunc(setTo...
  function cloneSymbol (line 9197) | function cloneSymbol(symbol){return symbolValueOf?Object(symbolValueOf.c...
  function cloneTypedArray (line 9204) | function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArray...
  function compareAscending (line 9211) | function compareAscending(value,other){if(value!==other){var valIsDefine...
  function compareMultiple (line 9224) | function compareMultiple(object,other,orders){var index=-1,objCriteria=o...
  function composeArgs (line 9241) | function composeArgs(args,partials,holders,isCurried){var argsIndex=-1,a...
  function composeArgsRight (line 9251) | function composeArgsRight(args,partials,holders,isCurried){var argsIndex...
  function copyArray (line 9258) | function copyArray(source,array){var index=-1,length=source.length;array...
  function copyObject (line 9267) | function copyObject(source,props,object,customizer){var isNew=!object;ob...
  function copySymbols (line 9274) | function copySymbols(source,object){return copyObject(source,getSymbols(...
  function copySymbolsIn (line 9281) | function copySymbolsIn(source,object){return copyObject(source,getSymbol...
  function createAggregator (line 9288) | function createAggregator(setter,initializer){return function(collection...
  function createAssigner (line 9294) | function createAssigner(assigner){return baseRest(function(object,source...
  function createBaseEach (line 9301) | function createBaseEach(eachFunc,fromRight){return function(collection,i...
  function createBaseFor (line 9307) | function createBaseFor(fromRight){return function(object,iteratee,keysFu...
  function createBind (line 9316) | function createBind(func,bitmask,thisArg){var isBind=bitmask&WRAP_BIND_F...
  function createCaseFirst (line 9322) | function createCaseFirst(methodName){return function(string){string=toSt...
  function createCompounder (line 9328) | function createCompounder(callback){return function(string){return array...
  function createCtor (line 9335) | function createCtor(Ctor){return function(){// Use a `switch` statement ...
  function createCurry (line 9348) | function createCurry(func,bitmask,arity){var Ctor=createCtor(func);funct...
  function createFind (line 9354) | function createFind(findIndexFunc){return function(collection,predicate,...
  function createFlow (line 9360) | function createFlow(fromRight){return flatRest(function(funcs){var lengt...
  function createHybrid (line 9378) | function createHybrid(func,bitmask,thisArg,partials,holders,partialsRigh...
  function createInverter (line 9385) | function createInverter(setter,toIteratee){return function(object,iterat...
  function createMathOperation (line 9392) | function createMathOperation(operator,defaultValue){return function(valu...
  function createOver (line 9398) | function createOver(arrayFunc){return flatRest(function(iteratees){itera...
  function createPadding (line 9406) | function createPadding(length,chars){chars=chars===undefined?' ':baseToS...
  function createPartial (line 9417) | function createPartial(func,bitmask,thisArg,partials){var isBind=bitmask...
  function createRange (line 9423) | function createRange(fromRight){return function(start,end,step){if(step&...
  function createRelationalOperation (line 9430) | function createRelationalOperation(operator){return function(value,other...
  function createRecurry (line 9446) | function createRecurry(func,bitmask,wrapFunc,placeholder,thisArg,partial...
  function createRound (line 9452) | function createRound(methodName){var func=Math[methodName];return functi...
  function createToPairs (line 9466) | function createToPairs(keysFunc){return function(object){var tag=getTag(...
  function createWrap (line 9490) | function createWrap(func,bitmask,thisArg,partials,holders,argPos,ary,ari...
  function customDefaultsAssignIn (line 9501) | function customDefaultsAssignIn(objValue,srcValue,key,object){if(objValu...
  function customDefaultsMerge (line 9514) | function customDefaultsMerge(objValue,srcValue,key,object,source,stack){...
  function customOmitClone (line 9523) | function customOmitClone(value){return isPlainObject(value)?undefined:va...
  function equalArrays (line 9535) | function equalArrays(array,other,bitmask,customizer,equalFunc,stack){var...
  function equalByTag (line 9554) | function equalByTag(object,other,tag,bitmask,customizer,equalFunc,stack)...
  function equalObjects (line 9573) | function equalObjects(object,other,bitmask,customizer,equalFunc,stack){v...
  function flatRest (line 9582) | function flatRest(func){return setToString(overRest(func,undefined,flatt...
  function getAllKeys (line 9588) | function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols);}
  function getAllKeysIn (line 9595) | function getAllKeysIn(object){return baseGetAllKeys(object,keysIn,getSym...
  function getFuncName (line 9607) | function getFuncName(func){var result=func.name+'',array=realNames[resul...
  function getHolder (line 9613) | function getHolder(func){var object=hasOwnProperty.call(lodash,'placehol...
  function getIteratee (line 9623) | function getIteratee(){var result=lodash.iteratee||iteratee;result=resul...
  function getMapData (line 9630) | function getMapData(map,key){var data=map.__data__;return isKeyable(key)...
  function getMatchData (line 9636) | function getMatchData(object){var result=keys(object),length=result.leng...
  function getNative (line 9643) | function getNative(object,key){var value=getValue(object,key);return bas...
  function getRawTag (line 9649) | function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStrin...
  function getView (line 9677) | function getView(start,end,transforms){var index=-1,length=transforms.le...
  function getWrapDetails (line 9683) | function getWrapDetails(source){var match=source.match(reWrapDetails);re...
  function hasPath (line 9691) | function hasPath(object,path,hasFunc){path=castPath(path,object);var ind...
  function initCloneArray (line 9697) | function initCloneArray(array){var length=array.length,result=array.cons...
  function initCloneObject (line 9704) | function initCloneObject(object){return typeof object.constructor=='func...
  function initCloneByTag (line 9716) | function initCloneByTag(object,tag,cloneFunc,isDeep){var Ctor=object.con...
  function insertWrapDetails (line 9723) | function insertWrapDetails(source,details){var length=details.length;if(...
  function isFlattenable (line 9729) | function isFlattenable(value){return isArray(value)||isArguments(value)|...
  function isIndex (line 9736) | function isIndex(value,length){length=length==null?MAX_SAFE_INTEGER:leng...
  function isIterateeCall (line 9745) | function isIterateeCall(value,index,object){if(!isObject(object)){return...
  function isKey (line 9752) | function isKey(value,object){if(isArray(value)){return false;}var type=t...
  function isKeyable (line 9758) | function isKeyable(value){var type=typeof value==="undefined"?"undefined...
  function isLaziable (line 9765) | function isLaziable(func){var funcName=getFuncName(func),other=lodash[fu...
  function isMasked (line 9771) | function isMasked(func){return!!maskSrcKey&&maskSrcKey in func;}
  function isPrototype (line 9783) | function isPrototype(value){var Ctor=value&&value.constructor,proto=type...
  function isStrictComparable (line 9790) | function isStrictComparable(value){return value===value&&!isObject(value);}
  function matchesStrictComparable (line 9798) | function matchesStrictComparable(key,srcValue){return function(object){i...
  function memoizeCapped (line 9805) | function memoizeCapped(func){var result=memoize(func,function(key){if(ca...
  function mergeData (line 9820) | function mergeData(data,source){var bitmask=data[1],srcBitmask=source[1]...
  function nativeKeysIn (line 9837) | function nativeKeysIn(object){var result=[];if(object!=null){for(var key...
  function objectToString (line 9843) | function objectToString(value){return nativeObjectToString.call(value);}
  function overRest (line 9851) | function overRest(func,start,transform){start=nativeMax(start===undefine...
  function parent (line 9858) | function parent(object,path){return path.length<2?object:baseGet(object,...
  function reorder (line 9867) | function reorder(array,indexes){var arrLength=array.length,length=native...
  function setWrapToString (line 9903) | function setWrapToString(wrapper,reference,bitmask){var source=reference...
  function shortOut (line 9911) | function shortOut(func){var count=0,lastCalled=0;return function(){var s...
  function shuffleSelf (line 9918) | function shuffleSelf(array,size){var index=-1,length=array.length,lastIn...
  function toKey (line 9930) | function toKey(value){if(typeof value=='string'||isSymbol(value)){return...
  function toSource (line 9936) | function toSource(func){if(func!=null){try{return funcToString.call(func...
  function updateWrapDetails (line 9943) | function updateWrapDetails(details,bitmask){arrayEach(wrapFlags,function...
  function wrapperClone (line 9949) | function wrapperClone(wrapper){if(wrapper instanceof LazyWrapper){return...
  function chunk (line 9969) | function chunk(array,size,guard){if(guard?isIterateeCall(array,size,guar...
  function compact (line 9983) | function compact(array){var index=-1,length=array==null?0:array.length,r...
  function concat (line 10004) | function concat(){var length=arguments.length;if(!length){return[];}var ...
  function drop (line 10095) | function drop(array,n,guard){var length=array==null?0:array.length;if(!l...
  function dropRight (line 10119) | function dropRight(array,n,guard){var length=array==null?0:array.length;...
  function dropRightWhile (line 10153) | function dropRightWhile(array,predicate){return array&&array.length?base...
  function dropWhile (line 10187) | function dropWhile(array,predicate){return array&&array.length?baseWhile...
  function fill (line 10215) | function fill(array,value,start,end){var length=array==null?0:array.leng...
  function findIndex (line 10249) | function findIndex(array,predicate,fromIndex){var length=array==null?0:a...
  function findLastIndex (line 10283) | function findLastIndex(array,predicate,fromIndex){var length=array==null...
  function flatten (line 10296) | function flatten(array){var length=array==null?0:array.length;return len...
  function flattenDeep (line 10309) | function flattenDeep(array){var length=array==null?0:array.length;return...
  function flattenDepth (line 10328) | function flattenDepth(array,depth){var length=array==null?0:array.length...
  function fromPairs (line 10342) | function fromPairs(pairs){var index=-1,length=pairs==null?0:pairs.length...
  function head (line 10359) | function head(array){return array&&array.length?array[0]:undefined;}
  function indexOf (line 10381) | function indexOf(array,value,fromIndex){var length=array==null?0:array.l...
  function initial (line 10394) | function initial(array){var length=array==null?0:array.length;return len...
  function join (line 10466) | function join(array,separator){return array==null?'':nativeJoin.call(arr...
  function last (line 10479) | function last(array){var length=array==null?0:array.length;return length...
  function lastIndexOf (line 10499) | function lastIndexOf(array,value,fromIndex){var length=array==null?0:arr...
  function nth (line 10519) | function nth(array,n){return array&&array.length?baseNth(array,toInteger...
  function pullAll (line 10560) | function pullAll(array,values){return array&&array.length&&values&&value...
  function pullAllBy (line 10582) | function pullAllBy(array,values,iteratee){return array&&array.length&&va...
  function pullAllWith (line 10604) | function pullAllWith(array,values,comparator){return array&&array.length...
  function remove (line 10654) | function remove(array,predicate){var result=[];if(!(array&&array.length)...
  function reverse (line 10676) | function reverse(array){return array==null?array:nativeReverse.call(arra...
  function slice (line 10691) | function slice(array,start,end){var length=array==null?0:array.length;if...
  function sortedIndex (line 10707) | function sortedIndex(array,value){return baseSortedIndex(array,value);}
  function sortedIndexBy (line 10731) | function sortedIndexBy(array,value,iteratee){return baseSortedIndexBy(ar...
  function sortedIndexOf (line 10746) | function sortedIndexOf(array,value){var length=array==null?0:array.lengt...
  function sortedLastIndex (line 10763) | function sortedLastIndex(array,value){return baseSortedIndex(array,value...
  function sortedLastIndexBy (line 10787) | function sortedLastIndexBy(array,value,iteratee){return baseSortedIndexB...
  function sortedLastIndexOf (line 10802) | function sortedLastIndexOf(array,value){var length=array==null?0:array.l...
  function sortedUniq (line 10816) | function sortedUniq(array){return array&&array.length?baseSortedUniq(arr...
  function sortedUniqBy (line 10831) | function sortedUniqBy(array,iteratee){return array&&array.length?baseSor...
  function tail (line 10844) | function tail(array){var length=array==null?0:array.length;return length...
  function take (line 10868) | function take(array,n,guard){if(!(array&&array.length)){return[];}n=guar...
  function takeRight (line 10892) | function takeRight(array,n,guard){var length=array==null?0:array.length;...
  function takeRightWhile (line 10926) | function takeRightWhile(array,predicate){return array&&array.length?base...
  function takeWhile (line 10960) | function takeWhile(array,predicate){return array&&array.length?baseWhile...
  function uniq (line 11034) | function uniq(array){return array&&array.length?baseUniq(array):[];}
  function uniqBy (line 11056) | function uniqBy(array,iteratee){return array&&array.length?baseUniq(arra...
  function uniqWith (line 11075) | function uniqWith(array,comparator){comparator=typeof comparator=='funct...
  function unzip (line 11093) | function unzip(array){if(!(array&&array.length)){return[];}var length=0;...
  function unzipWith (line 11113) | function unzipWith(array,iteratee){if(!(array&&array.length)){return[];}...
  function zipObject (line 11221) | function zipObject(props,values){return baseZipObject(props||[],values||...
  function zipObjectDeep (line 11235) | function zipObjectDeep(props,values){return baseZipObject(props||[],valu...
  function chain (line 11282) | function chain(value){var result=lodash(value);result.__chain__=true;ret...
  function tap (line 11304) | function tap(value,interceptor){interceptor(value);return value;}
  function thru (line 11326) | function thru(value,interceptor){return interceptor(value);}
  function wrapperChain (line 11367) | function wrapperChain(){return chain(this);}
  function wrapperCommit (line 11392) | function wrapperCommit(){return new LodashWrapper(this.value(),this.__ch...
  function wrapperNext (line 11413) | function wrapperNext(){if(this.__values__===undefined){this.__values__=t...
  function wrapperToIterator (line 11430) | function wrapperToIterator(){return this;}
  function wrapperPlant (line 11453) | function wrapperPlant(value){var result,parent=this;while(parent instanc...
  function wrapperReverse (line 11472) | function wrapperReverse(){var value=this.__wrapped__;if(value instanceof...
  function wrapperValue (line 11485) | function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__...
  function every (line 11546) | function every(collection,predicate,guard){var func=isArray(collection)?...
  function filter (line 11582) | function filter(collection,predicate){var func=isArray(collection)?array...
  function flatMap (line 11655) | function flatMap(collection,iteratee){return baseFlatten(map(collection,...
  function flatMapDeep (line 11674) | function flatMapDeep(collection,iteratee){return baseFlatten(map(collect...
  function flatMapDepth (line 11694) | function flatMapDepth(collection,iteratee,depth){depth=depth===undefined...
  function forEach (line 11723) | function forEach(collection,iteratee){var func=isArray(collection)?array...
  function forEachRight (line 11742) | function forEachRight(collection,iteratee){var func=isArray(collection)?...
  function includes (line 11793) | function includes(collection,value,fromIndex,guard){collection=isArrayLi...
  function map (line 11883) | function map(collection,iteratee){var func=isArray(collection)?arrayMap:...
  function orderBy (line 11911) | function orderBy(collection,iteratees,orders,guard){if(collection==null)...
  function reduce (line 11982) | function reduce(collection,iteratee,accumulator){var func=isArray(collec...
  function reduceRight (line 12003) | function reduceRight(collection,iteratee,accumulator){var func=isArray(c...
  function reject (line 12036) | function reject(collection,predicate){var func=isArray(collection)?array...
  function sample (line 12049) | function sample(collection){var func=isArray(collection)?arraySample:bas...
  function sampleSize (line 12068) | function sampleSize(collection,n,guard){if(guard?isIterateeCall(collecti...
  function shuffle (line 12082) | function shuffle(collection){var func=isArray(collection)?arrayShuffle:b...
  function size (line 12102) | function size(collection){if(collection==null){return 0;}if(isArrayLike(...
  function some (line 12137) | function some(collection,predicate,guard){var func=isArray(collection)?a...
  function after (line 12203) | function after(n,func){if(typeof func!='function'){throw new TypeError(F...
  function ary (line 12219) | function ary(func,n,guard){n=guard?undefined:n;n=func&&n==null?func.leng...
  function before (line 12235) | function before(n,func){var result;if(typeof func!='function'){throw new...
  function curry (line 12353) | function curry(func,arity,guard){arity=guard?undefined:arity;var result=...
  function curryRight (line 12390) | function curryRight(func,arity,guard){arity=guard?undefined:arity;var re...
  function debounce (line 12443) | function debounce(func,wait,options){var lastArgs,lastThis,maxWait,resul...
  function flip (line 12505) | function flip(func){return createWrap(func,WRAP_FLIP_FLAG);}
  function memoize (line 12548) | function memoize(func,resolver){if(typeof func!='function'||resolver!=nu...
  function negate (line 12568) | function negate(predicate){if(typeof predicate!='function'){throw new Ty...
  function once (line 12585) | function once(func){return before(2,func);}
  function rest (line 12723) | function rest(func,start){if(typeof func!='function'){throw new TypeErro...
  function spread (line 12756) | function spread(func,start){if(typeof func!='function'){throw new TypeEr...
  function throttle (line 12799) | function throttle(func,wait,options){var leading=true,trailing=true;if(t...
  function unary (line 12813) | function unary(func){return ary(func,1);}
  function wrap (line 12834) | function wrap(value,wrapper){return partial(castFunction(wrapper),value);}
  function castArray (line 12866) | function castArray(){if(!arguments.length){return[];}var value=arguments...
  function clone (line 12891) | function clone(value){return baseClone(value,CLONE_SYMBOLS_FLAG);}
  function cloneWith (line 12921) | function cloneWith(value,customizer){customizer=typeof customizer=='func...
  function cloneDeep (line 12938) | function cloneDeep(value){return baseClone(value,CLONE_DEEP_FLAG|CLONE_S...
  function cloneDeepWith (line 12965) | function cloneDeepWith(value,customizer){customizer=typeof customizer=='...
  function conformsTo (line 12988) | function conformsTo(object,source){return source==null||baseConformsTo(o...
  function eq (line 13019) | function eq(value,other){return value===other||value!==value&&other!==ot...
  function isArrayLike (line 13142) | function isArrayLike(value){return value!=null&&isLength(value.length)&&...
  function isArrayLikeObject (line 13166) | function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLik...
  function isBoolean (line 13182) | function isBoolean(value){return value===true||value===false||isObjectLi...
  function isElement (line 13230) | function isElement(value){return isObjectLike(value)&&value.nodeType===1...
  function isEmpty (line 13262) | function isEmpty(value){if(value==null){return true;}if(isArrayLike(valu...
  function isEqual (line 13289) | function isEqual(value,other){return baseIsEqual(value,other);}
  function isEqualWith (line 13320) | function isEqualWith(value,other,customizer){customizer=typeof customize...
  function isError (line 13337) | function isError(value){if(!isObjectLike(value)){return false;}var tag=b...
  function isFinite (line 13362) | function isFinite(value){return typeof value=='number'&&nativeIsFinite(v...
  function isFunction (line 13378) | function isFunction(value){if(!isObject(value)){return false;}// The use...
  function isInteger (line 13405) | function isInteger(value){return typeof value=='number'&&value==toIntege...
  function isLength (line 13430) | function isLength(value){return typeof value=='number'&&value>-1&&value%...
  function isObject (line 13454) | function isObject(value){var type=typeof value==="undefined"?"undefined"...
  function isObjectLike (line 13477) | function isObjectLike(value){return value!=null&&(typeof value==="undefi...
  function isMatch (line 13520) | function isMatch(object,source){return object===source||baseIsMatch(obje...
  function isMatchWith (line 13551) | function isMatchWith(object,source,customizer){customizer=typeof customi...
  function isNaN (line 13578) | function isNaN(value){// An `NaN` primitive is the only value that is no...
  function isNative (line 13606) | function isNative(value){if(isMaskable(value)){throw new Error(CORE_ERRO...
  function isNull (line 13622) | function isNull(value){return value===null;}
  function isNil (line 13641) | function isNil(value){return value==null;}
  function isNumber (line 13666) | function isNumber(value){return typeof value=='number'||isObjectLike(val...
  function isPlainObject (line 13693) | function isPlainObject(value){if(!isObjectLike(value)||baseGetTag(value)...
  function isSafeInteger (line 13735) | function isSafeInteger(value){return isInteger(value)&&value>=-MAX_SAFE_...
  function isString (line 13767) | function isString(value){return typeof value=='string'||!isArray(value)&...
  function isSymbol (line 13783) | function isSymbol(value){return(typeof value==="undefined"?"undefined":(...
  function isUndefined (line 13815) | function isUndefined(value){return value===undefined;}
  function isWeakMap (line 13831) | function isWeakMap(value){return isObjectLike(value)&&getTag(value)==wea...
  function isWeakSet (line 13847) | function isWeakSet(value){return isObjectLike(value)&&baseGetTag(value)=...
  function toArray (line 13913) | function toArray(value){if(!value){return[];}if(isArrayLike(value)){retu...
  function toFinite (line 13935) | function toFinite(value){if(!value){return value===0?value:0;}value=toNu...
  function toInteger (line 13960) | function toInteger(value){var result=toFinite(value),remainder=result%1;...
  function toLength (line 13986) | function toLength(value){return value?baseClamp(toInteger(value),0,MAX_A...
  function toNumber (line 14008) | function toNumber(value){if(typeof value=='number'){return value;}if(isS...
  function toPlainObject (line 14031) | function toPlainObject(value){return copyObject(value,keysIn(value));}
  function toSafeInteger (line 14054) | function toSafeInteger(value){return value?baseClamp(toInteger(value),-M...
  function toString (line 14074) | function toString(value){return value==null?'':baseToString(value);}
  function create (line 14239) | function create(prototype,properties){var result=baseCreate(prototype);r...
  function findKey (line 14311) | function findKey(object,predicate){return baseFindKey(object,getIteratee...
  function findLastKey (line 14345) | function findLastKey(object,predicate){return baseFindKey(object,getIter...
  function forIn (line 14372) | function forIn(object,iteratee){return object==null?object:baseFor(objec...
  function forInRight (line 14397) | function forInRight(object,iteratee){return object==null?object:baseForR...
  function forOwn (line 14424) | function forOwn(object,iteratee){return object&&baseForOwn(object,getIte...
  function forOwnRight (line 14449) | function forOwnRight(object,iteratee){return object&&baseForOwnRight(obj...
  function functions (line 14471) | function functions(object){return object==null?[]:baseFunctions(object,k...
  function functionsIn (line 14493) | function functionsIn(object){return object==null?[]:baseFunctions(object...
  function get (line 14517) | function get(object,path,defaultValue){var result=object==null?undefined...
  function has (line 14543) | function has(object,path){return object!=null&&hasPath(object,path,baseH...
  function hasIn (line 14568) | function hasIn(object,path){return object!=null&&hasPath(object,path,bas...
  function keys (line 14654) | function keys(object){return isArrayLike(object)?arrayLikeKeys(object):b...
  function keysIn (line 14676) | function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,...
  function mapKeys (line 14696) | function mapKeys(object,iteratee){var result={};iteratee=getIteratee(ite...
  function mapValues (line 14723) | function mapValues(object,iteratee){var result={};iteratee=getIteratee(i...
  function omitBy (line 14821) | function omitBy(object,predicate){return pickBy(object,negate(getIterate...
  function pickBy (line 14854) | function pickBy(object,predicate){if(object==null){return{};}var props=a...
  function result (line 14882) | function result(object,path,defaultValue){path=castPath(path,object);var...
  function set (line 14910) | function set(object,path,value){return object==null?object:baseSet(objec...
  function setWith (line 14933) | function setWith(object,path,value,customizer){customizer=typeof customi...
  function transform (line 15008) | function transform(object,iteratee,accumulator){var isArr=isArray(object...
  function unset (line 15034) | function unset(object,path){return object==null?true:baseUnset(object,pa...
  function update (line 15060) | function update(object,path,updater){return object==null?object:baseUpda...
  function updateWith (line 15083) | function updateWith(object,path,updater,customizer){customizer=typeof cu...
  function values (line 15108) | function values(object){return object==null?[]:baseValues(object,keys(ob...
  function valuesIn (line 15131) | function valuesIn(object){return object==null?[]:baseValues(object,keysI...
  function clamp (line 15149) | function clamp(number,lower,upper){if(upper===undefined){upper=lower;low...
  function inRange (line 15186) | function inRange(number,start,end){start=toFinite(start);if(end===undefi...
  function random (line 15216) | function random(lower,upper,floating){if(floating&&typeof floating!='boo...
  function capitalize (line 15249) | function capitalize(string){return upperFirst(toString(string).toLowerCa...
  function deburr (line 15266) | function deburr(string){string=toString(string);return string&&string.re...
  function endsWith (line 15288) | function endsWith(string,target,position){string=toString(string);target...
  function escape (line 15315) | function escape(string){string=toString(string);return string&&reHasUnes...
  function escapeRegExp (line 15329) | function escapeRegExp(string){string=toString(string);return string&&reH...
  function pad (line 15406) | function pad(string,length,chars){string=toString(string);length=toInteg...
  function padEnd (line 15428) | function padEnd(string,length,chars){string=toString(string);length=toIn...
  function padStart (line 15450) | function padStart(string,length,chars){string=toString(string);length=to...
  function parseInt (line 15473) | function parseInt(string,radix,guard){if(guard||radix==null){radix=0;}el...
  function repeat (line 15494) | function repeat(string,n,guard){if(guard?isIterateeCall(string,n,guard):...
  function replace (line 15512) | function replace(){var args=arguments,string=toString(args[0]);return ar...
  function split (line 15550) | function split(string,separator,limit){if(limit&&typeof limit!='number'&...
  function startsWith (line 15592) | function startsWith(string,target,position){string=toString(string);posi...
  function template (line 15695) | function template(string,options,guard){// Based on John Resig's `tmpl` ...
  function toLower (line 15730) | function toLower(value){return toString(value).toLowerCase();}
  function toUpper (line 15750) | function toUpper(value){return toString(value).toUpperCase();}
  function trim (line 15771) | function trim(string,chars,guard){string=toString(string);if(string&&(gu...
  function trimEnd (line 15789) | function trimEnd(string,chars,guard){string=toString(string);if(string&&...
  function trimStart (line 15807) | function trimStart(string,chars,guard){string=toString(string);if(string...
  function truncate (line 15843) | function truncate(string,options){var length=DEFAULT_TRUNC_LENGTH,omissi...
  function unescape (line 15861) | function unescape(string){string=toString(string);return string&&reHasEs...
  function words (line 15914) | function words(string,pattern,guard){string=toString(string);pattern=gua...
  function cond (line 15988) | function cond(pairs){var length=pairs==null?0:pairs.length,toIteratee=ge...
  function conforms (line 16011) | function conforms(source){return baseConforms(baseClone(source,CLONE_DEE...
  function constant (line 16029) | function constant(value){return function(){return value;};}
  function defaultTo (line 16048) | function defaultTo(value,defaultValue){return value==null||value!==value...
  function identity (line 16104) | function identity(value){return value;}
  function iteratee (line 16145) | function iteratee(func){return baseIteratee(typeof func=='function'?func...
  function matches (line 16172) | function matches(source){return baseMatches(baseClone(source,CLONE_DEEP_...
  function matchesProperty (line 16197) | function matchesProperty(path,srcValue){return baseMatchesProperty(path,...
  function mixin (line 16277) | function mixin(object,source,options){var props=keys(source),methodNames...
  function noConflict (line 16289) | function noConflict(){if(root._===this){root._=oldDash;}return this;}
  function noop (line 16300) | function noop(){}// No operation performed.
  function nthArg (line 16320) | function nthArg(n){n=toInteger(n);return baseRest(function(args){return ...
  function property (line 16404) | function property(path){return isKey(path)?baseProperty(toKey(path)):bas...
  function propertyOf (line 16424) | function propertyOf(object){return function(path){return object==null?un...
  function stubArray (line 16516) | function stubArray(){return[];}
  function stubFalse (line 16528) | function stubFalse(){return false;}
  function stubObject (line 16545) | function stubObject(){return{};}
  function stubString (line 16557) | function stubString(){return'';}
  function stubTrue (line 16569) | function stubTrue(){return true;}
  function times (line 16587) | function times(n,iteratee){n=toInteger(n);if(n<1||n>MAX_SAFE_INTEGER){re...
  function toPath (line 16603) | function toPath(value){if(isArray(value)){return arrayMap(value,toKey);}...
  function uniqueId (line 16619) | function uniqueId(prefix){var id=++idCounter;return toString(prefix)+id;}
  function max (line 16704) | function max(array){return array&&array.length?baseExtremum(array,identi...
  function maxBy (line 16726) | function maxBy(array,iteratee){return array&&array.length?baseExtremum(a...
  function mean (line 16739) | function mean(array){return baseMean(array,identity);}
  function meanBy (line 16761) | function meanBy(array,iteratee){return baseMean(array,getIteratee(iterat...
  function min (line 16778) | function min(array){return array&&array.length?baseExtremum(array,identi...
  function minBy (line 16800) | function minBy(array,iteratee){return array&&array.length?baseExtremum(a...
  function sum (line 16861) | function sum(array){return array&&array.length?baseSum(array,identity):0;}
  function sumBy (line 16883) | function sumBy(array,iteratee){return array&&array.length?baseSum(array,...
  function noop (line 16929) | function noop(){// No operation performed.
  function repeat (line 16951) | function repeat(string,n,guard){if(guard?isIterateeCall(string,n,guard):...
  function stubArray (line 16968) | function stubArray(){return[];}
  function stubFalse (line 16980) | function stubFalse(){return false;}
  function toFinite (line 17002) | function toFinite(value){if(!value){return value===0?value:0;}value=toNu...
  function toInteger (line 17027) | function toInteger(value){var result=toFinite(value),remainder=result%1;...
  function toNumber (line 17049) | function toNumber(value){if(typeof value=='number'){return value;}if(isS...
  function toString (line 17069) | function toString(value){return value==null?'':baseToString(value);}
  function uniq (line 17086) | function uniq(array){return array&&array.length?baseUniq(array):[];}
  function values (line 17111) | function values(object){return object==null?[]:baseValues(object,keys(ob...
  function parse (line 17131) | function parse(str){str=String(str);if(str.length>10000){return;}var mat...
  function fmtShort (line 17137) | function fmtShort(ms){if(ms>=d){return Math.round(ms/d)+'d';}if(ms>=h){r...
  function fmtLong (line 17143) | function fmtLong(ms){return plural(ms,d,'day')||plural(ms,h,'hour')||plu...
  function plural (line 17145) | function plural(ms,n,name){if(ms<n){return;}if(ms<n*1.5){return Math.flo...
  function getCode (line 17151) | function getCode(str,pos,code){if(code){for(i=pos;code=getCode(str,i),co...
  function toObject (line 17159) | function toObject(val){if(val===null||val===undefined){throw new TypeErr...
  function shouldUseNative (line 17159) | function shouldUseNative(){try{if(!_assign4.default){return false;}// De...
  function normalizeArray (line 17200) | function normalizeArray(parts,allowAboveRoot){// if the path tries to go...
  function trim (line 17217) | function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[sta...
  function filter (line 17220) | function filter(xs,f){if(xs.filter)return xs.filter(f);var res=[];for(va...
  function curry$ (line 17222) | function curry$(f,bound){var context,_curry=function _curry(args){return...
  function fn$ (line 17223) | function fn$(){var i$,ref$,len$,results$=[];for(i$=0,len$=(ref$=xss).len...
  function curry$ (line 17223) | function curry$(f,bound){var context,_curry=function _curry(args){return...
  function in$ (line 17223) | function in$(x,xs){var i=-1,l=xs.length>>>0;while(++i<l){if(x===xs[i])re...
  function compose$ (line 17223) | function compose$(){var functions=arguments;return function(){var i,resu...
  function not$ (line 17223) | function not$(x){return!x;}
  function curry$ (line 17224) | function curry$(f,bound){var context,_curry=function _curry(args){return...
  function curry$ (line 17225) | function curry$(f,bound){var context,_curry=function _curry(args){return...
  function curry$ (line 17226) | function curry$(f,bound){var context,_curry=function _curry(args){return...
  function curry$ (line 17227) | function curry$(f,bound){var context,_curry=function _curry(args){return...
  function defaultSetTimout (line 17232) | function defaultSetTimout(){throw new Error('setTimeout has not been def...
  function defaultClearTimeout (line 17232) | function defaultClearTimeout(){throw new Error('clearTimeout has not bee...
  function runTimeout (line 17232) | function runTimeout(fun){if(cachedSetTimeout===setTimeout){//normal envi...
  function runClearTimeout (line 17237) | function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout){/...
  function cleanUpNextTick (line 17243) | function cleanUpNextTick(){if(!draining||!currentQueue){return;}draining...
  function drainQueue (line 17243) | function drainQueue(){if(draining){return;}var timeout=runTimeout(cleanU...
  function Item (line 17244) | function Item(fun,array){this.fun=fun;this.array=array;}
  function noop (line 17245) | function noop(){}
  function f (line 17245) | function f(){}
  function checkArray (line 17246) | function checkArray(input,type){return all(function(it){return checkMult...
  function checkTuple (line 17246) | function checkTuple(input,type){var i,i$,ref$,len$,types;i=0;for(i$=0,le...
  function checkFields (line 17246) | function checkFields(input,type){var inputKeys,numInputKeys,k,numOfKeys,...
  function checkStructure (line 17246) | function checkStructure(input,type){if(!(input instanceof Object)){retur...
  function check (line 17246) | function check(input,typeObj){var type,structure,setting,that;type=typeO...
  function checkMultiple (line 17246) | function checkMultiple(input,types){if(toString$.call(types).slice(8,-1)...
  function peek (line 17248) | function peek(tokens){var token;token=tokens[0];if(token==null){throw ne...
  function consumeIdent (line 17248) | function consumeIdent(tokens){var token;token=peek(tokens);if(!identifie...
  function consumeOp (line 17248) | function consumeOp(tokens,op){var token;token=peek(tokens);if(token!==op...
  function maybeConsumeOp (line 17248) | function maybeConsumeOp(tokens,op){var token;token=tokens[0];if(token===...
  function consumeArray (line 17248) | function consumeArray(tokens){var types;consumeOp(tokens,'[');if(peek(to...
  function consumeTuple (line 17248) | function consumeTuple(tokens){var components;components=[];consumeOp(tok...
  function consumeFields (line 17248) | function consumeFields(tokens){var fields,subset,ref$,key,types;fields={...
  function consumeField (line 17248) | function consumeField(tokens){var key,types;key=consumeIdent(tokens);con...
  function maybeConsumeStructure (line 17248) | function maybeConsumeStructure(tokens){switch(tokens[0]){case'[':return ...
  function consumeType (line 17248) | function consumeType(tokens){var token,wildcard,type,structure;token=pee...
  function consumeTypes (line 17248) | function consumeTypes(tokens){var lookahead,types,typesSoFar,typeObj,typ...
  function in$ (line 17248) | function in$(x,xs){var i=-1,l=xs.length>>>0;while(++i<l){if(x===xs[i])re...
  function deprecated (line 17274) | function deprecated(){if(!warned){if(process.throwDeprecation){throw new...
  function inspect (line 17280) | function inspect(obj,opts){// default options
  function stylizeWithColor (line 17288) | function stylizeWithColor(str,styleType){var style=inspect.styles[styleT...
  function stylizeNoColor (line 17288) | function stylizeNoColor(str,styleType){return str;}
  function arrayToHash (line 17288) | function arrayToHash(array){var hash={};array.forEach(function(val,idx){...
  function formatValue (line 17288) | function formatValue(ctx,value,recurseTimes){// Provide a hook for user-...
  function formatPrimitive (line 17302) | function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.sty...
  function formatError (line 17303) | function formatError(value){return'['+Error.prototype.toString.call(valu...
  function formatArray (line 17303) | function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output...
  function formatProperty (line 17303) | function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){va...
  function reduceToSingleString (line 17303) | function reduceToSingleString(output,base,braces){var numLinesEst=0;var ...
  function isArray (line 17305) | function isArray(ar){return Array.isArray(ar);}
  function isBoolean (line 17305) | function isBoolean(arg){return typeof arg==='boolean';}
  function isNull (line 17305) | function isNull(arg){return arg===null;}
  function isNullOrUndefined (line 17305) | function isNullOrUndefined(arg){return arg==null;}
  function isNumber (line 17305) | function isNumber(arg){return typeof arg==='number';}
  function isString (line 17305) | function isString(arg){return typeof arg==='string';}
  function isSymbol (line 17305) | function isSymbol(arg){return(typeof arg==="undefined"?"undefined":(0,_t...
  function isUndefined (line 17305) | function isUndefined(arg){return arg===void 0;}
  function isRegExp (line 17305) | function isRegExp(re){return isObject(re)&&objectToString(re)==='[object...
  function isObject (line 17305) | function isObject(arg){return(typeof arg==="undefined"?"undefined":(0,_t...
  function isDate (line 17305) | function isDate(d){return isObject(d)&&objectToString(d)==='[object Date...
  function isError (line 17305) | function isError(e){return isObject(e)&&(objectToString(e)==='[object Er...
  function isFunction (line 17305) | function isFunction(arg){return typeof arg==='function';}
  function isPrimitive (line 17305) | function isPrimitive(arg){return arg===null||typeof arg==='boolean'||typ...
  function objectToString (line 17306) | function objectToString(o){return Object.prototype.toString.call(o);}
  function pad (line 17306) | function pad(n){return n<10?'0'+n.toString(10):n.toString(10);}
  function timestamp (line 17307) | function timestamp(){var d=new Date();var time=[pad(d.getHours()),pad(d....
  function hasOwnProperty (line 17321) | function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty...
  function extend (line 17321) | function extend(){var target={};for(var i=0;i<arguments.length;i++){var ...
  function isModifyingReference (line 17338) | function isModifyingReference(reference,index,references){var identifier...
  function startsWithUpperCase (line 17347) | function startsWithUpperCase(s){return s[0]!==s[0].toLocaleLowerCase();}
  function isES5Constructor (line 17351) | function isES5Constructor(node){return node.id&&startsWithUpperCase(node...
  function getUpperFunction (line 17355) | function getUpperFunction(node){while(node){if(anyFunctionPattern.test(n...
  function isFunction (line 17365) | function isFunction(node){return Boolean(node&&anyFunctionPattern.test(n...
  function isLoop (line 17377) | function isLoop(node){return Boolean(node&&anyLoopPattern.test(node.type...
  function isInLoop (line 17382) | function isInLoop(node){while(node&&!isFunction(node)){if(isLoop(node)){...
  function isNullOrUndefined (line 17387) | function isNullOrUndefined(node){return module.exports.isNullLiteral(nod...
  function isCallee (line 17391) | function isCallee(node){return node.parent.type==="CallExpression"&&node...
  function isReflectApply (line 17395) | function isReflectApply(node){return node.type==="MemberExpression"&&nod...
  function isArrayFromMethod (line 17399) | function isArrayFromMethod(node){return node.type==="MemberExpression"&&...
  function isMethodWhichHasThisArg (line 17403) | function isMethodWhichHasThisArg(node){while(node){if(node.type==="Ident...
  function negate (line 17407) | function negate(f){return function(token){return!f(token);};}
  function hasJSDocThisTag (line 17412) | function hasJSDocThisTag(node,sourceCode){var jsdocComment=sourceCode.ge...
  function isParenthesised (line 17422) | function isParenthesised(sourceCode,node){var previousToken=sourceCode.g...
  function isArrowToken (line 17427) | function isArrowToken(token){return token.value==="=>"&&token.type==="Pu...
  function isCommaToken (line 17432) | function isCommaToken(token){return token.value===","&&token.type==="Pun...
  function isSemicolonToken (line 17437) | function isSemicolonToken(token){return token.value===";"&&token.type===...
  function isColonToken (line 17442) | function isColonToken(token){return token.value===":"&&token.type==="Pun...
  function isOpeningParenToken (line 17447) | function isOpeningParenToken(token){return token.value==="("&&token.type...
  function isClosingParenToken (line 17452) | function isClosingParenToken(token){return token.value===")"&&token.type...
  function isOpeningBracketToken (line 17457) | function isOpeningBracketToken(token){return token.value==="["&&token.ty...
  function isClosingBracketToken (line 17462) | function isClosingBracketToken(token){return token.value==="]"&&token.ty...
  function isOpeningBraceToken (line 17467) | function isOpeningBraceToken(token){return token.value==="{"&&token.type...
  function isClosingBraceToken (line 17472) | function isClosingBraceToken(token){return token.value==="}"&&token.type...
  function isCommentToken (line 17477) | function isCommentToken(token){return token.type==="Line"||token.type===...
  function isKeywordToken (line 17482) | function isKeywordToken(token){return token.type==="Keyword";}
  function getOpeningParenOfParams (line 17488) | function getOpeningParenOfParams(node,sourceCode){return node.id?sourceC...
  function createGlobalLinebreakMatcher (line 17492) | function createGlobalLinebreakMatcher(){return new RegExp(LINEBREAK_MATC...
  function defineProperties (line 17847) | function defineProperties(target,props){for(var i=0;i<props.length;i++){...
  function _classCallCheck (line 17847) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function isCaseNode (line 17855) | function isCaseNode(node){return Boolean(node.test);}
  function isForkingByTrueOrFalse (line 17861) | function isForkingByTrueOrFalse(node){var parent=node.parent;switch(pare...
  function getBooleanValueIfSimpleConstant (line 17871) | function getBooleanValueIfSimpleConstant(node){if(node.type==="Literal")...
  function isIdentifierReference (line 17878) | function isIdentifierReference(node){var parent=node.parent;switch(paren...
  function forwardCurrentToHead (line 17890) | function forwardCurrentToHead(analyzer,node){var codePath=analyzer.codeP...
  function leaveFromCurrentSegment (line 17900) | function leaveFromCurrentSegment(analyzer,node){var state=CodePath.getSt...
  function preprocess (line 17910) | function preprocess(analyzer,node){var codePath=analyzer.codePath;var st...
  function processCodePathToEnter (line 17924) | function processCodePathToEnter(analyzer,node){var codePath=analyzer.cod...
  function processCodePathToExit (line 17938) | function processCodePathToExit(analyzer,node){var codePath=analyzer.code...
  function postprocess (line 17949) | function postprocess(analyzer,node){switch(node.type){case"Program":case...
  function CodePathAnalyzer (line 17960) | function CodePathAnalyzer(eventGenerator){_classCallCheck(this,CodePathA...
  function defineProperties (line 17993) | function defineProperties(target,props){for(var i=0;i<props.length;i++){...
  function _classCallCheck (line 17993) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function flattenUnusedSegments (line 18001) | function flattenUnusedSegments(segments){var done=(0,_create4.default)(n...
  function isReachable (line 18008) | function isReachable(segment){return segment.reachable;}//--------------...
  function CodePathSegment (line 18018) | function CodePathSegment(id,allPrevSegments,reachable){_classCallCheck(t...
  function defineProperties (line 18091) | function defineProperties(target,props){for(var i=0;i<props.length;i++){...
  function _classCallCheck (line 18091) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function addToReturnedOrThrown (line 18106) | function addToReturnedOrThrown(dest,others,all,segments){for(var i=0;i<s...
  function getContinueContext (line 18112) | function getContinueContext(state,label){if(!label){return state.loopCon...
  function getBreakContext (line 18118) | function getBreakContext(state,label){var context=state.breakContext;whi...
  function getReturnContext (line 18123) | function getReturnContext(state){var context=state.tryContext;while(cont...
  function getThrowContext (line 18128) | function getThrowContext(state){var context=state.tryContext;while(conte...
  function remove (line 18134) | function remove(xs,x){xs.splice(xs.indexOf(x),1);}
  function removeConnection (line 18144) | function removeConnection(prevSegments,nextSegments){for(var i=0;i<prevS...
  function makeLooped (line 18151) | function makeLooped(state,fromSegments,toSegments){var end=Math.min(from...
  function finalizeTestSegmentsOfFor (line 18161) | function finalizeTestSegmentsOfFor(context,choiceContext,head){if(!choic...
  function CodePathState (line 18170) | function CodePathState(idGenerator,onLooped){_classCallCheck(this,CodePa...
  function defineProperties (line 18517) | function defineProperties(target,props){for(var i=0;i<props.length;i++){...
  function _classCallCheck (line 18517) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function CodePath (line 18526) | function CodePath(id,upper,onLooped){_classCallCheck(this,CodePath);/**
  function isVisited (line 18566) | function isVisited(prevSegment){return visited[prevSegment.id]||segment....
  function getId (line 18603) | function getId(segment){// eslint-disable-line require-jsdoc
  function defineProperties (line 18648) | function defineProperties(target,props){for(var i=0;i<props.length;i++){...
  function _classCallCheck (line 18648) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function isReachable (line 18656) | function isReachable(segment){return segment.reachable;}
  function makeSegments (line 18668) | function makeSegments(context,begin,end,create){var list=context.segment...
  function mergeExtraSegments (line 18677) | function mergeExtraSegments(context,segments){while(segments.length>cont...
  function ForkContext (line 18686) | function ForkContext(idGenerator,upper,count){_classCallCheck(this,ForkC...
  function defineProperties (line 18760) | function defineProperties(target,props){for(var i=0;i<props.length;i++){...
  function _classCallCheck (line 18760) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  function IdGenerator (line 18762) | function IdGenerator(prefix){_classCallCheck(this,IdGenerator);this.pref...
  function getRuleOptionsSchema (line 18859) | function getRuleOptionsSchema(id){var rule=rules.get(id),schema=rule&&ru...
  function validateRuleSeverity (line 18865) | function validateRuleSeverity(options){var severity=Array.isArray(option...
  function validateRuleSchema (line 18870) | function validateRuleSchema(id,localOptions){var schema=getRuleOptionsSc...
  function validateRuleOptions (line 18876) | function validateRuleOptions(id,options,source){try{var severity=validat...
  function validateEnvironment (line 18881) | function validateEnvironment(environment,source){// not having an enviro...
  function validate (line 18887) | function validate(config,source){if(_typeof(config.rules)==="object"){(0...
  function load (line 18903) | function load(){(0,_keys4.default)(envs).forEach(function(envName){envir...
  function parseBooleanConfig (line 18948) | function parseBooleanConfig(string,comment){var items={};// Collapse whi...
  function parseJsonConfig (line 18955) | function parseJsonConfig(string,location,messages){var items={};// Parse...
  function parseListConfig (line 18967) | function parseListConfig(string){var items={};// Collapse whitespace aro...
  function addDeclaredGlobals (line 18976) | function addDeclaredGlobals(program,globalScope,config){var declaredGlob...
  function disableReporting (line 18991) | function disableReporting(reportingConfig,start,rulesToDisable){if(rules...
  function enableReporting (line 18998) | function enableReporting(reportingConfig,start,rulesToEnable){var i=void...
  function modifyConfigsFromComments (line 19009) | function modifyConfigsFromComments(filename,ast,config,reportingConfig,m...
  function isDisabledByReportingConfig (line 19018) | function isDisabledByReportingConfig(reportingConfig,ruleId,location){fo...
  function normalizeEcmaVersion (line 19023) | function normalizeEcmaVersion(ecmaVersion,isModule){// Need at least ES6...
  function prepareConfig (line 19030) | function prepareConfig(config){config.globals=config.globals||config.glo...
  function createStubRule (line 19036) | function createStubRule(message){/**
  function getRuleReplacementMessage (line 19044) | function getRuleReplacementMessage(ruleId){if(ruleId in replacements.rul...
  function findEslintEnv (line 19048) | function findEslintEnv(text){var match=void 0,retv=void 0;eslintEnvPatte...
  function stripUnicodeBOM (line 19053) | function stripUnicodeBOM(text){/*
  function parse (line 19073) | function parse(text,config,filePath){var parser=void 0,parserOptions={lo...
  function getRuleSeverity (line 19085) | function getRuleSeverity(ruleConfig){if(typeof ruleConfig==="number"){re...
  function getRuleOptions (line 19089) | function getRuleOptions(ruleConfig){if(Array.isArray(ruleConfig)){return...
  function defineProperties (line 19221) | function defineProperties(target,props){for(var i=0;i<props.length;i++){...
  function _classCallCheck (line 19221) | function _classCallCheck(instance,Constructor){if(!(instance instanceof ...
  functio
Condensed preview — 22 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,393K chars).
[
  {
    "path": ".babelrc",
    "chars": 69,
    "preview": "{\n  \"presets\": [[\"env\", { \"modules\": false }], \"react\", \"stage-2\"]\n}\n"
  },
  {
    "path": ".editorconfig",
    "chars": 476,
    "preview": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# edit"
  },
  {
    "path": ".eslintignore",
    "chars": 28,
    "preview": "**/dist/*\n**/node_modules/*\n"
  },
  {
    "path": ".eslintrc",
    "chars": 115,
    "preview": "{\n  \"extends\": \"eslint-config-satya164\",\n\n  \"env\": {\n    \"browser\": true,\n    \"node\": true,\n    \"es6\": true,\n  }\n}\n"
  },
  {
    "path": ".flowconfig",
    "chars": 570,
    "preview": "[ignore]\n\n[include]\n\n[libs]\n\n[options]\nmunge_underscores=true\n\nesproposal.class_static_fields=enable\nesproposal.class_in"
  },
  {
    "path": ".gitignore",
    "chars": 78,
    "preview": "*~\n.DS_Store\n.sass-cache\n\nnpm-debug.log\nnode_modules/\nbower_components/\ndist/\n"
  },
  {
    "path": "LICENSE",
    "chars": 1081,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2015 Satyajit Sahoo\n\nPermission is hereby granted, free of charge, to any person ob"
  },
  {
    "path": "README.md",
    "chars": 104,
    "preview": "Monaco Editor boilerplate\n=========================\n\nA simple boilerplate for Monaco editor with React.\n"
  },
  {
    "path": "index.html",
    "chars": 439,
    "preview": "<!doctype html>\n<html lang='en'>\n\n<head>\n  <meta charset='utf-8' />\n  <title>Monaco Editor Sample</title>\n  <style type="
  },
  {
    "path": "package.json",
    "chars": 1429,
    "preview": "{\n  \"name\": \"monaco-editor-boilerplate\",\n  \"version\": \"1.0.0\",\n  \"private\": true,\n  \"description\": \"Boilerplate for proj"
  },
  {
    "path": "serve.config.js",
    "chars": 120,
    "preview": "/* eslint-disable import/no-commonjs */\n\nmodule.exports = {\n  port: 3000,\n  devMiddleware: { publicPath: '/dist/' },\n};\n"
  },
  {
    "path": "src/App.js",
    "chars": 3518,
    "preview": "/* @flow */\n\nimport 'babel-polyfill';\nimport * as React from 'react';\nimport dedent from 'dedent';\nimport Editor from '."
  },
  {
    "path": "src/Editor.css",
    "chars": 1095,
    "preview": "/* Common overrides */\n.monaco-editor .line-numbers {\n  color: currentColor;\n  opacity: .5;\n}\n\n/* Light theme overrides "
  },
  {
    "path": "src/Editor.js",
    "chars": 11062,
    "preview": "/* @flow */\n\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.main';\nimport { SimpleEditorModelResolverServic"
  },
  {
    "path": "src/config/eslint.json",
    "chars": 2895,
    "preview": "{\n  \"parser\": \"babel-eslint\",\n  \"parserOptions\": {\n    \"sourceType\": \"module\"\n  },\n  \"env\": {\n    \"es6\": true\n  },\n  \"pl"
  },
  {
    "path": "src/index.js",
    "chars": 298,
    "preview": "/* @flow */\n\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\n\nconst render = "
  },
  {
    "path": "src/themes/dark.js",
    "chars": 2711,
    "preview": "/* @flow */\n\nexport default {\n  base: 'vs-dark',\n  inherit: true,\n  rules: [\n    { token: '', foreground: 'd9d7ce' },\n  "
  },
  {
    "path": "src/themes/light.js",
    "chars": 2706,
    "preview": "/* @flow */\n\nexport default {\n  base: 'vs',\n  inherit: true,\n  rules: [\n    { token: '', foreground: '5c6773' },\n    { t"
  },
  {
    "path": "src/vendor/eslint.bundle.js",
    "chars": 3279134,
    "preview": "\"use strict\";var _isInteger=require(\"babel-runtime/core-js/number/is-integer\");var _isInteger2=_interopRequireDefault2(_"
  },
  {
    "path": "src/workers/eslint.worker.js",
    "chars": 576,
    "preview": "/* @flow */\n\nimport ESLint from '../vendor/eslint.bundle';\nimport config from '../config/eslint.json';\n\nself.addEventLis"
  },
  {
    "path": "src/workers/typings.worker.js",
    "chars": 7904,
    "preview": "/**\n * Worker to fetch typescript definitions for dependencies.\n * Credits to @CompuIves\n * https://github.com/CompuIves"
  },
  {
    "path": "webpack.config.js",
    "chars": 1995,
    "preview": "/* eslint-disable import/no-commonjs */\n\nconst webpack = require('webpack');\nconst path = require('path');\nconst MiniCss"
  }
]

About this extraction

This page contains the full source code of the satya164/monaco-editor-boilerplate GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 22 files (3.2 MB), approximately 830.5k tokens, and a symbol index with 2701 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!